William J. Bennett - O livro das virtudes para Crianças.pdf
Virtualização
1. JORGE HENRIQUE BARUCHI – RA 0520242
COMPARATIVO ENTRE FERRAMENTAS DE
VIRTUALIZAÇÃO
FACULDADE DE JAGUARIÚNA
NOV 2008
2. JORGE HENRIQUE BARUCHI – RA 0520242
COMPARATIVO ENTRE FERRAMENTAS DE
VIRTUALIZAÇÃO
Monografia apresentada à disciplina
“Trabalho de Conclusão de Curso”, do Curso
de Ciência da Computação da Faculdade de
Jaguariúna, sob a orientação do Prof. Carlos
Viviani, como exigência parcial para conclusão
do curso de graduação.
FACULDADE DE JAGUARIÚNA
NOV 2008
2
3. AGRADECIMENTOS
A realização deste TCC contou com o apoio e estímulo de muitas pessoas: Professores,
amigos, familiares, onde cada um, ao seu modo, contribui para que eu pudesse encontrar o
incentivo necessário para superar os obstáculos e as dificuldades que ao longo do curso
surgiram.
Deixo aqui, o meu agradecimento a todas as pessoas que, direta ou indiretamente
contribuíram para que este trabalho fosse concluído.
Algumas pessoas foram fundamentais:
Primeiramente, agradeço a Deus por ter me dado a oportunidade de estar no mundo e ter
me ajudado a chegar até aqui e vencer mais essa etapa da minha vida.
A minha família, especialmente meus pais, Geraldo e Marilene, pela educação que me
deram e por tudo que aprendi com eles até o momento. Creio que nunca poderei retribuir
todos os momentos felizes que vocês me proporcionaram, mas sempre terão meu
reconhecimento.
Ao meu orientador Prof. Carlos Viviani, pela oportunidade, paciência, amizade e pelas
orientações que foram essenciais para a minha graduação.
A todos os outros professores do curso de Ciência da Computação da FAJ pelos
conhecimentos adquiridos durante o curso.
Em geral, agradeço a todos que até o presente momento, fizeram parte desta minha
caminhada e que de certo modo contribuíram para o desenvolvimento do meu caráter e modo
de pensar.
3
4. BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalho
de conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências da
Computação da Faculdade de Jaguariúna, Jaguariúna.
RESUMO
A virtualização não é uma novidade, iniciou-se com a IBM na década de 60 e com o passar
dos anos vem se aprimorando, tornando-se hoje uma ferramenta indispensável no dia a dia de
um profissional da área de TI que precisa maximizar seus recursos sem aumentar os custos.
A virtualização permite que um único computador, simule vários outros, aumentando as
possibilidades e aproveitamento de um mesmo computador.
Atualmente existem diversas ferramentas que podem auxiliar na virtualização de sistemas, o
que torna a escolha de uma delas uma tarefa difícil. Desta forma, o objetivo do presente
documento é auxiliar nesta escolha, mostrando algumas das ferramentas na prática e os
principais conceitos desta tecnologia.
Palavras-chaves: Sistemas Operacionais, Virtualização, VMWARE, VIRTUALBOX,
VIRTUALSERVER.
4
5. BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalho
de conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências da
Computação da Faculdade de Jaguariúna, Jaguariúna.
ABSTRACT
The virtualization is not new, began with IBM in the 60s and over the years has evolved,
becoming today an indispensable tool in everyday life of a professional in the area of IT that
need to maximize its resources without increasing costs.
Virtualization lets a single computer, simulating several others, increasing more possibilities
to a single computer.
Currently there are several tools that can assist with the virtualization system, which makes
the choice of either a difficult task. Thus, the purpose of this document is to help make this
choice, showing some of the tools in practice and the told the concepts of this technology.
Key-Words: Operational System, Virtualization, VMWARE, VIRTUALBOX,
VIRTUALSERVER.
5
6. SUMÁRIO
1 INTRODUÇÃO.................................................................................................................. 9
2 A VIRTUALIZAÇÃO ..................................................................................................... 10
2.1 O que é Virtualização.................................................................................................. 10
2.2 Emuladores.................................................................................................................. 12
2.3 Técnicas de Virtualização ........................................................................................... 13
2.4 Tecnologias facilitadoras do trabalho de virtualização ............................................... 15
2.5 Propriedades de VMM’s ............................................................................................. 16
2.6 Uso e aplicações de VM’s........................................................................................... 17
2.7 Ferramentas para Virtualização................................................................................... 19
3 EXPERIMENTO COMPUTACIONAL........................................................................ 20
3.1 Visão geral................................................................................................................... 20
3.2 Ambiente de realização dos testes............................................................................... 21
3.3 Ferramentas selecionadas............................................................................................ 22
3.4 Instalação do VIRTUALBOX..................................................................................... 24
3.5 Instalação do VMWARE ............................................................................................ 26
3.6 Instalação do VIRTUALSERVER.............................................................................. 28
3.7 Preparação das VM’s .................................................................................................. 30
3.8 Comparativo entre VMM’s ......................................................................................... 30
3.9 Teste final.................................................................................................................... 32
4 CONCLUSÃO .................................................................................................................. 36
5 REFERÊNCIAS BIBLIOGRÁFICAS........................................................................... 37
6 ASSINATURAS ............................................................................................................... 38
6
7. LISTA DE FIGURAS E TABELAS
Figura 1 – Arquitetura tipo I.....................................................................................................11
Figura 2 – Arquitetura tipo II....................................................................................................11
Figura 3 – Anéis(RINGS) de proteção da arquitetura x86 atual...............................................15
Figura 4 - Arquitetura Intel VT-x.............................................................................................16
Figura 5 – Ambiente de comparativo de VMM’s.....................................................................20
Figura 6 – Teste Comparativo Final.........................................................................................21
Figura 7 – Utilização da ferramenta PCMark...........................................................................23
Figura 8 – Instalando o VIRTUALBOX...................................................................................24
Figura 9 – Tela principal do VIRTUALBOX...........................................................................25
Figura 10 – Instalando o VMWARE........................................................................................26
Figura 11 – Acessando o VMWARE........................................................................................27
Figura 12 – Interface de controle do VMWARE......................................................................27
Figura 13 – Instalando o IIS no Windows 2003 Server............................................................28
Figura 14 – Instalando o VIRTUALSERVER..........................................................................28
Figura 15 – Acessando o VIRTUALSERVER.........................................................................29
Figura 16 – Gerenciando o VIRUTALSERVER......................................................................29
Figura 17 – Envio de arquivo via FTP......................................................................................32
Figura 18 – Diagrama do Banco de Dados...............................................................................33
Figura 19 – Exemplo de QUERY.............................................................................................33
Tabela 1 – Hardware do Micro Físico.....................................................................................21
Tabela 2 – Softwares Utilizados...............................................................................................22
Tabela 3 – Testes Realizados....................................................................................................23
Tabela 4 – Configuração das VM’s..........................................................................................30
Tabela 5 – Dados comparativos entre VMM’s.........................................................................31
Tabela 6 – Resultados Finais (Não-simultâneos).....................................................................34
Tabela 7 – Testes finais (Simultâneos).................................................................................... 34
7
8. LISTA DE ABREVIATURAS E SIGLAS
FAJ Faculdade de Jaguariúna
VMM Virtual Machine Monitor
VM Virtual Machine
SO Sistema Operacional
TI Tecnologia da Informação
CPU Central Processor Unit
IP Internet Protocol
E/S Entrada e Saída
SCSI Small Computer System Interface
FTP File Transfer Protocol
IIS Internet Information Services
HD Hard Disk
USB Universal Serial Bus
IE Internet Explorer
8
9. 1 INTRODUÇÃO
Nos últimos anos, a capacidade de processamento dos computadores tem aumentado
bastante. Entretanto, toda a capacidade adquirida não tem sido totalmente aproveitada. Temos
situações onde, durante a maioria do tempo o hardware que poderia ser usado para o
processamento de aplicações não é utilizado como desejaríamos que fosse.
A virtualização iniciou-se pela IBM nos mainframes na década de 60, mas as empresas
só começaram a utilizá-la após a década de 80, tendo em vista a possibilidade resolver certos
problemas a um custo menor.
Desde então várias soluções, tanto comerciais quanto acadêmicas, foram propostas.
Atualmente, a maioria dessas soluções utiliza as técnicas conhecidas como Virtualização
completa e Para-virtualização.
No geral, a Virtualização permite ao administrador instalar e usar ao mesmo tempo mais
de um SO na mesma máquina. O objetivo é aumentar os serviços de um ambiente de TI, com
menos manutenções físicas. Para isso existem softwares que fazem esse gerenciamento e que
faremos uso e testes dos mesmos. Vale lembrar que além da redução de custos e aumento das
possibilidades, a virtualização centraliza toda e qualquer manutenção num único
equipamento.
Nos capítulos a seguir, veremos os principais conceitos da virtualização, a utilização de
algumas ferramentas e testes demonstrando as principais características de cada uma.
9
10. 2 A VIRTUALIZAÇÃO
2.1 O que é Virtualização
A Virtualização é uma “técnica que combina ou divide recursos computacionais para
prover um ou mais ambientes operacionais de execução”, segundo Nanda Chiueh [2006]. Os
ambientes criados através dessa técnica são chamados máquinas virtuais.
Dentre os conceitos envolvidos no estudo de máquinas virtuais, o de VMM é um dos
principais. O monitor é uma camada de software inserida entre o sistema virtual (SO GUEST)
e o hardware da máquina física. Essa camada faz uma interface entre os possíveis sistemas
virtuais (SO GUEST) e o hardware que é compartilhado por eles. A VMM é responsável por
gerenciar todas as estruturas de hardware, como MMU, dispositivos de E/S, controladores
DMA, criando um ambiente completo, onde os sistemas virtuais executam.
Os VMM’s podem ser classificados de várias maneiras. As VMM’s como o VMWARE
ESX SERVER e emuladores como o BOCHS apresentam uma abstração de hardware idêntica
ao hardware subjacente. Para chegar a um nível de abstração tão alto, alguns monitores
inserem no SO hóspede (HOST) DEVICE DRIVERS que serão usados pelo sistema virtual
(SO GUEST) através do VMM. Já outros VMM’s apresentam uma interface diferente do
hardware subjacente. A máquina virtual Java, por exemplo, tem uma arquitetura totalmente
independente do hardware sobre o qual executa.
“Outra classificação de VMM’s se refere à plataforma sobre a qual eles executam.
Segundo essa classificação, as máquinas virtuais podem ser de dois tipos” [King, 1992]:
• Tipo I - O VMM é implementado diretamente sobre o hardware físico subjacente. Os
VMM’s XEN e VMWARE ESX SERVER são exemplos desse tipo de VM’s;
• Tipo II - O VMM é implementado completamente sobre o SO hóspede (HOST).
Exemplos desse tipo de máquinas virtuais são o VMWARE SERVER e o
VIRTUALBOX.
10
11. As Figuras 1 e 2 mostram esquemas das arquiteturas de Tipo I e Tipo II.
Figura 1 - Arquitetura tipo I
Figura 2 - Arquitetura tipo II
Algumas modificações podem ser inseridas nas arquiteturas descritas anteriormente
com o objetivo de aumentar o desempenho das máquinas virtuais. Essas modificações geram
arquiteturas híbridas. Exemplos dessas arquiteturas podem ser encontrados em emuladores.
11
12. 2.2 Emuladores
Um emulador é um sistema que simula toda uma arquitetura computacional, de forma
que todas as instruções do sistema operacional emulado (SO GUEST) são traduzidas e
executadas no SO HOST. Comumente, emuladores são usados para testar o funcionamento de
programas escritos para arquiteturas diferentes daquelas em que o emulador executa.
A diferença entre emuladores e máquinas virtuais, está basicamente no nível de
abstração. Enquanto, em um emulador todas as instruções são convencionalmente traduzidas e
interpretadas e em VM’s as instruções são executadas no modo mais nativo possível.
Segundo Laureano [2006], emuladores podem ser classificados de várias formas:
• Emuladores de processador;
• Emuladores de sistemas operacionais;
• Emuladores de uma plataforma de hardware específica;
• Emuladores de videogames (consoles).
Como exemplo de emuladores de processadores, temos o BOCHS, que emula
processadores x86. Seu desempenho não é muito alto, devido ao fato de que as instruções são
interpretadas e executadas uma por uma. Sistemas como o BOCHS são mais usados como
simuladores, tendo mais utilidade em projetos de software baixo nível (LOW LEVEL).
Porém, temos também um tipo que não utiliza a tradução "instrução - por - instrução" e
sim a tradução de blocos de instruções para posterior execução nativa. Desse modo, não é
necessário uma re-tradução. Dentre os emuladores que se valem dessa técnica temos alguns
emuladores de sistemas operacionais, como o QEMU. Também são bastante conhecidos os
emuladores de consoles (videogames), como o EPSXE, o SNES9X e o ZSNES.
12
13. 2.3 Técnicas de Virtualização
Existem várias técnicas usadas na virtualização. As principais são virtualização
completa, paravirtualização e recompilação dinâmica. Essas técnicas serão detalhadas nos
sub-tópicos seguintes.
2.3.1 Virtualização completa
“Na virtualização completa, toda uma infra-estrutura do hardware subjacente é
virtualizada, de forma que não é necessário modificar o SO GUEST para que o mesmo
execute sobre o VMM” [Barham, 2006]. Podem ocorrer, entretanto, penalidades em relação
ao desempenho da máquina virtual, uma vez que já que o hardware é virtualizado, as
instruções devem ser interpretadas pelo VMM. Uma desvantagem dessa técnica na arquitetura
x86 é que a mesma não foi projetada tendo em vista a virtualização, mas sim teve uma
evolução a partir de versões anteriores. Assim, algumas instruções privilegiadas que executam
em modos diferentes (modo usuário ou modo supervisor) geram resultados diferentes
dependendo do modo em que executam. Uma solução abordada pelo VMWARE ESX
SERVER é verificar um pedaço do código que está sendo executado na máquina virtual e
modificar as instruções que poderiam resultar em erros. Essa solução é conhecida como
“BINARY PATCHING”.
2.3.2 Paravirtualização
A paravirtualização é um método que consiste em apresentar ao SO GUEST uma
arquitetura virtual que é similar, mas não idêntica à arquitetura física real. Essa solução
aumenta o desempenho das VM’s que a utilizam [Barham, 2006]. Entretanto, são necessárias
modificações nos sistemas operacionais convidados, que executam na atual arquitetura x86 e
ainda assim, as implementação necessárias devem ser compatíveis com os sistemas
convidados em utilização. Estas alterações fazem com que o SO GUEST saiba que está sendo
emulado, explicando assim o ganho de desempenho, ou seja, desta forma ele pode direcionar
as instruções de nível mais baixo direto para o hardware ao invés delas serem interpretadas
pelo VMM.
13
14. 2.3.3 Recompilação Dinâmica
Essa técnica, que é conhecida também pelo nome de tradução dinâmica, consiste em
traduzir durante a execução de um programa as instruções de um formato para outro. Uma
aplicação da técnica é vista em compiladores JIT (just-in-time), que traduzem de uma
linguagem BYTECODE para código nativo da CPU onde o compilador executa. Essa
recompilação é feita em vários passos, descritos em:
• Em um primeiro momento, o código binário é scaneado para que seja identificada uma
seqüência de bits correspondente à seção de código do programa em execução;
• Logo após esse passo, os bits agrupados anteriormente são divididos em instruções,
juntamente com os parâmetros delas;
• Então, as instruções são transformadas para uma representação mais próxima do SO
HOST;
• Um código em uma linguagem de alto nível é gerado a partir da representação
anterior, código esse que é compilado e reescrito na linguagem nativa;
• Assim, temos uma seqüência de bits agora executável no SO HOST.
Emuladores como o QEMU utilizam essa técnica para aumentar seu desempenho. O
VMWARE WORKSTATION também utiliza essa técnica, recompilando apenas parte do
código, uma vez que boa parte dele pode executar nativamente (a arquitetura de hardware
subjacente é a mesma da VM). No VMWARE WORKSTATION apenas instruções que não
podem ser executadas diretamente são recompiladas.
Outro exemplo de recompilação dinâmica ocorre em interpretadores de linguagens, como no
SUN JVM, da linguagem JAVA. As instruções geradas para a máquina virtual e armazenadas
nos BYTECODES das classes Java são traduzidas e executadas no hardware subjacente.
14
15. 2.4 Tecnologias facilitadoras do trabalho de virtualização
Conforme citado anteriormente, a arquitetura x86 não foi projetada tendo em vista a
virtualização. Assim, alguns fabricantes (AMD e INTEL) propuseram novas arquiteturas que
dão suporte a essa tecnologia.
“Tradicionalmente, os processadores implementam 4 Níveis (RINGS, na terminologia
usada para execução de processos) de proteção”, segundo Torres [2007]. Quanto mais alto o
nível, menos privilégios para a execução de instruções são concedidos. O nível 0 (RING-0) é
geralmente usado pelo sistema operacional, níveis 1 e 2 pelos processos do sistema
operacional e o nível 3 pelas aplicações, como mostrado na Figura 3.
Figura 3 – Anéis (rings) de proteção da arquitetura x86 atual
A solução da INTEL para processadores da família x86-32 bits [Intel, 2007], consiste
em fornecer duas novas formas para operações da CPU:
• VMX ROOT OPERATION;
• VMX NON-ROOT OPERATION.
15
16. VMM’s executam operações do tipo “ROOT” no RING-0, enquanto que as VM’s
executam operações do tipo “NON-ROOT”, em níveis inferiores de prioridade (RING-1,
RING-2). Processadores equipados com essa tecnologia implementam diretamente em
hardware, métodos que possibilitam ao VMM a execução de instruções privilegiadas nos
SO’s GUEST. A Figura 4 ilustra melhor esta idéia:
Figura 4 - Arquitetura Intel VT-x
A AMD adotou uma postura semelhante à da INTEL. Na arquitetura AMD-V
(inicialmente AMD Pacifica), o processador mantém blocos de controle para os sistemas
convidados que são salvos quando instruções especiais são executadas. O VMM pode
customizar os privilégios de execução para cada um dos sistemas convidados.
2.5 Propriedades de VMM’s
Algumas propriedades dos VMM’s devem ser observadas para o funcionamento ideal
de uma máquina virtual.
• Isolamento - um processo em execução em uma VM não deve interferir no
funcionamento de outro processo em execução, tanto no VM quanto em outra VM.
Também é necessário que o VMM gerencie se o funcionamento de um processo numa
VM está comprometendo o desempenho de outras VM’s;
• Inspeção - o VMM deve ser capaz de ter acesso e controle a todas as informações dos
processos em execução na VM, como memória, estado da CPU e outros;
16
17. • Interposição - instruções podem ser inseridas pelo VMM em operações da VM. Um
exemplo é quando uma VM tenta executar uma instrução privilegiada. Instruções do
tipo "espera" podem ser inseridas na máquina virtual enquanto o VMM processa as
instruções privilegiadas;
• Eficiência - instruções "inofensivas" podem ser executadas diretamente no hardware,
por não interferir nas outras VM’s ou no VMM;
• Gerenciabilidade - possibilidade de gerenciar uma VM independente de outra VM,
dado que são entidades distintas;
• Compatibilidade do software - todo software escrito para executar sobre uma
plataforma deve ser passível de execução em uma VM que virtualiza essa plataforma;
• Encapsulamento - o VMM pode controlar totalmente processos em execução em
VM’s, podendo gerar "checkpoints" do sistema para possíveis recuperações pós-
falhas;
• Desempenho - inserir uma camada extra de software pode comprometer o
desempenho do SO GUEST, mas os possíveis benefícios de uso de máquinas virtuais
compensam os prejuízos.
2.6 Uso e aplicações de VM’s
A virtualização pode ser útil em vários ambientes:
• Ensino e aprendizagem – VM’s podem ser usadas no ensino de SO’s, bem como na
aprendizagem do funcionamento deles. Uma VM pode ser facilmente substituída por
outra VM caso ocorra algum erro durante o uso da mesma;
• HONEYPOTS e HONEYNETS - um HONEYPOT é um sistema colocado em uma
rede com o objetivo de ser comprometido. Uma HONEYNET é uma rede formada por
vários HONEYPOTS. A grande vantagem de se utilizar VM’s em uma HONEYNET é
não comprometer a rede real, sendo os ataques confinados às HONEYNETS. Assim,
quando um dos HONEYPOTS é comprometido, pode ser substituído por outro de
forma mais fácil;
17
18. • Consolidação de servidores - consolidar WORKLOADS de máquinas subutilizadas
em poucas máquinas, economizando hardware, gerenciamento e administração da
infra-estrutura;
• Consolidação de aplicações - aplicações legadas que necessitam executar em um
novo hardware, diferente do hardware para qual foram projetadas. Virtualizando o
hardware, essas aplicações podem continuar executando normalmente;
• SANDBOXING – VM’s podem prover um ambiente seguro e isolado para a execução
de aplicações não confiáveis, ou de fontes não seguras;
• Ambientes múltiplos de execução - a virtualização pode prover múltiplos ambientes
de execução e aumentar a disponibilidade de recursos para as aplicações;
• Hardware virtual - pode ser possível, através da virtualização, prover um hardware
que não exista no SO HOST, como drives SCSI virtuais, interfaces virtuais de rede e
outros;
• Múltiplos SO’s simultâneos - vários SO’s podem executar simultaneamente, fazendo
que uma gama maior de aplicações possa estar executando ao mesmo tempo;
• Migração de software - facilita a migração de software e aumenta a mobilidade de
softwares;
• APPLIANCES - algum indivíduo ou organização pode disponibilizar sua aplicação
escrita para um SO como um APPLIANCE (conjunto de softwares empacotados e
prontos para executar), distribuindo toda a infra-estrutura necessária para que sua
aplicação execute corretamente;
• TESTING - a virtualização torna possível produzir cenários de teste que são difíceis
de produzir em máquinas reais e assim facilitam o teste de software.
18
19. 2.7 Ferramentas para Virtualização
Atualmente podem ser encontradas várias alternativas para virtualização, dentre elas as
mais comuns são as de virtualização de software para desktops. Um exemplo seria o
MICROSOFT VIRTUALPC. Este é um sistema virtualizador de PC’s gratuito, o programa
apesar de simples é rápido e estável, além de passar a suportar oficialmente o WINDOWS
VISTA. Ele concorre com soluções como VMWARE e VIRTUALBOX, além dos mais
lentos como QEMU. Existe também a versão voltada para servidores, MICROSOFT
VIRTUAL SERVER 2005, onde esta necessita de uma distribuição Windows Server e de
mais recursos de hardware.
Já o VMWARE usa o conceito de virtualização completa. Sua característica é que ele
tenta sempre que possível converter os comandos usados pelo sistema dentro da VM em
comandos que o sistema HOST entenda e execute diretamente. EX: se o Windows dentro da
VM tenta tocar alguma coisa na placa de som, o VMWARE simplesmente captura os dados e
toca na placa de som "real" do micro, como se fosse outro programa qualquer. O mesmo se
aplica a todo tipo de instruções básicas, que são executadas diretamente pelo processador
principal. O VMWARE interpreta e converte instruções o mínimo possível. As novas versões
do VMWARE ESX SERVER, que se utilizam deste suporte de hardware à virtualização, são
instaladas diretamente no hardware, conseguindo assim, um desempenho semelhante à
paravirtualização.
O QEMU por sua vez é um emulador. Ele tenta processar todas as instruções, o que
acaba demorando mais tempo e fazendo com que o desempenho seja menor. Tecnicamente o
VMWARE consegue fazer com que o sistema GUEST rode com 60 a 90% do desempenho
que teria se estivesse rodando diretamente, enquanto o QEMU obtém de 5 a 10%. Para
emparelhar no desempenho o QEMU adotou um módulo adicional, o KQEMU, que faz com
que ele passe a funcionar de forma similar ao VMWARE, virtualizando as instruções básicas
do processador, ao invés de emular tudo. A vantagem desta ferramenta é que o QEMU é um
projeto OPEN-SOURCE, enquanto o VMWARE é um produto comercial.
O XEN utiliza a idéia de paravirtualização citada anteriormente o que em teoria permite
que o SO GUEST rode com uma redução de performance muito pequena (menos de 5%, na
maioria dos casos). O maior problema é que para rodar dentro do XEN é necessário que o SO
GUEST seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso do
VMWARE e do QEMU, o que o torna muito mais complicado de configurar que os seus
concorrentes.
Já BOCHS é outro emulador, este de micros x86 onde simula um PC dentro de uma
janela. Podendo rodar simultaneamente qualquer SO, sem o risco de danificar o seu
computador. É ideal para testar projetos de sistemas operacionais betas, como as novas
versões de Windows.
19
20. 3 EXPERIMENTO COMPUTACIONAL
3.1 Visão geral
O objetivo principal dos testes abordados foi identificar entre as ferramentas utilizadas
qual oferece melhor aproveitamento do hardware virtualizado e, em seguida, efetuar um
último teste visando que desempenho a VMM escolhida oferece quando comparada a uma
máquina física.
Para a realização dos testes foi preparado um ambiente onde em uma mesma máquina,
era possível escolher entre iniciá-la como servidor de virtualização ou desktop comum. Em
cada sistema, foram efetuadas configurações simulando um ambiente real de TI, ou seja,
situações que um profissional da área pode vir a se deparar. Inicialmente, pode-se dizer que o
SO Servidor foi utilizado como hospedeiro das VMM’s e o SO Desktop como parâmetro de
comparação, onde os testes realizados nas VM’s foram os mesmos realizados neste ambiente,
podendo assim, obter uma visão clara do desempenho das ferramentas de virtualização. Cada
VM foi testada individualmente para que esta obtivesse o desempenho máximo possível.
Na Figura 5, pode-se ter uma idéia de como este teste comparativo foi realizado.
Figura 5 – Ambiente de comparativo de VMM’s
20
21. Posteriormente, foi escolhida a VMM de maior desempenho e esta foi novamente
comparada com o SO Desktop, porém, utilizando serviços comuns em TI sendo, um Banco de
Dados simples e um servidor FTP. A idéia fica mais clara visualizando a Figura 6.
Figura 6 – Teste Comparativo Final
Os resultados dos testes mencionados foram apresentados na Tabela 5,6 e 7.
3.2 Ambiente de realização dos testes
Conforme Tabela 1, o ambiente onde foram realizados os testes dispunha dos seguintes
recursos de hardware:
HARDWARE DO MICRO FÍSICO
Processador AMD Semprom 2600+ 1.83Ghz Socket 462
Placa Mãe EliteGroup 741GX-M Chipset SiS 741GX/964L
Memória 2 Modulos Kingston 256+512MB DDR PC-3200
HD Samsung Spinpoint 80GB 7200 RPM
Placa de Rede Realtek 8139 10/100 Mbits
Placa de Vídeo ATI Radeon 9250 128MB 64Bits
Leitor de Mídia Samsung Super WriteMaster DVD-RW
Tabela 1 – Hardware do Micro Físico
A vantagem deste equipamento é que ele possui 2 módulos de memória de tamanhos
diferentes, tornando possível trabalhar com a quantidade de memória física do micro,
garantindo uma melhor integridade nos testes realizados, como veremos nos próximos
tópicos.
21
22. 3.3 Ferramentas selecionadas
A princípio, as primeiras ferramentas escolhidas foram as VMM’s a serem testadas e,
dentro das citadas anteriormente, foram escolhidas três. Todas as ferramentas escolhidas
operam sob a plataforma Windows, o que facilitou a realização dos testes. A relação completa
pode ser visualizada na Tabela 2.
SOFTWARES UTILIZADOS
VMM 1 VMware Server 1.7
VMM 2 Sun VirtualBox 2.0
VMM 3 Microsoft VirtualServer 2005
SO Servidor Windows Server 2003 Enterprise R2 SP2
SO Desktop e VM's Windows XP Profissional SP2
Benchmark FutureMark PCMark 2005
Banco de dados Microsoft SQL Server Express SP2
FTP Microsoft IIS 5.1
Tabela 2 – Softwares Utilizados
Vale lembrar que, as três VMM’s escolhidas são algumas das mais conhecidas
atualmente e utilizadas por muitos profissionais de TI para testes e consolidação de
servidores.
Como banco de dados, foi utilizando a versão gratuita do SQL SERVER por sua
interface amigável e sintaxe simples. A praticidade na utilização também se aplica ao servidor
FTP, rodando sobre o IIS, uma ferramenta disponível no Windows.
22
23. Conforme a Tabela 2, também foi escolhido um software de benchmark para testar as
VMM’s, sendo o PCMARK. Esta ferramenta, desenvolvida pela mesma empresa do
conhecido 3DMARK, oferece uma gama de testes muito úteis que simulam desde tarefas
simples a tarefas mais complexas, forçando os recursos do equipamento a desempenhar o
máximo de sua capacidade, oferecendo ao fim uma pontuação para cada item. Os testes
realizados com esta ferramenta podem ser visualizados na Tabela 3.
TESTES REALIZADOS
CPU HD Memória
Compactação de arquivo Inicialização do sistema Leitura de memória (16MB/8MB/192KB/4KB)
Descompactação de arquivo Carregar aplicação Gravação de memória (16MB/8MB/192KB/4KB)
Criptografar de arquivo Utilização Geral Cópia de memória (16MB/8MB/192KB/4KB)
Descriptografar de arquivo Verificação de vírus Latência (16MB/8MB/192KB/4KB)
Decodificação de imagem Gravação de arquivos
Codificação de Áudio
Testes Multithread (todos os anteriores)
Tabela 3 – Testes Realizados
A princípio, a configuração do PCMARK é simples e não requer muito conhecimento
técnico, basta seguir o assistente de configuração e aguardar o término da instalação.
Sua utilização também é simples, basta que você selecione os dispositivos que deseja
testar e iniciar o processo. Basicamente, todas as funções, incluindo a pontuação dos testes,
ficam visíveis na janela principal da ferramenta. Sua única particularidade é que, durante os
testes o sistema não deve executar nenhuma outra aplicação, do contrário o procedimento é
abortado. Pode se ter uma idéia da utilização da ferramenta visualizando a Figura 7.
Figura 7 – Utilização da ferramenta PCMark
23
24. O processo de configuração das VMM’s requer atenção individual, onde cada uma delas
possui pontos em particular que, durante o processo de instalação, devem ser configurados
corretamente. Estes pontos foram relacionados nos sub-tópicos seguintes.
3.4 Instalação do VIRTUALBOX
O processo de instalação desta VMM é composto de um assistente simples e de poucos
passos, porém foi necessária certa atenção no momento de selecionar quais componentes
adicionais deveriam ser instalados. Neste momento o assistente solicita que você selecione se
deseja ou não instalar os drivers virtuais da Controladora Rede e USB. Se neste momento,
ambos não forem selecionados, todas as VM’s criadas no VIRTUALBOX não poderão
compartilhar a placa de rede e as portas USB da máquina hospedeira, tornando difícil sua
conexão com outras máquinas. Na figura 8, pode-se visualizar o momento onde o assistente
solicita estas informações.
Figura 8 – Instalando o VIRTUALBOX
Após selecionar os componentes adicionais, terá inicio a instalação da ferramenta e ao
seu término o assistente solicita que a máquina física seja reiniciada.
Após todos estes passos, a ferramenta estará pronta para utilização. Onde o usuário
poderá facilmente:
• Criar e gerenciar uma VM, atribuindo os recursos que desejar (RAM, HD,
Mapeamento de unidades Lógicas, etc.);
• Visualizar ScreenShots e Logs das VM’s, visualizar informações sobre os discos
virtuais a fins de gerenciamento.
24
25. Foi observado que, embora sua interface seja muito amigável e a ferramenta disponha
de muitos recursos para controlar a VM em utilização, esta não possui um método para acesso
remoto a VMM, ou seja, a primeira impressão é que a ferramenta foi projetada apenas para
uso local, o que dificulta sua utilização e ambientes tecnológicos.
A última questão abordada pode ser contornada utilizando recursos de
compartilhamento da área de trabalho. O único problema desta solução (se tratando de um
servidor) é garantir que somente esta aplicação fique disponível para o utilizador, porque do
contrário, o utilizador terá acesso a todas as demais funções da máquina física, causando
impacto direto na segurança do ambiente em questão.
Outro fator que dificulta a utilização do VIRTUALBOX em ambientes de TI é a
ausência de um auditor de VM’s que, em caso de paradas críticas (como um reboot
automático ou instalação de updates que necessitam reboot), tem como função desligar
previamente as VM’s a fim de evitar perda de dados. Desta forma, assim que a máquina física
volta ao seu funcionamento normal, o auditor automaticamente inicia as VM’s.
Infelizmente, este fator não pode ser contornado com recursos ou softwares de terceiros,
sendo necessária uma auditoria humana para que este problema seja contornado.
Pode-se ter uma idéia das funções do VIRTUALBOX, visualizando a Figura 9.
Figura 9 – Tela principal do VIRTUALBOX
25
26. 3.5 Instalação do VMWARE
O processo de instalação do VMWARE também dispõe de um assistente muito simples,
até mais do que a ferramenta citada anteriormente. Este assistente traz como padrão uma
instalação completa, evitando assim que componentes críticos deixem de ser instalados
causando um impacto significativo no funcionamento das VM’s. A nível de conhecimento, foi
selecionada a opção de instalação customizada para visualizar os componentes instalados
onde, dentre eles, nota-se (visualizar Figura 10) que a VMM e a interface de controle são
componentes distintos, possibilitando o acesso remoto as VMM e facilitando seu
gerenciamento.
Figura 10 – Instalando o VMWARE
Terminada a instalação, também será solicitado que a máquina física seja reiniciada e
após estes passos a ferramenta estará pronta para utilização.
26
27. Conforme a Figura 11, ao acessarmos a interface de controle, esta solicita se deseja
acesso local ou remoto e se solicitado acesso remoto deverá ser informado o endereço de IP
da VMM, o usuário e a senha para acesso. Neste caso, é preciso verificar as configurações do
firewall da máquina e habilitar a comunicação pela porta 902.
Figura 11 – Acessando o VMWARE
A utilização do VMWARE se faz a mais complicada de todas as ferramentas. Este fator
dá se ao fato de que todas as funções estão localizadas em menus e nem sempre sua
disposição é intuitiva, o que obriga o utilizador a gastar um pouco mais de tempo para se
familiarizar com os recursos da ferramenta.
As ferramentas disponíveis no VMWARE são semelhantes as do VIRTUALBOX.
Porém no VMWARE, o auditor de VM’s está presente. Para seu funcionamento, deve-se
dizer para cada VM individualmente, a ação a ser tomada em caso de uma parada crítica da
máquina física.
Na Figura 12, podemos visualizar a interface de controle e suas funções.
Figura 12 – Interface de controle do VMWARE
27
28. 3.6 Instalação do VIRTUALSERVER
Esta ferramenta é a mais complicada de ser configurada em relação às demais, com
várias particularidades que devem ser consideradas. Uma delas é a necessidade de que o
serviço IIS da Microsoft esteja instalado na máquina física. Porém este procedimento é muito
simples e foi realizado pelo Painel de Controle do Windows 2003 Server sem maiores
problemas. A Figura 13 mostra o momento onde esta ferramenta é adicionada ao sistema.
Figura 13 – Instalando o IIS no Windows 2003 Server
Configurado o IIS, os próximos passos foram mais simples, seguindo a configuração
padrão sugerida pelo assistente de instalação onde, é apresentada uma confirmação da porta a
ser utilizada pela ferramenta para acesso remoto e se deve ser adicionada uma exceção no
Firewall do Windows para tal porta. (Figura 14)
Figura 14 – Instalando o VIRTUALSERVER
28
29. Foi verificado que, dentre todas as ferramentas, esta foi a que apresentou melhor
acessibilidade e usabilidade a primeiro momento, mesmo porque o gerenciamento da
ferramenta é feita pelo browser IE 6 (ou mais recente) e todas as principais funções ficam
bem visíveis ao usuário. Ao acessar o console da ferramenta é solicitado um usuário e senha
que pode ser qualquer usuário da máquina física com perfil administrativo e em seguida é
exibida a tela principal da ferramenta, conforme Figura 15 e 16.
Figura 15 – Acessando o VIRTUALSERVER
Figura 16 – Gerenciando o VIRUTALSERVER
Os recursos disponíveis nesta ferramenta se assemelham muito ao VMWARE,
incluindo o auditor de VM’s. Porém, neste caso não é necessário que seja definido para cada
VM individualmente o comportamento do auditor, basta ativá-lo ou desativá-lo e ele aplicará
a regra para todas as VM’s respeitando seu estado no momento da parada. Exemplo: se no
momento da parada existiam 3 VM’s em funcionamento e 1 desligada, ao reinicializar, o
auditor somente iniciará as 3 VM’s e manterá a outra desligada.
29
30. 3.7 Preparação das VM’s
Os passos para se criar uma VM no VMWARE, VIRTUALBOX e VIRTUALSERVER
não diferem muito de um para o outro, não tendo necessidade de detalhar cada processo,
passo a passo. As configurações realizadas podem ser visualizadas na Tabela 4, que resume os
passos necessários para se criar uma VM.
Configuração das VM's
Etapas Configuração selecionada
Passo 1 - Selecionar SO virtualizado Windows XP Professional
Passo 2 - Definir quantidade de RAM compartilhada 256 MB
Passo 3 - Criar HD virtual 3 GB
Passo 4 - Mapear controladora de Rede Realtek 8139 10/100 Mbits (Placa de rede principal)
Tabela 4 – Configuração das VM’s
Posteriormente, em cada VM foi instalado o sistema WINDOWS XP PRO utilizando
imagens ISO mapeadas pelas VMM’s e configurado a ferramenta PCMARK, comentada
anteriormente. Também foram instalados pequenos softwares complementares nas VM’s que
proporcionam melhor interatividade entre ela e o SO HOST, onde este é foi fornecido pelas
próprias VMM’s que gerenciam a VM. Embora estes procedimentos sejam simples, foi
necessário um pouco mais de atenção durante o processo. Após a instalação do sistema, toda
comunicação foi feita pela rede, visto que para outras estações, não há diferença lógica entre
um sistema virtual ou físico.
Após o término destas configurações, deram inicio os testes comparativos.
3.8 Comparativo entre VMM’s
Inicialmente, foi reduzida a memória da máquina física para 256MB, como nas VM’s, e
efetuado um teste com a ferramenta PCMARK sob o Sistema Desktop. Desta forma,
saberemos qual a perda de desempenho que uma VMM oferece quando comparada a um
sistema não virtualizado.
Logo depois de finalizado o teste, novamente foi adicionado toda a memória na
máquina física e sob o Sistema Servidor, efetuamos o mesmo teste com o PCMARK, uma por
vez, em cada VM das VMM’s configuradas.
Outros fatores foram analisados e comparados entre Sistema Desktop e VMM’s, como
tempo levado para cópia de arquivos em rede, tempo de boot do sistema e tempo que o
sistema levou para ser instalado.
30
31. Os resultados dos testes foram relatados na Tabela 5.
DADOS COMPARATIVOS ENTRE VMM's
Testes SO Desktop VMware VirtualBox VirtualServer
Teste 1 - Tempo de Inst. do Windows XP 20 minutos 23 minutos 24 minutos 68 minutos
Teste 2 - Tempo de Boot 25 segundos 32 segundos 30 segundos 35 segundos
Teste 3 - Tempo de cópia em rede (50MB) 16 segundos 18 segundos 20 segundos 19 segundos
Teste 4 - Pontuação PCMark (RAM) 3892 3521 2336 1683
Teste 5 - Pontuação PCMark (CPU) 2409 2136 2192 2206
Teste 6 - Pontuação PCMark (HD) 5388 4919 4252 4485
Resultado final PCMark (Soma de pontos) 11689 10576 8780 8374
Tabela 5 – Dados comparativos entre VMM’s
Na última linha da tabela, podemos observar a pontuação final dos testes segundo a
ferramenta PCMARK onde, o VMWARE foi o que chegou mais próximo do Sistema
Desktop. Nas outras VMM’s podemos visualizar que a perca de desempenho, segundo o
PCMARK, é bem significativa, chegando em média a 2000 pontos.
Nos demais testes, podemos observar que:
1. O VMWARE também se fez mais produtivo, com exceção do Teste 2, onde o
VIRTUALBOX obteve um tempo ligeiramente melhor que o VMWARE.
2. A VMM que teve o pior desempenho em rede foi o VIRTUALBOX, confirmando que
talvez esta ferramenta não seja a mais indicada em ambientes de TI.
3. O VIRTUALSERVER obteve um resultado péssimo no Teste 1 (sendo este repetido
algumas vezes para confirmar o resultado), o que pode demonstrar certa instabilidade
de desempenho dependendo do processo.
Por fim, com base nestes resultados, a ferramenta escolhida como a de melhor
desempenho foi o VMWARE.
31
32. 3.9 Teste final
Selecionado a VMM de melhor desempenho, o último teste tem como objetivo extrair o
máximo da ferramenta, utilizando mais de um sistema virtualizado ao mesmo tempo, onde,
cada um estará configurado com um tipo de serviço. Abaixo é reapresentada a Figura 6, que
demonstra a estrutura dos testes.
Figura 6 – Teste Comparativo Final
Para realizar este ultimo teste, reduzimos a memória da máquina física para 512MB
quando testado o Sistema Desktop e foi adicionada mais uma VM no VMWARE onde, uma
delas ficou com 160MB de memória e a outra com 384MB. Estas alterações garantem que o
ambiente virtualizado proverá de recursos similares ao do Sistema Desktop, garantindo um
teste mais eficaz e um resultado mais coerente.
No Sistema Desktop e no Sistema GUEST 1, foi configurado um servidor FTP rodando
sob IIS, com objetivo de medir o tempo de resposta da máquina ao receber um arquivo com
aproximadamente 50MB. O procedimento utilizado pode ser visualizado na Figura 17.
Figura 17 – Envio de arquivo via FTP
32
33. Também no Sistema Desktop, foi configurado um pequeno Banco de Dados, com o
objetivo de verificar o tempo que uma QUERY, inserindo 25000 linhas, leva para ser
executada. Este configuração foi replicada no Sistema GUEST 2.
Na Figura 18, temos um diagrama do banco de dados configurado nestes ambientes,
onde podemos ver que, embora seja um banco simples, este proporciona uma ótima visão de
um Banco de Dados real.
Figura 18 – Diagrama do Banco de Dados
A QUERY utilizada para o teste de banco assemelha-se com o exemplo da Figura 19:
Figura 19 – Exemplo de QUERY
Após preparar o ambiente, foram realizados dois tipos de testes, sendo:
33
34. Não-simultâneo: Primeiramente foi analisado o tempo que o Sistema Desktop e o
Sistema GUEST 1 levaram para receber o arquivo de 50MB pelo servidor FTP. Na seqüência,
foi analisado o tempo que o Sistema Desktop e o Sistema GUEST 2 levaram para processar a
QUERY de 25000 linhas. Sendo que, todos os testes foram executados individualmente.
Podemos visualizar os resultados na Tabela 6.
RESULTADOS FINAIS (NÃO-SIMULTÂNEOS)
Testes Máquina Física Máquina Virtual 1 (FTP) Máquina Virtual 2 (SQL)
Teste 1 - Transferência de arquivo via FTP (50MB) 20 segundos 22 segundos N/A
Teste 2 - Transferência de arquivo via FTP (50MB) 20 segundos 22 segundos N/A
Teste 3 - Transferência de arquivo via FTP (50MB) 20 segundos 22 segundos N/A
Teste 4 - Execução SQL inserindo 25000 linhas 18 segundos N/A 45 segundos
Teste 5 - Execução SQL inserindo 25000 linhas 16 segundos N/A 57 segundos
Teste 6 - Execução SQL inserindo 25000 linhas 15 segundos N/A 50 segundos
Resultado dos testes FTP (Média) 20 segundos 22 segundos N/A
Resultado dos testes SQL (Média) 16,3 segundos N/A 50,6 segundos
Tabela 6 – Resultados Finais (Não-simultâneos)
Simultâneo: Segue o mesmo princípio dos testes anteriores, porém simultaneamente.
Desta forma, o Sistema Desktop teve que processar as solicitações de FTP e Banco ao mesmo
tempo, assim como, o Sistema GUEST 1 e GUEST 2, ambos ligados, tiveram que cada um
processar a tarefa a eles designada num mesmo momento. Podemos visualizar os resultados
dos na Tabela 7.
RESULTADOS FINAIS (SIMULTÂNEOS)
Testes Máquina Física Máquina Virtual 1 (FTP) Máquina Virtual 2 (SQL)
Teste 1 - Transferência de arquivo via FTP (50MB) 23 segundos 24 segundos N/A
Teste 2 - Transferência de arquivo via FTP (50MB) 22 segundos 24 segundos N/A
Teste 3 - Transferência de arquivo via FTP (50MB) 23 segundos 24 segundos N/A
Teste 4 - Execução SQL inserindo 25000 linhas 32 segundos N/A 79 segundos
Teste 5 - Execução SQL inserindo 25000 linhas 35 segundos N/A 79 segundos
Teste 6 - Execução SQL inserindo 25000 linhas 42 segundos N/A 85 segundos
Resultado dos testes FTP (Média) 22,6 segundos 24 segundos N/A
Resultado dos testes SQL (Média) 39,5 segundos N/A 81 segundos
Tabela 7 – Testes finais (Simultâneos)
34
35. Analisando os resultados, nota-se que houve pequena perda de desempenho nas
solicitações FTP, quase que insignificante. O que era de se esperar para este serviço, já que o
nível de processamento gerado por ele é muito pequeno. Porém, nas solicitações SQL, vê-se
uma grande perda de desempenho, principalmente nos testes simultâneos.
Mesmo o VMWARE sendo o que melhor aproveitou os recursos de hardware nos testes
comparativos, este resultado já era esperado. Acredito que a explicação para tal perda de
desempenho nas solicitações SQL é que, não é recomendável configurar este tipo de servidor
sob um ambiente de virtualização que, naturalmente oferece redução de desempenho as
VM’s. A princípio, um banco de dados, quando processando uma QUERY, utiliza muitos
recursos de hardware, como Memória e HD, sendo que qualquer perda de desempenho em um
destes dispositivos causará grande impacto no tempo de execução. Ressalto ainda que, neste
caso, o desempenho poderia ser melhorado se estivesse ao meu alcance aquisitivo, adicionar
mais recursos na máquina física, como por exemplo, Memória RAM.
Mesmo assim foi demonstrado que é possível configurar um ambiente complexo como
este sob uma VMM, basta que seu SO HOST disponha de muitos recursos de hardware para
atender as requisições da ferramenta, que no caso era o VMWARE.
35
36. 4 CONCLUSÃO
A virtualização, sem dúvidas, é uma tecnologia impressionante. A solução definitiva
para empresas que desejam diminuir custos sejam eles com equipamentos, recursos naturais
(como a energia elétrica) ou pessoal capacitado, já que um número menor de equipamentos
requer menos mão de obra para gerenciá-la.
É claro, nem tudo é perfeito. Nos testes, foi possível visualizar que existe perda
considerável de desempenho quando se virtualiza determinados serviços. Porém, basta que
você tenha um equipamento robusto e que a configuração das VM’s seja estruturada, que os
riscos diminuirão muito. Vale lembrar que, serviços como Banco de Dados e afins,
recomenda-se que sejam configurados num ambiente real, ou seja, não virtualizado, afim de
evitar problemas com desempenho das aplicações que dependam deste serviço.
Por fim, podemos concluir que a tecnologia de virtualização de sistemas, vem evoluindo
muito e conseqüentemente, cada vez mais sendo utilizada pelos profissionais da área de TI,
tornando-se assim, ferramenta indispensável para o dia-a-dia de um Cientista da Computação.
36
37. 5 REFERÊNCIAS BIBLIOGRÁFICAS
CANDIDO, C.
História da Virtualização - 2007
Disponível em: http://caiocandido.wordpress.com/2007/05/19/conceitos-de-virtualizacao/ -
Acessado em: 04/05/2008
KING, R. P.
Architectural Principles for Virtual Computer Systems. 1992. (e-Book)
Harvard University - HQ Electronics Systems Division, Hanscom Field.
LAUREANO, M.
Máquinas Virtuais e emuladores. Conceitos,Técnicas e Aplicações. (e-Book)
Novatec Editora, São Paulo - 2006.
LOPES, A.; LAZARINO, O.
VMWARE Inside in INFO n. 248/2006 (pag. 126-127)
Revista INFO, São Paulo – 2006.
MICROSOFT, 2007
Microsoft Virtual Server 2005.
Disponível em: http://www.microsoft.com.br/downloads - Acessado em: 25/05/2008
CHIUEH , N.; BARHAM, P.
Máquinas virtuais - 2006
Disponível em: http://www.guiadohardware.net/dicas/maquinas-virtuais-introducao.html -
Acessado em: 03/06/2008
NETWORK WORLD 2007
Os oito principais desafios da virtualização em data centers
Disponível em:
http://idgnow.uol.com.br/computacao_corporativa/2007/04/27/idgnoticia.2007-04-
27.3291222006/ - Acessado em: 28/05/2008
TANENBAUM, A. S.; WOODHULL, A. S.
Sistemas Operacionais Projeto e Implantação 2. Edição (e-Book)
Bookman Editora, Rio de Janeiro – 2006.
TORRES, G.; LIMA, C.
Como Funciona a Tecnologia de Virtualização da Intel - 2007
Disponível em: http://www.clubedohardware.com.br/artigos/1144 - Acessado em: 31/05/2008
VMWARE, 2008
VMware Server DATASHEET
Disponível em: http://www.vmware.com/br/pdf/server_datasheet_br.pdf - Acessado em:
05/06/2008
37