Ferramentas de virtualização

Ferramentas de virtualização

Introdução

Nos últimos anos, com a evolução da informática, o poder de processamento dos computadores aumentou drasticamente. Entretanto, existem casos em que todo esse processamento não está sendo utilizado pelas máquinas, fazendo com que exista uma subutilização dos recursos computacionais.

Preocupados em procurar soluções que visam à diminuição dessa ociosidade de processamento, os administradores de redes tem utilizado a técnica da virtualização. O uso da virtualização representa a ilusão de várias máquinas virtuais (VMs) independentes, cada uma rodando uma instância de um sistema operacional virtualizado (SMITH; NAIR, 2005).

Esta técnica não é nova, iniciou-se pela IBM nos mainframes na década de 60, mas seu uso foi difundido nos anos 80, tendo em vista a resolução de problemas a um custo relativamente baixo.

O sucesso da virtualização baseou-se em alguns princípios. Primeiramente, a camada de virtualização, deve isolar uma máquina virtual da outra de modo que não haja interferência entre elas. Não é aceitável que o funcionamento de uma máquina virtual afete o desempenho de outra máquina virtual (GARFINKEL et al., 2003). Segundo, é necessário suportar uma variedade diferente de sistemas operacionais para acomodar os diferentes aplicativos populares existentes. Terceiro, o overhead introduzido pela camada de virtualização deve ser pequeno (GARFINKEL et al., 2003).

Atualmente, os sistemas virtualizados estão com seu espaço em ascensão devido ao fato de resolverem alguns pontos que hoje são críticos em diversas empresas como pode ser exemplificado: incompatibilidade entre hardware e software no que diz respeito a suas modificações com o decorrer do tempo; subutilização dos recursos computacionais pelos programas, ou seja, os programas legados não conseguem explorar a totalidade da capacidade dos hardwares atuais; dentro outros.

Virtualização é a palavra que faz brilhar os olhos dos executivos de TI de grandes empresas. Ela lidera o ranking das tecnologias, divulgado pelo Garther Consunlting.

Justificativa de uso

A administração dos desktops em qualquer organização sempre foi um desafio. Sempre preocupados em procurar meios para melhorar os processos, reduzir custos, aumentar desempenho e simplificar o gerenciamento os administradores de redes vem procurando novas soluções para atender esses problemas.

Essa complexidade de gerenciamento deve-se ao aumento dos números de usuários – inclusive remotos e moveis – e as atividades de gerenciamento associadas, envolvendo manutenção, reparos e upgrades de computadores, bem como cada vez mais ameaças à segurança.

O gerenciamento de áreas de trabalho está passando por uma transformação necessária em direção a virtualização. A virtualização de desktops (VDI) está sendo uma solução que proporciona uma capacidade de gerenciamento e controle de nível corporativo com uma experiência familiar ao usuário.

A virtualização de desktops segue os mesmos princípios básicos das virtualização de servidores – que permitem executar múltiplos sistemas operacionais em uma única máquina (PC). Mas há diferenças bastante significativas, já que cada usuário conta com seu próprio sistema operacional, como se fizesse uso de uma estação de trabalho convencional. (FILADORO, ADRIANO, 2007).

O VDI permite que as aplicações dos rodem em máquinas virtuais isoladas e ao mesmo tempo compartilhem recursos de hardware como CPU, memória, disco e rede. Cada usuário roda sua aplicação em seu próprio sistema operacional reduzindo as chances de que outro usuário possa interferir na sua execução. A tecnologia de virtualização de desktops separa o hardware do software e o hypervisor encapsula a aplicação e o sistema operacional em uma máquina virtual que roda em um servidor.

A figura 1 abaixo representa o que é a virtualização de desktops.

m613f4b05

Figura 1: Representação da Virtualização de Desktop

O VDI é de fato um avanço em relação a soluções de Terminal Server principalmente no aspecto referente á isolação do usuário final e independência de desempenho. Porém usuários que utilizam aplicações gráficas intensivas ou aplicações com requisitos de streaming de vide e áudio têm boas chances de não utilizar o VDI.

A idéia de utilização de VDI é para terminais em que existe uma grande ociosidade de processamento, fazendo com que não tenha o total aproveitamento dos recursos computacionais.

Hoje o principal fator para o encarecimento dos desktops é o operacional (manutenção, atualizações, suporte). Com isso o retorno do investimento (ROI) – calculo que quantifica os custos e os benefícios esperados de um projeto específico em um prazo determinado – pode ter seu prazo estendido.

Abaixo veremos algumas ferramentas de uso da virtualização.

Ferramentas

Atualmente as ferramentas para esse tipo de trabalho são inúmeras,dentre elas as mais comuns são para a virtualização de desktops, podemos citar as mais conhecidas como o Microsoft Virtual PC, programa gratuito e de fácil uso, outro programa de uso extremamente fácil e gratuito é o Virtual Box, com sua licença GNU.

Existe também o VMware, que usa o conceito da virtualização completa, uma característica do VMware é que ele tenta sempre que possível converter os comandos usados pelo sistema dentro da VM em comandos que o Host entenda e execute diretamente, ou seja, se dentro de uma VM o Windows tenta executar algum arquivo de som, o VMware captura esses dados e o executa na placa de som do micro hospedeiro, como se fosse um programa qualquer.

As empresas vêm utilizando não somente uma ferramenta de virtualização, mas várias para solucionar até problemas idênticos. Isso se deve ao fato das características de cada ferramenta, como modo de trabalho com o hardware, arquivos. Segundo pesquisas da levantamento feito pela revista EMA, o uso do VMware está em 80% dos casos de virtualização.

VMware

O VMware é hoje o software de virtualização para a plataforma x86 mais conhecido, com uma implementação completa de interface ao sistema convidado, o VMware é útil em diversas aplicações como:

  • Ambientes de desenvolvimento

  • Ambientes de suporte

  • Migração e Consolidação

  • Simulação de Instalações de Rede

  • Balanceamento de Carga

A forma de trabalho do VMware não é complexa, ele utiliza uma técnica batizada de “reescrita binária”, que examina as instruções antes de serem executadas. É utilizado uma abordagem hibrida para implementar a interface do monitor com máquinas virtuais, tudo isso por razões de desempenho.

O controle de exceção e gerenciamento de memória é realizado pela manipulação direta do hardware, simplificando é através do sistema anfitrião. A gerência de memória é feita diretamente pelo sistema convidado. Para assegurar que não ocorra nenhuma colisão de memória entre o sistema hospedeiro e hospedado, o VMware aloca uma parte da memória para uso exclusivo, assim o sistema convidado utiliza esse memória previamente alocada.

Usando os serviços de interrupção,IRQ, o VMware controla o sistema convidado. Sempre que uma exceção é causada no convidado, é examinada antes pelo monitor. As interrupções são enviadas para o sistema anfitrião, as geradas pelo sistema convidado são remetidas para o sistema convidado.

7bf89992

Figura: VMware Server | Fonte : Vmware Papers

O VMware Server é comercializado em 3 versões distintas :

  • VMware Workstation e VMware Player: Versões mais simples da máquina virtual. Indicado para ambientes de desenvolvimento, compatível com as arquiteturas INTEL e AMD 32 e 64 Bits. Apesar de serem as versões mais simples ambos tem suas particularidades. O VMware Workstation é adquirido através de licença já o VMware Player é de uso gratuito, sendo possível somente emular os sistemas e não criar.

m7ba31fc3

Figura: Vmware Workstation | Fonte: Hammersley, Eric, Professional Vmware Server, 2007.

  • WMware Server GSX ou WMware Server: Versão mais robusta, indicada para aplicações profissionais em pequena escala. Conta com boa parte dos recursos da versão Workstation, e adiciona recursos úteis ao seu uso em servidores, como o gerenciamento remoto (usando uma versão modificada do VNC). Isto resulta em perda de desempenho na interface gráfica.

af16fa1

Figura: Sistema de Trabalho VMware GSX | Fonte: Hammersley, Eric, Professional Vmware Server, 2007.

  • VMware Server ESX: Versão robusta, usado em servidores de grande porte. É um Sistema Operacional dedicado, Kernel proprietário baseado no SimOS. Ou seja ele roda diretamente sobre o hardware. Como características principais temos : Uma forte camada entre o hardware e o Sistema Operacional, particionamento do servidor físico em varias máquinas virtuais e controle total dos recursos do servidor.

m3cc6d646

Figura: Sistema de Trabalho VMware ESX | Fonte : VMware

Xen

Patrocinado pela Universidade de Cambridge, Inglaterra, vem se tornado uma das principais soluções de virtualização para Linux, atualmente na versão Xen 3. O ambiente Xen, faz implementação entre o Hardware e Software para plataforma X86,versão antiga do Xen. Com suporte a múltiplos sistemas convidados simultaneamente com excelentes desempenho e isolamento. Graças a seu baixo custo o Xen é o que especialistas esperavam para melhorar a virtualização no Linux.

Usando a virtualização completa, que envolve o mapeamento de chips de computador como o processador e o controlador do teclado, torna a máquina virtual independente de sua infra-estrutura física e por isso tem grande flexibilidade.

me47c396

Figura: Arquitetura do Xen | Fonte: Garcia, Juan & Willians, E. David – Virtualization with Xen,2007

O Xen é um sistema popular de virtualização que usa o modelo de paravirtualização, apesar de das versões 1.x utilizarem seus próprios drivers de dispositivos, a versão 2, concentrou-se em manter o hypervisor com o menor tamanha possível.(GARLOFF, KURT ,2006).

Com a nova versão do Xen alguns recursos foram incluídos:

  • Suporte a máquina SMP virtuais: Apesar de oferecer suporte a múltiplos processadores, era preso a um único CPU. Na versão atual já é possível mudar isso, existe a possibilidade de mudar o numero de CPU virtuais em tempo de execução.

  • Suporte a ACPI: Nas versões anteriores o suporte era rudimentar.

  • Melhor suporte a hardware: Correção com relação ao suporte a AGP e DRM (gráficos 3D).

  • Suporte a Arquitetura X86-64: A variante de 64 bits da arquitetura x86 elimina todas as restrições associadas ao espaço de endereçamento de 32 bits.

O Xen encontra-se em um acentuado grau de maturidade, pode ser utilizado em sistemas de produção. O seu código fonte está liberado sob a licença GNU. Atualmente o Xen suporta os sistemas Windows XP, Linux e Unix.

QEMU

O QEMU é um emulador de sistema muito poderoso, gratuito e livre. Com uma interface de extrema facilidade o emulador de sistema tem crescido muito dentro dos ambiente Windows. Utilizando comandos simples para tarefas que podem ser complicadas em outros emuladores.

Com a utilização da tradução dinâmica, o emulador converte partes do código para quer o processador execute o conjunto de instruções, como técnica o QEMU utiliza um grande poder de processamento.

O QEMU pode trabalhar com a emulação total do sistema ou emulação no modo usuário.

  • Emulação total do Sistema: Possibilidade da emulação de um sistema completo,processador e periféricos. Utilizando-se a emulação total, o emulador pode ser utilizado para rodar os diversos sistemas operacionais.

6497d092

Figura : Exemplificação do Qemu | Fonte : Laureano, Mauro, Máquinas Virtuais e Emuladores, 2008

  • Emulação no modo de usuário: Opção disponível somente para o sitema Linux, nesse modo o emulador pode executar processos do Linux compilados para uma plataforma em outra, um programa compilador em uma arquitetura x86 pode ser executado em um PowerPC:

m2e5348e7

Figura : Emulação no modo de usuário | Fonte : Laureano, Mauro, Máquinas Virtuais e Emuladores, 2008

O Qemu tem grandes característica que o tornam peculiar dentro das podemos citar: ele não requer alterações ou otimizações no sistema hospedeiro(anfitrião), facilmente utilizado e suporte a auto-emulação – é possível chamar o QEMU de dentro de outro QEMU.

Outras ferramentas

Além das ferramentas citadas em itens anteriores, existem outras que estão crescendo não só no mundo acadêmico mas em industrias. Dentre elas temos : Bochs, Microsoft Virtual PC .

Bochs

Simula totalmente a arquitetura x86, configurado para funcionar com CPU simples como 386 até a arquitetura AMD64. O Bosh tem como característica a interpretação de todas as instruções, desde o processo de boot. A desvantagem do Bosh é que não existe uma técnica para a aceleração da emulação, isso resulta em um sistema convidado lento, pois as instruções x86 são executadas em software. Escrito em C++, torna-o um dos mais versáteis emuladores disponíveis, mas com a falta de performance seu utilização para fins profissionais acabou limitada.

Microsoft Virtual Server e Virtual PC

São as ferramentas da Microsoft para máquinas virtuais, sendo o Virtual PC uma ferramenta que suporta o Windows sobre computadores Macintosh. Ambos precisam de um sistema anfitrião.

Comparativos de custo

Conforme tabela abaixo, divulgada pela Revista PCWORLD Novembro 2006, veremos o custo de implementação de algumas das principais ferramentas utilizadas pelas empresas (tomando como base um ambiente de 50 desktops virtuais):

Fornecedor
Produto
Preço
Citrix

XenDesktop Stantard

US$ 5,05 MIL

Acess Essentials

US$ 15,5 MIL

Xen Server

Gratuito

Xen Desktop

Gratuito
Microsoft

Virtual PC

Gratuito
VMware

Microsoft Application Virtual

US$ 10(por desktop)

VMware Server(servidores)

Gratuito

VMware Player(desktop)

Gratuito

Tabela : Custos de Implementação da Virtualização | Fonte: Revista PC WORLD, Novembro de 2006, pag 47

Referências

SMITH, J. E.; NAIR, R. The Architecture of Virtual Machines. p. 32-38, maio 2005.

FILADORO, A. Vantangens da virtualização de desktops, 2008. Disponível em:
http://imasters.uol.com.br/artigo/10888/tecnologia/10_vantagens_da_virtualizacao_de_desktops
Acesso em : 19 de março de 2009.

GARFINKEL, T.; PFAFF, B.; CHOW, J.; ROSENBLUM, M.; BONEH, D. T.: A Virtual Machine-Based Platform for Trusted Computing. 2003.

Por Bruno Macagnani <brunomacagnani [at]gmail.com>

Veja também:

Uma introdução ao Xen
O Xen é um monitor de máquinas virtuais paravirtualizador (VMM) livre ou “hypervisor”, para a arquitetura de processadores x86. O Xen pode executar múltiplas máquinas virtuais com segurança em uma única máquina física, com performance próxima à nativa. Sua função é virtualizar uma máquina física para um sistema real. Ou seja, os sistemas clientes são reais, mas rodando sobre uma máquina simulada, virtual.
https://www.hardware.com.br/artigos/xen/

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X