You are on page 1of 87

Centro Universitário de Maringá

ALAN BRUMATE

VIRTUALIZAÇÃO DE SERVIDORES: UM COMPARATIVO ENTRE


VMWARE E XEN

Maringá
2010
2

ALAN BRUMATE

VIRTUALIZAÇÃO DE SERVIDORES

Monografia apresentada ao Curso de


graduação em Redes de Computadores, do
Centro Universitário de Maringá, como
requisito parcial para a obtenção do título de
Tecnólogo, sob orientação do professor José
Valderlei da Silva.

Maringá
2010
3

Aos meus pais, Vanda e Adelcino, pelo


amor e dedicação em toda a minha vida,
responsáveis diretos pela realização
desse objetivo.
4

AGRADECIMENTOS

Aos professores por todo conhecimento passado durante a graduação, em


especial ao Luiz Artur, pela orientação na primeira metade do trabalho, ao Ludisleno,
pelas dicas iniciais, no momento que estava definindo qual seria o tema da
pesquisa, e em especial ao Vander (Jesus), que assumiu a orientação já na reta final
e contribuiu de forma decisiva para que esse trabalho fosse concluído.
Aos colegas da graduação pelos anos de boa convivência, em especial a
Eliezer Oliveira, companheiro e parceiro durante os desafios da graduação. Às
pessoas que fazem parte da minha vida, meu irmão Adevan e à Rubia Pimenta por
todo amor, dedicação e paciência nesse período de tantos desafios da minha vida.
5

“O segredo do sucesso é a constância do


propósito”.
Benjamin Disraeli
6

RESUMO

A virtualização no âmbito da informática visa utilizar uma máquina física para


executar diversos sistemas operacionais. Esta pesquisa tem o objetivo de
demonstrar as diversas formas e técnicas de virtualização, percorrer sua história e
sua evolução no cenário da tecnologia da informação e demonstrar na prática como
é possível reduzir custos e ganhar desempenho. Para isso foram comparadas duas
tecnologias disponíveis no mercado: o VMware e o Xen. Foi realizado um estudo
sobre todas as práticas usuais de virtualização e as atuais versões das duas
ferramentas citadas acima. Foram utilizados critérios de desempenho, custos, entre
outros, para avaliar o comparativo entre as ferramentas. Os principais resultados
obtidos foram que a virtualização é uma importante alternativa para as empresas
melhorar o aproveitamento dos seus recursos, e que cada vez mais as empresas de
virtualização estão disponibilizando mais facilidades e opções para a implantação da
virtualização.

Palavras-Chave: Virtualização, VMware, Xen


7

LISTA DE FIGURAS

Figura 1 - Virtualização de Desktop .......................................................................... 19


Figura 2 - Evolução Histórica da Virtualização .......................................................... 23
Figura 3 - Alguns Sistemas Existentes ...................................................................... 24
Figura 4 - Sistemas Incompatíveis ............................................................................ 25
Figura 5 - A Camada de Compatibilidade ................................................................. 25
Figura 6 - Máquina Virtual Tipo I ............................................................................... 28
Figura 7 - Máquina Virtual Tipo II .............................................................................. 29
Figura 8 - Abordagem Híbrida do Tipo I .................................................................... 30
Figura 9 - Abordagem Híbrida Para o Tipo II ............................................................ 31
Figura 10 - Representação da Virtualização Total .................................................... 32
Figura 11 - Representação da Paravirtualização ...................................................... 33
Figura 12 - Alocação de Memória na Virtualização Total .......................................... 35
Figura 13 - Virtualização do Sistema Operacional .................................................... 36
Figura 14 - Virtualização de Linguagens de Programação ........................................ 37
Figura 15 - Ambiente de Desenvolvimento Virtualizado ............................................ 38
Figura 16 - Virtualização de Hardware ...................................................................... 39
Figura 17 - Virtualização de Aplicação ...................................................................... 40
Figura 18 - Virtualização de Apresentação ............................................................... 40
Figura 19 - Virtualização de Desktop ........................................................................ 42
Figura 20 - Comparativo Entre Algumas Ferramentas .............................................. 47
Figura 21 - Versões do XenServer ............................................................................ 50
Figura 22 - Comparativo entre VMware Server e ESXi ............................................ 55
Figura 23 - Virtual Server .......................................................................................... 56
Figura 24 – KVM ....................................................................................................... 60
Figura 25 - Configuração do VMware Server ............................................................ 67
Figura 26 - XenServer ............................................................................................... 68
Figura 27 - Tela de Login do VMware Server ............................................................ 69
Figura 28 - Tela Principal do VMware Server ............................................................ 70
Figura 29 - XenCenter ............................................................................................... 71
Figura 30 - Servidor Conectado no XenCenter ......................................................... 71
8

Figura 31 - Tela de Revisão das Configurações do VMware Server ......................... 73


Figura 32 - SO's Executando no XenServer.............................................................. 74
Figura 33 - Teste 1 - Ping .......................................................................................... 76
Figura 34 - Teste 2 - Recovery .................................................................................. 76
Figura 35 - Teste 3 - Vacuum .................................................................................... 77
Figura 36 - Teste 4 – Conversão de Video ................................................................ 77
9

LISTA DE TABELAS

Tabela 1 - Custos ...................................................................................................... 64


Tabela 2 - Materiais de Consulta............................................................................... 64
Tabela 3 - Aquisição.................................................................................................. 65
Tabela 4 - Suporte a Hardware ................................................................................. 66
Tabela 6 - Instalações ............................................................................................... 68
Tabela 7 - Configurações Especiais .......................................................................... 72
Tabela 8 - Instalação das Máquinas Virtuais ............................................................. 74
10

LISTA DE SIGLAS

AMD Advanced Micro Devices


API Application Programming Interface
BIOS Basic Input/Output System
BSD Bekerley Software Distribuition
CD-ROM Compact Disk Read Only Memory
CP Control Program
CPD Centro de Processamento de Dados
CPU Central Processing Unit
DLL Dynamic-Link Library
DVD Digital Video Disk
GB Giga-Byte
GPL General Public License
GRUB Grand Unified Bootloader
IBM International Business Machines
I/O Input/Output
JVM Java Virtual Machine
KVM Kernel-based Virtual Machine
MB Mega-Byte
MVP Mobile Virtualization Platform
PC Personal Computer
PowerPC Power Optimization Enhanced Risc
RAM Random Access Memory
RMVB Real Media Variable Bitrate
SAN Storage Area Networks
SMP Symmetric Multi-Processing
SO Sistema Operacional
TI Tecnologia da Informação
UML User-Mode Linux
USB Universal Serial Bus
VM Virtual Machine
VMM Virtual Machine Monitor
11

XML Extensible Markup Language


12

SUMÁRIO

INTRODUÇÃO .......................................................................................................... 14
1.1 MOTIVAÇÃO ....................................................................................................... 15
1.2 OBJETIVOS ........................................................................................................ 15
1.3 ORGANIZAÇÃO DA MONOGRAFIA .................................................................. 16

2 CONCEITOS DE VIRTUALIZAÇÃO ...................................................................... 17


2.1 DEFINIÇÃO DE MÁQUINAS VIRTUAIS ............................................................. 18
2.2 HISTÓRICO DA VIRTUALIZAÇÃO ..................................................................... 20
2.3 UTILIZAÇÃO DE MÁQUINAS VIRTUAIS ............................................................ 23
2.3.1 Monitor de Máquina Virtual ........................................................................... 26
2.3.2 Emuladores e Máquinas Virtuais .................................................................. 26
2.3.3 Tipos de Emuladores ..................................................................................... 27
2.3.4 Tipos de Máquinas Virtuais ........................................................................... 27
2.3.4.1 Máquinas Virtuais - Tipo I ............................................................................... 28
2.3.4.2 Máquinas Virtuais - Tipo II .............................................................................. 28
2.3.4.3 Abordagens Híbridas ........................................................................................ 29
2.4 TÉCNICAS DE VIRTUALIZAÇÃO ....................................................................... 31
2.4.1 Virtualização Total .......................................................................................... 31
2.4.2 Paravirtualização ............................................................................................ 32
2.4.3 Relação entre Virtualização Completa e Paravirtualização ........................ 34
2.4.4 Recompilação Dinâmica ................................................................................ 35
2.5 FORMAS DE VIRTUALIZAÇÃO.......................................................................... 36
2.5.1 Virtualização de Sistema Operacional .......................................................... 36
2.5.2 Virtualização de Linguagem de Programação ............................................. 37
2.5.3 Virtualização de Hardware ............................................................................. 38
2.5.4 Virtualização de Aplicação ............................................................................ 39
2.5.5 Virtualização da Apresentação ..................................................................... 40
2.5.6 Virtualização da Estação de Trabalho .......................................................... 41
2.5.7 Virtualização de Armazenamento ................................................................. 42
2.6 BENEFÍCIOS E DIFICULDADES DA VIRTUALIZAÇÃO ..................................... 43
2.6.1 Benefícios da Virtualização ........................................................................... 43
2.6.2 Dificuldades da Virtualização ........................................................................ 45
13

3 TECNOLOGIAS ATUAIS DE VIRTUALIZAÇÃO ................................................... 47


3.1 XEN ..................................................................................................................... 47
3.1.1 Histórico do Xen ............................................................................................. 48
3.1.2 Xen Source 4.0 ................................................................................................ 49
3.1.3 XenServer 5.6.................................................................................................. 50
3.1.4 Outros Produtos Xen ..................................................................................... 51
3.1.5 Algumas Características Relevantes do Xen ............................................... 51
3.2 VMWARE ............................................................................................................ 52
3.2.1. VMware Player ............................................................................................... 52
3.2.2 Workstation..................................................................................................... 53
3.2.3 VSphere ESX................................................................................................... 53
3.2.4 VSphere Hypervisor (ESXi)............................................................................ 53
3.2.5 VMware Server ................................................................................................ 54
3.3 OUTRAS TECNOLOGIAS DISPONÍVEIS PARA VIRTUALIZAÇÃO ................... 55
3.3.1 VirtualBox ....................................................................................................... 55
3.3.2 Virtual Server .................................................................................................. 56
3.3.3 Virtual PC ........................................................................................................ 57
3.3.4 Hyper-V............................................................................................................ 57
3.3.5 QEMU............................................................................................................... 58
3.3.6 Kernel-based Virtual Machine ....................................................................... 59
3.3.7 User-Mode Linux (UML) ................................................................................. 60

4 FERRAMENTAS E CENÁRIOS UTILIZADOS ...................................................... 62


4.1 AMBIENTE DE REALIZAÇÃO DOS TESTES ..................................................... 62
4.2 DESCRIÇÃO DOS TESTES ............................................................................... 63
4.3 COMPARAÇÕES ................................................................................................ 63

CONCLUSÕES ......................................................................................................... 79
REFERÊNCIAS ......................................................................................................... 81
14

INTRODUÇÃO

Buscando soluções para aumentar a agilidade dos negócios e redução de


custos, as empresas começaram a considerar a virtualização como a solução de
seus problemas com infra-estrutura. (MANARA, 2007).
Para Favacho, Miranda e Souza (2008, p.13) “no decorrer dos anos muitos
serviços foram informatizados exigindo que as empresas investissem na capacidade
ocupacional”.
A tecnologia aumenta a capacidade de trabalho, fazendo com que um
computador faça o serviço de muitos, sem que seja necessário investir mais em
recursos físicos, aliviando, assim, a demanda de espaço, custos com energia elétrica
e futura reposição de hardware. Conforme Carmona et al (2008, p.23)
“computadores virtuais economizam a aquisição de periféricos físicos e necessitam
ao mesmo tempo de menos espaço, energia elétrica e resfriamento”. As empresas
passaram a encarar os custos com a energia elétrica e o impacto do consumo
excessivo sobre o meio ambiente como algo mais do que preocupações triviais
(CARMONA, 2008). Ou seja, aumentar a capacidade de trabalho, com
equipamentos que estão disponíveis, de forma econômica e funcional.
No início, o processo de virtualização era viável apenas para grandes
empresas. Devido à crescente pesquisa de novas tecnologias, tornou-se acessível
para pequenas e médias empresas. Segundo Laureano (2006, p.15) “a utilização de
máquinas virtuais está se tornando uma alternativa para vários sistemas de
computação pelas vantagens em custos e portabilidade, inclusive em sistemas de
segurança”.
Embora a virtualização seja relativamente nova em pequenas e médias
empresas, seus benefícios têm sido vistos com bons olhos pelas organizações. O
Gartner Inc. (instituto de pesquisa de tecnologia de informação) prevê que até 2012
a maioria das empresas de porte médio considerará a virtualização de 100% de seus
servidores, impulsionadas, sobretudo, pela economia gerada na consolidação destes
equipamentos (NEIVA, 2010).
Entretanto, o processo de virtualização demanda planejamento e estratégia.
Uma mudança na estrutura de TI deve ser muito bem analisada, pois não se pode
15

deixar levar-se por tendências, sem que elas agreguem resultados positivos.
Segundo Carmona et al (2006, p. 29). “Juntar-se cegamente ao boom não é uma
boa estratégia, mas em vez disso, vale calcular os possíveis benefícios”.

1.1 MOTIVAÇÃO

Devido à adoção crescente de virtualização por parte das empresas, essa


pesquisa tem como motivação principal discutir essa técnica e trazer algumas
conclusões para aqueles que buscam implantar soluções e conhecer algumas
ferramentas utilizadas na atualidade.
O Xen desponta como uma boa opção para aqueles que são adeptos de
software livre. Carmona (2008, p.42) diz que ”... suportado por uma grande
comunidade de usuários, a atual alta instância para soluções de virtualização é, em
geral, e certamente a mais famosa alternativa de código aberto para este fim, o Xen
se esforça para ser aceito no mundo Linux”. O movimento de código aberto participa
ativamente da criação de ferramentas para o setor de virtualização: basta ver que o
Xen é sinônimo de virtualização de alto desempenho em servidores desde o início
de 2006. (CARMONA, 2008).
Por outro lado, o VMware, de código proprietário, é uma das opções mais
aderidas para virtualizar ambientes. O VMware é hoje a máquina virtual para
plataforma x86 de uso mais difundido. (LAUREANO, 2006).
Tendo em vista a grande possibilidade de uso desses fabricantes, o trabalho
busca pesquisar as soluções disponibilizadas pelos dois sistemas citados
anteriormente e trazer seus benefícios, pontos negativos e particularidades.

1.2 OBJETIVOS

Esta pesquisa tem como objetivo discutir e apresentar ferramentas para a


virtualização de servidores, analisando duas das principais opções no mercado
atualmente. No final serão apresentadas algumas conclusões. Para isso seguiremos
as seguintes metodologias:
16

o Realizar estudo sobre a história da virtualização, bem como a evolução


do seu uso comercial, por meio de pesquisa bibliográfica, materiais
disponibilizados pelos fabricantes dos sistemas abordados e sites
específicos, traçando sua evolução no mercado em todos esses anos.

o Instalar o Citrix XenServer e o VMware em uma máquina de testes,


com o intuito de analisar as características de cada um. Fazer um
comparativo entre os dois verificando custos, benefícios, limitações,
requisitos necessários para instalação e desempenho por meio de
testes reais.

1.3 ORGANIZAÇÃO DA MONOGRAFIA

Essa pesquisa é composta por seis capítulos, cuja estrutura encontra-se


segmentada da seguinte forma: o capítulo dois mostra a fundamentação teórica de
sistemas de virtualização, bem como suas vantagens, desvantagens, história,
conceitos de máquinas virtuais, emuladores e suas diferenças. Ainda demonstra os
tipos e técnicas de virtualização, as principais dificuldades e etapas do processo de
virtualização e o cenário atual.
O capítulo três expõe as principais tecnologias presentes no mercado e suas
características mais marcantes, dando ênfase para os sistemas chaves desse
trabalho, o VMware e o Xen. Também serão abordadas outras opções disponíveis
no mercado e sua importância no tema.
No capítulo quatro é apresentado o ambiente proposto, a solução, a
demonstração prática e os resultados obtidos nos testes.
Finalmente o capítulo cinco traz conclusões a respeito do trabalho
desenvolvido e propõe sugestões para trabalhos futuros.
2 CONCEITOS DE VIRTUALIZAÇÃO

De acordo com o dicionário online Aurélio (2010), virtual é: “Que não se


realizou, mas é suscetível de realizar-se; potencial”, e ainda de acordo com o
mesmo dicionário, “realidade virtual é simulação de um ambiente real por meio de
imagens de síntese tridimensionais”.
O termo “virtualização”, usado nessa pesquisa, trata de uma forma mais
específica de elementos virtuais. Aqui trataremos de virtualização de máquinas,
sistemas operacionais e aplicativos (em especial de servidores de sistemas
operacionais), de que forma a indústria da tecnologia da informação se desenvolveu
ao longo da história para apresentar ferramentas cada vez mais capazes de
gerenciar um sistema como se fosse real, e como surgiu essa necessidade.
Não é raro presenciarmos Centro de Processamento de Dados (CPD) super
lotados de máquinas, periféricos, monitores, entre outros. Todo esse equipamento
demanda estrutura elétrica e de resfriamento, e quanto mais equipamentos, maior a
necessidade de manutenção.

“A virtualização vem também ao encontro das premissas de


sustentabilidade expressas na “TI verde”, movimento que busca dotar as
organizações de ações voltadas para o meio ambiente, com foco no uso
consciente de recursos.” (PRODEMGE, 2009, p.20)

Com a virtualização, as organizações se deram conta que é possível reduzir


custos e espaço sem perder poder de processamento. A virtualização surgiu e
rapidamente ganhou notoriedade nas empresas pelo fato de trazer tantos benefícios,
alta disponibilidade, diminuição de cabeamento e consumo de energia, ganho de
espaço, entre outras vantagens, com pouco investimento.
No artigo para o site Decision Report, Daniel Neiva, Diretor de Vendas para
Pequenas e Médias Empresas da Dell América Latina, afirma que “... a virtualização
é uma das mais interessantes tecnologias surgidas nos últimos anos. No mundo
empresarial, é a última palavra em faça mais com menos” (NEIVA, 2010). Devido à
possibilidade de aumentar a capacidade instalada, sem adquirir novos
equipamentos.
A máquina virtual pode possuir seu próprio sistema operacional, memória
virtual, espaço de armazenamento e seus periféricos. Davis (1990, p.445) afirma que
18

“para o usuário, a máquina virtual é o computador, os aspectos relativos à máquina


real são transparentes, ocultos pelos recursos do sistema operacional real”. Dessa
forma, a máquina virtual é para o usuário uma máquina real, mas por trás estão
inúmeros recursos que podem ser explorados pelos seus administradores.

2.1 DEFINIÇÃO DE MÁQUINAS VIRTUAIS

A máquina virtual funciona como uma cópia exata de uma máquina real,
incluindo seus recursos de hardware, com a diferença que trabalha com esses
recursos de forma isolada. Laureano (2006, p.17) define máquina virtual (virtual
machine – VM) como sendo “uma duplicata eficiente e isolada de uma máquina real
[...] a IBM (International Business Machines) definiu a máquina virtual como uma
cópia isolada de um sistema físico”.

[...] “na virtualização, informamos a processadores e outros recursos,


presentes fisicamente em uma única máquina virtual de que eles podem
fazer parte de outras máquinas, cada qual com um sistema operacional e
configurações diversas. (CARMONA et al, 2008, p.16).

Mesmo sendo dependente de outro sistema operacional, que faz essa


máquina virtual funcionar, a máquina virtual opera como se fosse independente, com
seu próprio drive de CD-ROM (Compact Disk Read Only Memory), sua própria
entrada USB (Universal Serial Bus), sua própria memória e etc. Cada máquina
virtual tem seu próprio sistema operacional virtual e seus próprios periféricos virtuais
(DAVIS, 1990).
O sistema operacional real trabalha fazendo a comunicação com os
componentes do hardware, e qualquer outro dispositivo móvel por meio de seu
kernel. Para Alves (2006, p.16), “O kernel é responsável pelo gerenciamento básico
das funções do sistema operacional, que supre todas as funções necessárias à
utilização do hardware”.
Da mesma forma acontece com sistemas virtualizados, que identificam
qualquer entrada como sendo uma entrada física. Isso significa que ao colocarmos
um dispositivo USB no gabinete, o conteúdo dele estará disponível para os dois
SO’s virtualizados, além do SO físico.
19

A virtualização pode ser definida como a tecnologia capaz de simular


ambientes totalmente autônomos em uma mesma máquina física, permitindo,
inclusive, a convivência independente de aplicações em diferentes sistemas
operacionais. (PRODEMGE, 2009).
As máquinas virtuais são vistas pelos usuários e funcionam como se fossem
computadores físicos, e são facilmente transportáveis de máquinas reais. Assim,
confirma Tanenbaum (2007, p. 50), “as máquinas virtuais promovem maior
desacoplamento entre hardware e software o que permite um ambiente completo ser
movido de uma máquina para outra”.
A figura 1 mostra a imagem que o usuário tem em uma virtualização do
desktop. Neste exemplo temos o sistema operacional Windows XP e o monitor de
máquina virtual virtualizando outro Windows XP e o Ubuntu Linux. Um monitor de
máquina virtual instalado em um sistema operacional possibilita o uso de outros
sistemas operacionais.

Figura - Virtualização de Desktop


(MANARA, 2007)
20

2.2 HISTÓRICO DA VIRTUALIZAÇÃO

Os primeiros pesquisadores em computação estavam interessados no


aumento da robustez e estabilidade oferecidas pelo hipervisores (MATHEWS, 2008).
De acordo com Laureano (2006, p.13) “o termo virtualização vem sendo usado
desde os primórdios da computação, na década de 1950, quando pesquisadores da
Universidade de Manchester, na Inglaterra, desenvolveram o conceito de máquina
virtual”.
A IBM foi a pioneira no uso de máquinas virtuais. No início dos anos 1960, a
empresa sentiu a necessidade de simplificar a operação nos mainframes
(computadores de grande porte), pois o sistema operacional estava perdendo
mercado, e sentia-se a necessidade de agregar outros sistemas nos hardwares
fabricados pela corporação. Uma das razões para introduzir a virtualização foi
permitir que o software herdado fosse executado em caros hardwares de mainframe.
(TANEMBAUM, 2007).
Segundo Laureano (2006, p.15) “as origens do conceito de máquina virtual
remetem ao início da história dos computadores, no final dos anos 1950 e início de
1960. As máquinas virtuais foram originalmente desenvolvidas para centralizar os
sistemas de computador utilizados no ambiente VM/370 da IBM”.

No inicio dos anos 1960, o principal sistema operacional da IBM era o OS,
porém o DOS já era bastante popular, em conseqüência a IBM viu-se com
um problema nas mãos. Era evidente a necessidade de um novo sistema
operacional. A manutenção da compatibilidade entre dois sistemas
incompatíveis em essência, DOS e OS, foi considerada fundamental, e o
VM surgiu como solução. (DAVIS, 1990, p. 447).

De acordo com Davis (1990, p.447) “na Virtual Machine (VM) da IBM os
recursos do computador real são gerenciados por um sistema operacional de alto
nível chamado programa de controle (CP) [...] os sistemas operacionais são
gerenciados pelo programa de controle, e as rotinas aplicativas são executadas sob
os sistemas operacionais virtuais”. Na prática, o CP simula um computador real em
cada máquina virtual, o que o coloca como primeiro software a possibilitar a
virtualização de sistemas.
A virtualização foi desenvolvida na década de 1960 para particionar
hardwares grandes de mainframe, a fim de aproveitá-los melhor. (VMware. 2010).
21

Essas partições permitiam que os mainframes assumissem múltiplas tarefas, ou


seja, que executassem vários aplicativos e processos ao mesmo tempo. Como os
mainframes eram recursos caros na época, foram desenvolvidos sistemas para
serem particionados de forma a aproveitar completamente o investimento. Mathews
(2008, p.15) afirma que “O sistema 370 da IBM foi o primeiro computador disponível
comercialmente projetado para virtualização”.

[...] nos anos de 1960, pesquisadores da IBM desenvolveram o sistema


CP67, que trazia consigo o conceito de máquina virtual. “... uma camada de
virtualização de hardware permitia particionar o hardware da máquina em
unidades lógicas menores e autônomas [...] permitindo inclusive executar
várias instâncias do sistema operacional ao mesmo tempo”. (LAUREANO,
2006, p. 13).

Foi na década de 1990 que o conceito de máquina virtual começou a ser


popularizado, data em que os computadores passaram a ser mais acessíveis por
pequenas e médias empresas, além de usuários domésticos. De acordo com
Laureano (2006, p.13) “o conceito de máquina virtual permaneceu pouco conhecido
durante décadas, até seu renascimento nos Computadores Pessoais (PC) de
plataforma Intel, na metade dos anos 1990”.
No início dos anos de 1990, um grupo de alunos da faculdade de Stanford
(Estados Unidos) usou máquinas virtuais no sistema operacional IRIX, da Silicon
Graphics, que foi projetado para executar em um hardware sem suporte a
virtualização. Os desenvolvedores do projeto introduziram modificações específicas
no sistema operacional, modificando e recompilando o IRIX para permitir a
virtualização. Essa técnica, mais tarde, seria conhecida como paravirtualização.
Então a equipe voltou sua atenção para modificar outra plataforma não voltada para
virtualização, o x86. Isso teve uma influencia direta na fundação da VMware, e a
introdução do primeiro produto comercial de virtualização dessa plataforma,
conseguindo executar arquivos binários sem alterações no Windows. (MATHEWS,
2008).
Tanenbaum (2007, p.48) destaca duas razões principais para a virtualização
voltar a ficar em evidência no final dos anos 90. “... estamos enfrentando uma
situação em que o software herdado não pode ser mantido no mesmo passo que as
plataformas de que depende. [...] A diversidade de plataformas e máquinas podem
ser reduzidas deixando que cada aplicação execute em sua própria máquina virtual.”
22

[...] É justamente esse panorama criado pela evolução – oferta de


máquinas, espaços lógicos ociosos, espaços físicos escassos, volume de
sistemas legados, custos altos de operação e manutenção – que promoveu
o retorno da virtualização de servidores à pauta dos executivos de TI, mais
de 40 anos depois, totalmente repaginada, com novos conceitos,
configurações, objetivos e recursos. Os benefícios e as facilidades da
virtualização estenderam naturalmente seu uso para aplicação em desktop,
sistemas operacionais e linguagens de programação. (PRODEMGE, 2009,
p. 20).

Mathews et al (2008, p.16) afirma que “...desde 2005, fabricantes de


processadores como a Intel e a AMD aumentaram o suporte via hardware em suas
linhas de produtos”.
[...] A evolução da indústria da tecnologia para os servidores de menor porte
e baixo preço desviou, então, a tendência da computação centralizada para
sua descentralização, principalmente na forma da tecnologia
cliente/servidor. Aliada a essa tendência, o advento da internet e a
disseminação das redes de computadores consolidaram o modelo das
plataformas baixas. (PRODEMGE, 2009, p. 20).

Hoje diversas empresas estão competindo no mercado da virtualização. A


VMware vem aumentando as opções para as variadas usabilidades, a Microsoft,
entrou no mercado somente nessa década, e já lançou o Hyper-V, nativo do
Windows 2008 Server R2, além de muitas opções de software-livre, tanto para
Windows quanto para Linux, e também para instalação direta no hardware.
A figura 2 mostra a evolução da virtualização, desde o nascimento da
virtualização, na década de 1950, até a atualidade. Nota-se o contínuo uso em
máquinas de grande porte, e o começo da aplicação em computadores pessoais no
fim da década de 1990. Somente no fim dos anos 1990 que a tecnologia passou a
ser mais difundida, com o surgimento do VMware Workstation. Na década de 2000,
podemos notar o surgimento de muitas tecnologias, com destaque para o
lançamento do Xen, em 2003, e o KVM, em 2006. Há pouco mais de três anos a
criação para celulares e palms traz boas perspectivas de que o mercado de
virtualização não pára de evoluir.
23

Figura - Evolução Histórica da Virtualização


(PRODEMGE, 2009)

2.3 UTILIZAÇÃO DE MÁQUINAS VIRTUAIS

Máquina virtual (Virtual Machine – VM) refere-se à instância de um hardware


e um sistema operacional também virtualizado sob forma de simulação. (FAVACHO;
MIRANDA; OLIVEIRA, 2008).
O computador é constituído de hardware, sistema operacional e aplicações
(CARMONA, 2008). Devido aos diferentes fabricantes, pode acontecer de uma
24

determinada aplicação não ser compatível com um sistema operacional. Por vezes,
os fabricantes desenvolvem seu aplicativo baseado em determinada arquitetura de
hardware, e nem sempre temos disponível a mesma arquitetura pra usar seu
aplicativo. Laureano (2006, p.16) afirma que “... o papel do hardware é executar as
operações solicitadas pelas aplicações. O sistema operacional recebe as
solicitações das operações [...] e controla o acesso ao hardware”.
Esse tipo de problema pode ser evitado com a virtualização, pois esta insere
uma camada entre o hardware e o sistema operacional, que possibilita a utilização
de aplicações que não foram projetadas para um determinado hardware.
De acordo com Tanenbaum (2003, p.44) “como cada máquina virtual é uma
cópia exata do hardware, cada uma delas pode executar qualquer sistema
operacional, capaz de ser executado diretamente sobre o hardware.”
A figura 3 ilustra alguns sistemas operacionais existentes, seu hardware
compatível, aplicações e compatibilidades.

Figura - Alguns Sistemas Existentes


(LAUREANO, 2006)

Sistemas operacionais MacOS são incompatíveis com hardware projetados


para Windows e suas aplicações. Da mesma forma ocorre com sistemas
operacionais Linux e Windows, conforme ilustra a figura 4.
25

Figura - Sistemas Incompatíveis


(LAUREANO, 2006)

No momento em que encontramos o problema da dependência de hardware,


sistemas e aplicativos de um mesmo fabricante, a virtualização pode ser a solução
para esse impasse. Laureano (2006, p.16) afirma que “... a máquina virtual cria uma
“camada” para compatibilizar diferentes plataformas [...] essa camada é chamada de
virtualização”. A figura 5 ilustra a camada de compatibilidade disponibilizada pela
máquina virtual.

Figura - A Camada de Compatibilidade


(LAUREANO, 2006)

A idéia de máquina virtual é freqüentemente usada nos computadores


pessoais. Tanenbaum (2003, p.44) explica que:

[...] A idéia de máquina virtual é bastante usada hoje em dia em um contexto


diferente: a execução de velhos programas do MS-DOS. Quando o Pentium
e seus softwares estavam sendo projetados, a Intel e a Microsoft
perceberam que haveria uma grande demanda para executar softwares
antigos em hardwares novos. Por isso, a Intel disponibilizou um modo virtual
8086 no Pentium. Nesse modo de funcionamento, a máquina age como se
26

fosse um 8086 (que é idêntico a um 8088 do ponto de vista de software),


inclusive com o endereçamento de 16 bits e com limite de 1 MB(Mega-byte).

2.3.1 Monitor de Máquina Virtual

O monitor (também chamado de hypervisor, VMM, ou Virtual Machine


Monitor) é um dos principais conceitos envolvidos no estudo de máquinas virtuais.
(FAVACHO; MIRANDA; OLIVEIRA, 2008). O monitor pode criar uma ou mais
máquinas virtuais em uma única máquina real (LAUREANO, 2006).
O hypersivor é, portanto, o elemento fundamental da virtualização, uma vez
que fornecerá recursos da máquina física para as estações virtuais residentes em
determinado ambiente, fazendo com que cada uma delas funcione de forma
independente, como se fossem máquinas físicas. (PRODEMGE, 2009, p. 21).
Exemplos típicos dessa abordagem são VMware( TANENBAUM, 2007 apud
SUNGERMAN et al., 2001) e Xen ( TANENBAUM, 2007 apud BARHAN et al., 2003)

2.3.2 Emuladores e Máquinas Virtuais

Emulador é um tipo de sistema que a primeira vista se confunde com


virtualização. Laureano (2006, P.18) explica que “... um emulador engana o sistema,
fazendo com que todas as operações da máquina real sejam implementadas em um
software [...] ocorre à interpretação de um código desenvolvido para outra
plataforma”.
Ao emular um sistema, estamos enganando um sistema ou aplicativo,
“afirmando” a esse sistema ou aplicativo que suas instâncias estão localizadas numa
máquina ou SO base diversos de sua localização real. (CARMONA 2008).
A emulação reflete todos os estados internos do ambiente ao mesmo tempo
(FAVACHO; MIRANDA; OLIVEIRA, 2008). Por exemplo, um aplicativo desenvolvido
para a plataforma Windows rodando no Linux, ou um game do Playstation podendo
ser jogado diretamente no computador.
Um emulador apresenta algumas desvantagens em relação à virtualização.
Laureano (2006, p.18) salienta que “... emuladores são muito complexos, pois
necessitam simular quase todas as instruções do processador e demais
características do hardware que os circundam”.
27

Emulação é um tipo de virtualização mais complexa, devido o fato de ter


que emular de maneira precisa o comportamento de um hardware. [...] Um
ponto importante que deve ser lembrado é que este tipo de virtualização se
torna útil para os desenvolvedores de firmware e de hardware, uma vez que
a funcionabilidade de uma solução pode ser validada sem a necessidade de
hardware real. (OLIVEIRA, 2007, p. 5).

Laureano (2006, p.21) ressalta as diferenças entre emuladores e máquinas


virtuais ao afirmar que “... Enquanto o emulador fornece uma abstração completa
entre o sistema em execução e o hardware, o monitor de máquina virtual fornece
uma interface idêntica ao hardware”.

2.3.3 Tipos de Emuladores

• Firmware: Programação em hardware ou dados de computador que são


armazenados permanentemente em um chip de memória de hardware.
Laureano (2006, p.21) afirma que “é a mais rápida tecnologia de emulação,
mas também a mais complexa de implementar e manter a compatibilidade
com versões anteriores”.

• Software: O emulador reconfigura a máquina em uso para aplicação que se


deseja emular, considerada a forma mais fácil de implementar e portar para
outras plataformas. Laureano (2006).

• Emulação Combinada: Composto de hardware e software. O software faz o


papel principal, e o hardware fornece partes chaves do processo, e oferece
grande flexibilidade em termos de projeto. Laureano (2006).

2.3.4 Tipos de Máquinas Virtuais

Com a evolução da virtualização surgiram diferentes práticas para atender


diferentes necessidades. Carmona et al (2008, p.32) afirma que “... é essencial saber
se a camada de virtualização atua tanto sobre o aplicativo como sobre o SO do
hóspede, situação em que estamos falando de virtualização do sistema”. Esse que é
o tema principal dessa pesquisa pode ser ainda divida em duas categorias,
28

máquinas virtuais tipo I e tipo II. Outros tipos de virtualização, como de aplicações,
hardware entre outros, serão abordados posteriormente.

2.3.4.1 Máquinas Virtuais - Tipo I

Hypervisors Clássicos: Sistema em que o monitor é implementado entre o


hardware e os sistemas convidados. Segundo Favacho, Miranda e Oliveira (2008 p.
18) “o tipo I é aquele que é executado diretamente no hardware da máquina, como
se fosse um sistema operacional”.
Exemplos desse tipo de virtualização são o Xen e VMWARE ESXi . Laureano
(2006, p.21) explica que “... o monitor tem o controle do hardware e cria um
ambiente de VM’s. Cada uma delas se comporta como uma máquina física completa
que pode executar seu próprio SO”.
A Figura 6 ilustra esse conceito, o monitor (VMM) representa o software que
vai gerenciar a comunicação entre hardware e sistemas operacionais, os SO’s
trabalham de forma independente.

Figura - Máquina Virtual Tipo I


(LAUREANO, 2006)

2.3.4.2 Máquinas Virtuais - Tipo II

O tipo 2 é aquele que é executado sobre um sistema operacional existente


em uma segunda camada.(FAVACHO; MIRANDA; OLIVEIRA 2008, p.18).
Conforme ilustra a figura 7, um sistema operacional hospeda um monitor de
máquina virtual, que opera junto com as aplicações do SO. Um ou mais sistemas
operacionais rodam no VMM e podem oferecer as suas aplicações. Esse modelo é
29

mais usado em máquinas virtualizadas em desktop, e também em servidores, como


o Hyper-V e o VMware Server.

Figura - Máquina Virtual Tipo II


(LAUREANO, 2006.)

Laureano (2006, p.22) explica que “... o monitor do tipo II funciona de forma
análoga ao de tipo I, sendo a sua maior diferença a existência de um sistema abaixo
desse. Nesse modelo, o monitor simula todas as operações que o sistema anfitrião
controlaria”. Carmona et al (2008, p.35) confirma, “... A camada de virtualização [...]
interpreta as informações privilegiadas do sistema operacional hóspede. É
necessário porque os hóspedes não sabem que eles não têm propriedade exclusiva
sobre o hardware conforme esperado, mas precisam dividi-lo”.

2.3.4.3 Abordagens Híbridas

Otimizações nas arquiteturas de máquinas virtuais podem modificar o modo


como as máquinas virtuais, hardware e sistema anfitrião trabalham. Laureano (2006,
24) define essas modificações como abordagens híbridas.
Na prática é comum aplicar técnicas para aperfeiçoar o desempenho das
arquiteturas de máquinas virtuais. Laureano (2006, p.22) define quatro otimizações:
Em monitores do Tipo I (Figura 8):
O sistema convidado acessa diretamente o hardware. Laureano (2006, p.23)
explica que “... essa forma de acesso se dá pela implementação de modificações no
30

núcleo do sistema convidado e no monitor. Essa otimização ocorre no subsistema de


gerência de memória do ambiente XEN”.

Figura - Abordagem Híbrida do Tipo I


(LAUREANO, 2006)

Em monitores do tipo II (Figura 9):


1. O sistema convidado acessa diretamente o sistema anfitrião. Laureano
(2006, p.23) diz que “... essa otimização é implementada pelo monitor,
oferecendo partes da Interface de API (Interface de Programação de
Aplicações) do sistema anfitrião ao sistema convidado. Um exemplo
dessa técnica ocorre no sistema de arquivos do VMware, onde o
sistema convidado faz uso da implementação de sistema de arquivos
nativos existentes no sistema anfitrião. (LAUREANO 2006)
2. O sistema convidado acessa diretamente o hardware. Nesse caso a
implementação é feita parcialmente pelo monitor, e parcialmente pelo
sistema anfitrião. Laureano (2006, P.23) afirma que o VMware usa
essa otimização no acesso direto a dispositivos físicos, como interface
de rede, por exemplo.
3. O monitor acessa diretamente o hardware. Nesse caso o driver é
instalado no sistema anfitrião, oferecendo ao monitor uma interface de
baixo nível para acesso ao hardware. Essa abordagem é usada por
sistemas VMware.( LAUREANO, 2006).
31

Figura - Abordagem Híbrida Para o Tipo II


(LAUREANO, 2006)

2.4 TÉCNICAS DE VIRTUALIZAÇÃO

Existem várias técnicas usadas na virtualização. Favacho, Miranda e Oliveira


(2008) afirmam que as principais são a virtualização total, paravirtualização e
recompilação dinâmica. Vamos a seguir tratar dessas técnicas.

2.4.1 Virtualização Total

Na virtualização total, também chamada de virtualização completa ou nativa,


uma estrutura completa de hardware é virtualizada, e o sistema virtualizado não
precisa ser alterado (Laureano, 2006). Para Favacho, Miranda e Oliveira (2008,
p.20) “...a técnica de virtualização total utiliza uma simulação completa do hardware,
de modo que qualquer sistema operacional possa ser executado”.
Entre os benefícios e dificuldades desta técnica, Laureano (2006) cita o fato
da virtualização total não sofrer alteração, mas com o agravo do sistema convidado
ser executado de forma mais lenta.
Outro problema é que o sistema convidado precisa implementar alternativas
para que certas operações possam ser executadas em processadores que não
suportam a virtualização nativamente, o Intel 32 bits por exemplo. (Laureano, 2006).
A Figura 10 ilustra a representação da virtualização total descrita por
Laureano.
32

Mathews et al (2008, p.7) afirma que “ ...neste caso, o hypervisor vigia o


acesso ao hardware subjacente e dá a cada sistema operacional hóspede a ilusão
de ter sua própria cópia desse hardware”.

Figura - Representação da Virtualização Total


(LAUREANO, 2006)

O VMware Workstation e VMware Server trabalham nessa técnica de


virtualização, e o Xen suporta virtualização completa em arquiteturas básicas com o
suporte de hardware para a virtualização total ( MATHEWS, 2008).

2.4.2 Paravirtualização

Paravirtualização é uma técnica que apresenta uma API para as máquinas


virtuais. Essa API é similar, mas não idêntica ao hardware real (OLIVEIRA 2007,
p.7). Laureano (2006, p.30) diz que “o sistema a ser virtualizado sofre alterações
para que a interação com o monitor de máquinas virtuais seja mais eficiente”. Esse
cenário é ilustrado pela Figura 11.
33

Figura - Representação da Paravirtualização


( LAUREANO, 2006)

[...] Já a paravirtualização ou virtualização parcial é uma alternativa à


virtualização total. Somente permite a execução de sistemas operacionais
parcialmente adaptados e não virtualiza todos os recursos computacionais.
As adaptações exigidas nos sistemas hóspedes são para que eles sempre
passem o controle para o VMM quando forem executar uma instrução que
altere o estado do sistema. (Lopes; Ribeiro, 2009, p. 96).

Na paravirtualização é necessário que os sistemas sejam adaptados


especificamente para essa técnica. Carmona (2008, p.235) explica que “... um
sistema Linux, precisa de um kernel especialmente modificado para ser executado
nessa instância (paravirtualização)”.
Basicamente o hypervisor exporta uma versão modificada do hardware físico
subjacente. As modificações são introduzidas para facilitar e acelerar o suporte a
múltiplos sistemas operacionais hóspedes, sendo necessárias apenas pequenas
mudanças nos SO’s hóspedes. São exemplos dessa técnica o User-mode Linux e o
Xen (MATHEWS, 2008).
A paravirtualização reduz a complexidade do desenvolvimento das máquinas
virtuais, já que historicamente os processadores não suportam a virtualização nativa
A principal razão para utilizar a paravirtualização é o desempenho obtido, uma vez
que ela compensa as modificações que serão implementadas nos sistemas
convidados. (Laureano, 2006).
34

Mathews et al (2008, p.9) afirma que “ a escolha da paravirtualização para o


Xen tem mostrado que consegue obter maior desempenho de isolamento mesmo
em um hardware de computador pessoal típico”.

2.4.3 Relação entre Virtualização Completa e Paravirtualização

Na virtualização completa, a máquina real aloca um espaço físico da memória


para a máquina virtual, e a máquina virtual interpreta como se estivesse usando o
início da memória. De acordo com Laureano (2006, p.31), “... a máquina real tem um
endereçamento iniciado em 0000 até FFFF. O monitor reserva o espaço de memória
compreendido entre 000F e 00FF, mas o sistema convidado enxerga esse espaço
como sua memória total e, portanto, iniciando em 0000 e finalizando em 000F”.
Conforme ilustra a Figura 12.
Na paravirtualização isso não ocorre, pois a máquina virtual é informada pelo
monitor qual o espaço de memória poderá ser utilizado, e o sistema convidado
acessa diretamente a memória sem interferência do monitor de máquinas virtuais
(LAUREANO, 2006).
Na paravirtualização é preciso que os sistemas sejam adaptados, já na
virtualização total os sistemas podem ser instalados exatamente como uma máquina
convencional. (CARMONA 2008).
Para Oliveira (2007, p.9) “a paravirtualização possui melhor desempenho que
a virtualização total. Isso se deve ao fato de os drivers de dispositivos executados
nas máquinas paravirtualizadas serem os drivers reais para os dispositivos físicos,
diferentemente dos drivers emulados na virtualização completa”.
O mesmo processo ocorre para o acesso ao disco. Laureano (2006, P.31)
afirma que “... no processo de virtualização total o sistema enxerga o disco como seu
para uso exclusivo, na paravirtualização o sistema sabe que o disco é virtualizado”.
35

Figura - Alocação de Memória na Virtualização Total


(LAUREANO, 2006)

2.4.4 Recompilação Dinâmica

A recompilação dinâmica é uma técnica usada para aumentar o desempenho


de aplicativos e sistemas.
Segundo Laureano (2006, p.32), “com a compilação, durante a execução, o
sistema pode adequar o código gerado de forma a refletir o ambiente original do
programa. [...] Em outros casos, um sistema pode empregar a recompilação como
forma de adaptação, para executar uma representação portátil do sistema, tal como
bytecodes de Java”.
Laureano (2006, p.32) classifica a recompilação dinâmica em sete passos.

1. Agrupamento de bits: Um emulador ou máquina virtual pode usar o


conhecimento sobre o formato de um executável compilado, e pelo uso de
técnicas heurísticas, ou seja, por aproximação do objetivo, recuperar os
conjuntos de bits do executável e reordená-los.
2. Desmontagem: Os bits são desmontados e transformados em um conjunto
de instruções e operadores ordenados em partes.
3. Geração intermediária do código: As instruções são transformadas para
uma representação de máquina independente.
4. Decompilação: A representação gerada é transformada em uma linguagem
de alto nível (por exemplo o “C”)
36

5. Compilação: O Código gerado é novamente compilado para a nova


plataforma.
6. Montagem: Os códigos-objeto gerados pela compilação são novamente
montados, preparando a criação de um novo executável.
7. Armazenagem dos bits: Os bits são agrupados de forma a gerar o novo
executável.

2.5 Formas de Virtualização

Segundo Laureano (2006, p.24) “... os softwares podem ser utilizados


para fazer os recursos parecerem diferentes do que realmente são, e essa
capacidade é chamada de virtualização”. Além das técnicas de virtualização
citadas nas seções anteriores, existem diversas formas de virtualizar
diferentes recursos.

2.5.1 Virtualização de Sistema Operacional

Nesta forma, a virtualização exporta um sistema operacional como


abstração de um sistema específico, como acontece com o FreeDSD
(Laureano, 2006). A Figura 13 demonstra a arquitetura dessa forma de
virtualização.

Figura - Virtualização do Sistema Operacional


(LAUREANO, 2006)
37

Mathews et al (2008, p.11) afirma que “...nessa técnica não existe


monitor de máquina virtual, em vez disso tudo é feito inteiramente com uma
única imagem tradicional de sistema operacional”.
Essa técnica pode ser mais adequada em um ambiente onde cada
hóspede deseja executar o mesmo sistema operacional (MATHEWS, 2008).

2.5.2 Virtualização de Linguagem de Programação

Neste caso é criada uma máquina virtual para a execução de programas


específicos. A camada de virtualização exporta uma abstração para a execução de
programas escritos para essa virtualização. Java e Smalltalk são exemplos desse
tipo de máquina virtual (LAUREANO, 2006). A Figura 14 ilustra o conceito de
virtualização de linguagem de programação.

Figura - Virtualização de Linguagens de Programação


(LAUREANO, 2006)

Essa forma de virtualização pode fornecer recursos como variáveis de


ambientes, bibliotecas de interface com usuários e objetos que auxiliam na
programação de aplicativos (MATHEWS, 2008).
Além da abstração de uma máquina virtual para rodar aplicativos específicos,
a virtualização tem um importante auxilio na construção de softwares. O
programador pode ter em sua máquina todos os ambientes para desenvolver e fazer
os testes unitários necessários, e dispor de sistemas operacionais distintos, bem
como suas versões mais antigas, prevenindo problemas com incompatibilidade. O
programador também terá acesso a um repositório de controle de códigos-fonte,
servidor de banco de dados, arquivos, componentes e etc. (Microsoft, 2007). Assim
como ilustra a Figura 15.
38

Figura - Ambiente de Desenvolvimento Virtualizado


(MICROSOFT, 2007)

[...] Quando a Sun Microsystens inventou a linguagem de programação


Java, inventou também uma máquina virtual, denominada JVM (Java Virtual
Machine). O compilador produz código para a JVM que é executado por um
programa interpretador da JVM. A vantagem é que o código pode ser
enviado pela internet a qualquer computador que tenha um interpretador
JVM e ser executado. (TANENBAUM, 2003 p.45).

2.5.3 Virtualização de Hardware

A virtualização exporta o sistema físico como se fosse parte real do sistema, e


possibilita o funcionamento de softwares sem sofrer incompatibilidade. Por exemplo,
um aplicativo escrito para arquitetura x86 sendo executado em um MAC. Segundo
Laureano (2006, p. 24), “esse foi o modelo adotado na década de 1960 para o
39

VM/370 nos mainframes IBM e é a tecnologia utilizada pela VMware na plataforma


x86”. O modelo é ilustrado pela Figura 16.

Figura - Virtualização de Hardware


(LAUREANO, 2006)

2.5.4 Virtualização de Aplicação

Virtualização de aplicação surge da necessidade de resolver problemas de


incompatibilidade entre aplicações no mesmo sistema operacional. Por exemplo,
uma aplicação pode exigir uma DLL (Dynamic-link library) de versão diferente que
outra aplicação vai precisar. É nesse cenário que se torna viável a virtualização de
aplicação.

[...] A virtualização de aplicativos resolve esse problema [incompatibilidade]


criando cópias específicas para a aplicação de todos os recursos
compartilhados. As configurações que uma aplicação pode compartilhar
com outras em seu sistema -- entradas de registro, DLLs específicas, e mais
-- são, em vez disso, empacotadas com ele e executadas no cache da
máquina, criando uma aplicação virtual. Quando uma aplicação virtual é
implantada, usa sua própria cópia desses recursos compartilhados.
(MICROSOFT, 2009).

A Figura 17 ilustra a independência das aplicações em uma arquitetura de


virtualização de aplicações. No primeiro quadro as aplicações estão de forma
independente do sistema operacional para ilustrar o conceito de independência de
40

arquivos de configuração, no segundo quadro todos os aplicativos compartilham os


mesmo arquivos de configuração.

Figura - Virtualização de Aplicação


(MICROSOFT, 2009)

2.5.5 Virtualização da Apresentação

A virtualização da apresentação é a forma de apresentar ao usuário uma


interface configurada, que é executada em outra máquina, conforme mostra a Figura
18. A virtualização de apresentação cria seções virtuais em que as aplicações em
execução projetam suas interfaces de usuário remotamente (MICROSOFT, 2009).
Um exemplo é Terminal Server da Microsoft.

Figura - Virtualização de Apresentação


(MICROSOFT, 2009)
41

Segundo a Microsoft (2009), executar virtualização de apresentação pode


gerar alguns benefícios:

• Dados centralizados;
• Redução de custos. Se uma aplicação precisa ser atualizada,
nesse caso, só será necessário atualizar a estação do servidor,
pois todos os usuários acessam a mesma base;
• Elimina problema de incompatibilidade de sistema operacional;
• Melhoria de Desempenho. Em caso de máquinas mais antigas,
por exemplo, ao invés dessas máquinas executarem toda
aplicação e comunicação com o banco de dados localmente,
esse procedimento será realizado no servidor que disponibilizará
a apresentação.

2.5.6 Virtualização da Estação de Trabalho

A virtualização da estação de trabalho possibilita a usuários executarem em


seus computadores aplicativos não compatíveis e/ou legados, muito usados também
para criar uma máquina de testes para estudos ou mesmo para instalação de
aplicativos. Com isso, evita-se que esses aplicativos comprometam o funcionamento
normal da máquina. Usando a máquina virtual, os testes são isolados do sistema
principal. São exemplos dessa tecnologia o Microsoft Virtual PC e o VirtualBox da
Oracle. Na Figura 19 consta um exemplo de arquitetura de virtualização da estação
de trabalho.

[...] A virtualização de estações de trabalho hospedada por cliente cria um


ambiente de SO separado na estação de trabalho, permitindo que
aplicações de legado ou empresariais não-compatíveis operem dentro de
seu ambiente nativo em um sistema operacional de estação de trabalho
mais atual ou permitindo que dois ambientes de TI (por exemplo, particular e
corporativo) sejam executados simultaneamente no mesmo dispositivo
físico. (MICROSOFT, 2009).
42

Figura - Virtualização de Desktop


(MICROSOFT, 2009)

2.5.7 Virtualização de Armazenamento

A virtualização de armazenamento é a forma de armazenar dados, de


maneira centralizada, sem que o usuário se preocupe de onde está acessando os
dados.
Um armazenamento virtualizado permite que o armazenamento físico de um
ambiente seja compartilhado em vários servidores de aplicações, e que dispositivos
físicos por trás da camada de virtualização sejam exibidos e gerenciados sem limites
físicos (MICROSOFT, 2009).

[...] A virtualização de armazenamento é o processo de consolidar vários


dispositivos físicos de diversos fabricantes e reorganizá-los em
agrupamentos virtuais e lógicos, ou em unidades de armazenamento. [...] A
virtualização de armazenamento não é novidade, tanto no conceito quanto
na prática. Definida a quase 20 anos na computações em mainframes, a
tecnologia está descobrindo uma nova oportunidade e importância com a
emergência das redes SAN’s (Storage Area Network). (NEXTG, 2009).

Um exemplo bastante simples é o redirecionamento de pastas no Windows,


que permite que as informações em uma pasta sejam armazenadas em qualquer
unidade de disco acessível pela rede (MICROSOFT, 2009).
43

2.6 BENEFÍCIOS E DIFICULDADES DA VIRTUALIZAÇÃO

Apesar dos inúmeros benefícios viabilizados pela virtualização, existem os


pontos negativos. Aqui abordaremos as vantagens dessa tecnologia, bem como as
dificuldades e requisitos para implementação e o custo da virtualização.

2.6.1 Benefícios da Virtualização

A possibilidade de aumentar a capacidade instalada sem a necessidade de


adquirir novos equipamentos, com melhor aproveitamento da estrutura disponível, é
umas das principais vantagens da virtualização, por estar relacionada diretamente à
parte econômica. Outra vantagem é a possibilidade de manutenção de sistemas
legados. A virtualização contribui para aumentar a utilização do poder computacional
dos servidores, enquanto diminui o número de plataformas físicas necessárias
(OLIVEIRA, 2008 apud WILIAMS & GARCIA, 2007).
A virtualização aumenta a produtividade da infraestrutura, a segurança,
melhora o gerenciamento, diminui manutenção, além de economizar em recursos
humanos, físicos e consequentemente financeiros (MANARA, 2007).
Os investimentos inerentes à implementação de uma nova solução são
rapidamente compensados pelos ganhos em economia, com a redução de consumo
de energia, espaço e equipamentos (PRODEMGE, 2009, p. 21).

[...] A virtualização tem aplicação eficaz em diversas frentes nas


organizações. A tecnologia reduz custos de aquisição de servidores físicos
e agrega economia significativa nos custos operacionais, especialmente de
consumo de energia elétrica e manutenção, ao consolidar e particionar
sistemas [...] cabe ressaltar ainda a rápida disponibilidade de servidores, um
fator que pode ser considerado crítico, especialmente nas empresas
públicas, sujeitas à legislação específica para compras. O aspecto
relacionado à continuidade do negócio da empresa também se beneficia de
forma expressiva com a adoção da virtualização. (PRODEMGE, 2009).

Laureano (2006, p.35) destaca os principais benefícios ao utilizar máquinas


virtuais.
• Facilitar o aperfeiçoamento e testes de novos sistemas operacionais.
44

• Auxiliar no ensino prático de sistemas operacionais e programação, ao


permitir a execução de vários sistemas para comparação no mesmo
equipamento.
• Executar diferentes sistemas operacionais sobre o mesmo hardware
simultaneamente.
• Simular configurações e situações, como por exemplo, a presença de
outros dispositivos de Entrada/Saída.
• Simular alterações e falhas no hardware.
• Garantir a portabilidade de aplicações legadas.
• Desenvolvimento de novas aplicações para diversas plataformas.
• Diminuição de custos com Hardware.
• Facilidade no gerenciamento, migração e replicação de computadores,
aplicações ou sistemas operacionais.
• Prover um serviço dedicado a um cliente específico com segurança e
confiabilidade.

Podemos destacar também a possibilidade de estudar efeitos de vírus e


outras pragas virtuais sem afetar o sistema hospedeiro, testes de atualizações ou
softwares experimentais, antes de aplicá-lo ao sistema em produção.
A virtualização oferece alta disponibilidade, realocando hóspedes quando
uma máquina servidora se torna indisponível. A virtualização permite um melhor
aproveitamento também do hardware, em máquinas com múltiplos processadores ou
múltiplos núcleos.
Com relação a custos com licenças de sistema operacional, a virtualização
também apresenta vantagens, uma vez que a Microsoft oferece licenças gratuitas
para máquinas virtualizadas Windows na versão Enterprise do Windows 2008, e dá
direito a quatro licenças de máquinas virtuais. Já a versão Windows 2008 Datacenter
oferece licenças ilimitadas para máquinas hóspedes virtuais (MCLEAN; THOMAS,
2010).
45

2.6.2 Dificuldades da Virtualização

Criar uma máquina virtual é dedicar recursos de uma máquina física para a
execução da máquina virtual e suas aplicações. Dependendo da carga esperada em
cada máquina virtual, é necessário avaliar se a queda estimada no desempenho não
terá efeitos adversos sobre as aplicações que serão executadas (MICROSOFT,
2007).
McLean e Thomas (2010, p.324) afirmam que “... servidores com alto requisito
de I/O (Input/Output) ou alto requisito de processamento não são bons candidatos
para a virtualização”. Não adianta usar uma máquina virtual para executar uma
aplicação perto do limite de hardware da máquina física, afinal, junto com essa
aplicação terá a carga de processamento da máquina virtual, o sistema hóspede e o
sistema convidado.
Outro fator importante é que as máquinas virtuais trabalham de forma
independente do sistema hospedeiro, então é necessário um maior gerenciamento
dos sistemas. As atualizações e licenças devem ser administradas de forma
independente, ou seja, cada máquina virtual necessita de uma licença, em caso de
softwares proprietários, e também suas aplicações. É fundamental que os seus
fornecedores de software sejam consultados antecipadamente para verificar as
políticas de licenciamento e suporte de seus produtos em ambientes virtuais
(MICROSOFT, 2007).
O hardware hospedeiro das máquinas virtuais precisará de memória,
processamento e armazenamento suficiente para executar todos os sistemas
operacionais e seus aplicativos simultaneamente.
Laureano (2006, p. 36) destaca algumas dificuldades de utilização da
tecnologia de virtualização em alguns casos:
• Processador não virtualizado: A arquitetura de processadores Intel
32 bits não permite nativamente a virtualização.
• Diversidade de equipamentos: pela grande quantidade de
equipamentos existentes, torna-se difícil os desenvolvedores de monitores de
máquinas virtuais estarem sempre acompanhando as novidades do mercado.
• Preexistência de softwares: os desktops normalmente vêm com um
sistema operacional instalado e configurado. Nesses casos é importante
46

permitir que um usuário possa utilizar a tecnologia de máquinas virtuais sem


perder a facilidade de continuar utilizando seu sistema operacional padrão.
Segundo Laureano (2006), a principal desvantagem é o custo adicional
de execução de processos em comparação com a máquina real, em razão de
processadores sem suporte à virtualização. Esse problema não existe em hardwares
com suporte à virtualização, como os mainframes.
Deve-se tomar atenção especial com os processadores antes de implementar
métodos de virtualização em uma máquina. Carmona et al (2008, p.37) afirma que:

[...] Há pouco tempo os fabricantes de processadores do modulo x86, Intel e


AMD também começaram a suportar nativamente a virtualização. A Intel
com sua Intel Virtualization Technology (VT, codename Vanderpool) e a
AMD com sua AMD I/O Virtualization Technology (codename Pacífica). A
solução da AMD implementa funções de processador especiais, que
suportam o hypervisor na transferência de endereços e, além disso, pode
controlar em seu nome se determinados acessos de um sistema hóspede a
dispositivos podem ser permitido.
47

3 TECNOLOGIAS ATUAIS DE VIRTUALIZAÇÃO

Nos últimos anos a indústria da tecnologia de informação está crescendo e


evoluindo muito na área de virtualização. Basta ver a Figura 2 (capítulo 2), que
mostra uma grande quantidade de fabricantes de software, lançando produtos no
mercado, cada qual com sua particularidade.
Hoje o mercado é disputado por uma diversidade de tecnologias e produtos
de solução de virtualização e prevalece certa confusão de conceitos (CARMONA et
al 2008).
Esse capítulo busca descrever tais particularidades, e apresentar as principais
ferramentas disponíveis no mercado atualmente. A figura 20 faz uma comparação
dos cinco sistemas de virtualização mais relevantes para esta pesquisa.

Figura - Comparativo Entre Algumas Ferramentas


(SILVA et al, 2008)

3.1 XEN

O Xen é um monitor de máquina virtual do tipo I para a plataforma x86, ou


seja, aquele em que o monitor de máquina virtual é instalado diretamente no
hardware, sem que haja um sistema operacional hospedeiro. Suporta vários
48

sistemas convidados simultaneamente com bom desempenho e isolamento, é


gratuito e de código aberto. (LAUREANO, 2006).
O Xen é um hypervisor que trabalha tanto em modo de paravirtualização,
como em modo de virtualização completa (SILVA et al, 2008). O objetivo do Xen é
suportar aplicações sem a necessidade de modificações. Ele possui acesso direto
ao hardware, e os sistemas convidados o utilizam como ponte para acessar os
recursos do hardware. Segundo Laureano (2006, p. 101) “no Xen a memória é
separada em blocos pelo monitor de máquinas virtuais e o sistema convidado pode
utilizar como quiser esses blocos, tornando o acesso à memória mais direto e
eficiente”. Os discos rígidos também são separados, tornando o acesso a ele mais
eficiente.
O ambiente XEN suporta os sistemas Windows XP, Linux e Unix. Atualmente
várias distribuições Linux (Suse, Ubuntu, Debian) possuem suporte nativo à máquina
virtual Xen (LAUREANO, 2006). Seu código-fonte está liberado sob a licença GNU
General Public License 2 (GPL2).

3.1.1 Histórico do Xen

O Xen nasceu na Universidade de Cambridge, em 2001, e desde então tem


evoluído de forma significativa no cenário mundial dos monitores de máquinas
virtuais (MATHEWS et al, 2008).
O Xen foi divulgado para o grande público pela primeira vez em 2003, em um
artigo acadêmico para o Simpósio de Princípios em Sistemas Operacionais, na
mesma universidade onde foi criado. A afirmação de ter uma solução para virtualizar
máquinas em plataformas x86 foi muito bem recebida no meio acadêmico
(MATHEWS et al 2008).
Em 2004 foi criada a XenSource, empresa que tinha o objetivo de estimular
pesquisas e desenvolvimento. No Fim de 2004, o Xen 2.0 é lançado conseguindo
grande eficiência nas configurações de dispositivos virtuais de Entrada/Saída dos
sistemas operacionais hóspedes. Nessa versão já era possível aos usuários
configurarem regras de firewall, roteamento, pontes de interfaces de hóspedes
virtuais de rede e o live migration, que permite que uma instância do sistema
49

operacional em execução seja movida entre hardwares conectados na rede sem


interrupção do serviço.
Em 2005 cresce o interesse pelo sistema no meio acadêmico e empresarial,
tanto que no ano seguinte o Xen já havia conseguido uma participação significativa
nas virtualizações em uso. Nesse mesmo ano é lançada a versão 3.0, onde o Xen
apresentou uma camada de abstração para tecnologias de virtualização de
hardware, oferecidas pelos novos processadores da Intel e AMD, que tinham as
tecnologias de virtualização nativa (Vandepool e Pacifica respectivamente)
(MATHEWS et al, 2008). Em 2007, a Citrix compra o Xen e lança a versão 3.1,
trazendo a possibilidade de ferramentas de gerenciamento de terceiros.
Existem várias possibilidades de instalação do Xen e alguns aplicativos
adicionais, que serão mostrados na seções a seguir:

3.1.2 Xen Source 4.0

O hypervisor Xen 4.0 é um código-fonte aberto que insere uma fina camada
de software entre o sistema operacional e o hardware (XEN.ORG). Para a instalação
do hypervisor Xen é necessário ter algum sistema operacional instalado na máquina,
pois o sistema pede que sejam atualizados alguns pacotes essenciais utilizando o
comando apt-get. Em seguida é necessário obter os pacotes do Xen com o mesmo
comando, e depois recompilar o kernel, e reconfigurar o GRUB, para que o Xen
utilize a estrutura do sistema operacional para ser tornar o sistema anfitrião. Na
próxima reinicialização, o XEN aparece no menu de boot, bem como o sistema
operacional anterior sem as modificações, podendo o usuário acessar tanto o Xen
como o sistema original.
O Xen também dispõe do XenSource na forma de liveCD, onde é fornecida
uma imagem que pode ser gravada em um CD-ROM. Com o liveCD, é possível
testar o Xen sem qualquer modificação no sistema. Segundo Mathews et al (2008,
p.30) “o liveCD executa completamente direto da memória RAM e não exige
instalação no disco rígido. Pode ser usado para testar compatibilidade de hardware
e se familiarizar com os comandos básicos do Xen”.
50

3.1.3 XenServer 5.6

O XenServer é um software da Citrix que oferece gerenciamento centralizado


de máquinas virtuais com inúmeros recursos, ferramentas de migração e conversão
de máquinas virtuais (CITRIX, 2010).
A Citrix oferece treinamentos online em sua página na internet, alguns deles
gratuitos, e também suporte ao Windows e Linux. Atualmente conta com quatro
versões, sendo uma gratuita (CITRIX, 2010). A Figura 21 especifica as diferenças
entre as versões.
O XenServer é instalado diretamente no hardware, com o arquivo
disponibilizado em formato de imagem ISO, sendo necessário ser gravado em uma
mídia de CD-ROM. O XenServer pode ser gerenciado por outra máquina que tenha
instalado o XenCenter. Mais detalhes então no capitulo 4 dessa pesquisa.

Figura - Versões do XenServer


(CITRIX, 2010)
51

3.1.4 Outros Produtos Xen

XenDesktop:
O XenDesktop é um aplicativo da Citrix que tem a função de entrega de área
de trabalho virtualizada e possibilita aos usuários acessarem sua área de trabalho
de qualquer lugar (CITRIX, 2010). O XenDesktop funciona centralizando todas as
estações de trabalho em um servidor, com apenas uma imagem, e disponibiliza para
o usuário como se fosse a máquina física, salvando sua configurações para usos
futuros.
XenApp:
O XenApp é um serviço de entrega de aplicativos por demanda aos usuários.
Cada aplicação fica centralizada no servidor, é virtualizada e entregue para o
usuário em qualquer local, como se fosse executada no sistema operacional local.
Possibilita o acesso de inúmeros dispositivos, computadores, thinclient’s, Palmtop’s
e aparelhos de telefone móvel.

3.1.5 Algumas Características Relevantes do Xen

Algumas características importantes que o Xen implementou a cada nova


versão:

• Agendador Xen: Divide o tempo do processamento entre processos


que são executados em paralelo. O agendador do Xen atribui recursos
para máquinas virtuais por tempo limitado (CARMONA 2008).
• Live Migration: Segundo Carmona (2008, p.44) “o Xen torna possível
transferir hóspedes ativos de um host para o outro, sem que eles
precisem interromper seu trabalho nesse meio tempo”.
• Discos Rígidos Virtuais: A partir da versão 3.0, o Xen oferece
diferentes opções para fornecer um armazenamento virtual para
sistemas hóspedes.
• Acelerador de Inicialização: O tempo necessário para uma
reinicializarão é reduzido e o procedimento normal de inicialização
(BIOS, GRUB) é evitado.
52

• Padronização: Os fabricantes mais renomados de monitores de


máquinas virtuais demonstram o desejo de uma padronização quanto
ao gerenciamento e configurações de máquinas virtuais. Assim
confirma Carmona (2008, p.43): “o estreito trabalho conjunto entre
desenvolvedores do VMware e do Xen levou a que, em julho de 2006,
tivéssemos o plano de uma interface padrão unificada para
hypervisors”.
• Alta Disponibilidade: Essa é uma preocupação tanto em máquinas
virtuais como em reais. O Xen oferece ferramentas que coordena todas
as atividades em um cluster e facilita a administração de recursos.

3.2 VMware

Fundada em 1998, foi a primeira empresa a oferecer softwares para o


ambiente x86. Atualmente possui extensa linha de produtos de virtualização para
servidores e máquinas pessoais (MATHEWS et al, 2008).
A VMware é uma empresa sinônimo de virtualização, e desde a sua fundação
apresenta soluções para a evolução das técnicas de virtualização. De acordo com
Silva et al (2008, p. 33) “O VMware instala drivers adicionais no sistema operacional
convidado e hospedeiro para otimizar o acesso dos recursos nas máquinas físicas e
virtuais”. Isso significa que o VMware já vem projetado para suprir muitas possíveis
dificuldades encontradas na implementação da máquina virtual, por exemplo, um
driver de vídeo, entre outros. A VMware disponibiliza em sua página na internet
várias máquinas virtuais prontas para serem usadas em seus softwares.
Existem muitas versões do VMware, e para atender a cada segmento
especificamente, abaixo listamos algumas delas:

3.2.1. VMware Player

Versão mais simples da máquina virtual, indicada para aplicações leves ou


testes. É uma máquina virtual do tipo II, aquela em que o monitor de máquina virtual
é instalado sobre um sistema hospedeiro, disponível para o sistema Windows e
Linux (LAUREANO 2006). O VMware Player está atualmente na versão 3.12 e pode
ser baixado gratuitamente na página do fabricante na internet. A versão atual traz
53

suporte ao Windows 7, Chrome OS e às últimas versões do Linux, além de suporte


para múltiplos monitores, download automático de atualizações e a possibilidade de
impressão a partir da máquina virtual, sem a necessidade de instalação dos drivers
da impressora (VMWARE, 2010).

3.2.2 Workstation

Versão um pouco mais robusta que o VMware Player. O Workstation dispõe


de opções de configurações a mais, que não existem no VMware Player. Ele é
executado em 32 ou 64 bits, e a versão atual conta com suporte ao Windows 7, tem
função Flip 3D, que mostra miniaturas das máquinas virtuais em execução , além de
ter a função de arrastar e soltar arquivos da máquina física para a virtual (
VMWARE, 2010). É uma máquina virtual de tipo II, não gratuita, e está atualmente
na versão 7.1.2. De acordo com a página do fabricante na internet, pode ser usado
por 30 dias gratuitamente. A versão completa custa U$ 189.00 (WMWARE, 2010)

3.2.3 VSphere ESX

Versão do VMware indicada para aplicações profissionais em larga escala. É


uma máquina virtual do tipo I, e executada diretamente no hardware (LAUREANO,
2006). Segundo Silva et al (2008, p.34) “é um sistema baseado no kernel do Linux e
cria uma camada de abstração para acesso aos recursos do sistema por máquinas
virtuais”. Disponível em várias versões, atende necessidades de pequenas, médias e
grandes empresas. A versão de testes expira em 60 dias, e o valor varia conforme o
pacote, do standard, de U$ 1.318,00 até o enterprise plus, que custa U$ 4.369,00
(WMWARE, 2010).

3.2.4 VSphere Hypervisor (ESXi)

A VMware criou a versão VSphere Hypervisor (ESXi) totalmente gratuita. É


uma edição livre da linha VSphere, e não possui os recursos como live migration,
presente na versão comercial (SILVA et al, 2008), mas pode ser comprado
separadamente e adicionado ao ESXi. O suporte e treinamento é oferecido pela
VMware, porém são cobrados.
54

Utilizando a ferramenta VMware Converter, vendido separadamente, é


possível utilizar máquinas virtuais criadas por outros softwares como Virtual Server e
Virtual PC da Microsoft, e também do VMware Server.

3.2.5 VMware Server

O VMware Server é uma plataforma de virtualização que trabalha como uma


aplicação em qualquer hardware e particiona um servidor físico em várias máquinas
virtuais ( VMWARE, 2010), portanto é uma máquina virtual do tipo II, e distribuída de
forma gratuita. A VMware recomenda a utilização do VMware Server para avaliação
de virtualização de servidores pela primeira vez, avaliar softwares em máquinas
virtuais e também testes e desenvolvimento de softwares em diferentes ambientes
de TI.
Algumas características destacadas pela VMware sobre esse produto
(VMWARE, 2010):
• Instala como uma aplicação, instalação simples, orientada por um
assistente.
• Interface web de gestão
• Funciona em qualquer hardware x86
• Funciona sobre uma ampla variedade de sistemas Linux e Windows
como hospedeiro e convidado.
• Permite que uma única máquina virtual abranja até dois processadores

A Figura 22 destaca as principais diferenças entre as duas opções gratuitas


da VMware para servidores, o VMware Server e o ESXi.
55

Figura - Comparativo entre VMware Server e ESXi


(VMWARE, 2010)

3.3 Outras Tecnologias disponíveis para Virtualização

As maiores empresas da área de TI estão cada vez mais investindo em


softwares de virtualização, e as comunidades de software livre não ficam atrás, na
atualidade temos inúmeras opções para cada caso especifico. Nessa seção serão
abordados alguns dos demais softwares disponíveis no mercado.

3.3.1 VirtualBox

O VirtualBox é um software da Oracle, de código aberto, sob os termos da


GPL (General Public License), pode ser instalado em Windows, Linux, Solaris e
Macintosh, e tem suporte a um grande número de sistemas convidados
(VIRTUALBOX.ORG, 2010).
56

Segundo Silva et al (2008, p.35), “o VirtualBox utiliza partes de outros


sistemas virtualizadores, como o QEMU e o BOCHS, para base de seu
funcionamento”.
O sistema pode ser adquirido gratuitamente no site do fabricante e atualmente
está na versão 3.2.10. De interface simplificada, oferece uma boa opção para quem
está iniciando nos processos de virtualização, pois é equivalente ao VMware
Workstation.

3.3.2 Virtual Server

Virtual Server é a ferramenta da Microsoft para competir no mercado de


virtualização de servidores. É uma máquina virtual do tipo II e precisa ser instalada
em algum sistema operacional da família Server, da Microsoft (Windows 2000,
Windows 2003) (LAUREANO, 2006).
O Virtual Server é um software gratuito e encontrado em duas versões: o
Virtual Server 2005 Enterprise (até 32 processadores físicos) e o Virtual Server 2005
Standard (até quatro processadores) (MICROSOFT, 2010). A Figura 23 demonstra o
modelo de arquitetura do Virtual Server. Neste exemplo, o Virtual Server é
executado sobre o Windows Server 2003, com duas máquinas virtuais e suas
aplicações.

Figura - Virtual Server


(MICROSOFT, 2009)
57

3.3.3 Virtual PC

O VirtualPc é um software da Microsoft, lançado em 2003, que suporta o


sistema operacional Windows sobre os Computadores Macintosh. O Virtual PC é
uma máquina virtual do tipo II e precisa de um sistema hospedeiro (LAUREANO
2006).
Atualmente o VirtualPc suporta todas as versões do Windows, MS-DOS,
Linux, OS/2, entre outros (FAVACHO;MIRANDA;OLIVEIRA, 2008). É distribuído de
forma gratuita pela Microsoft, porém a versão para Macintosh está disponível
comercialmente (MATHEWS, 2008).

3.3.4 Hyper-V

O Hyper-V é um sistema de virtualização nativo do Windows 2008 Server, que


permite executar computadores virtualizados sob as versões x64, e é considerado
uma evolução do Virtual Server 2005. Contudo, ele teve uma importante modificação
em relação ao Virtual Server, com a incorporação direta do Hyper-V no sistema
operacional, e não no hardware, como é o caso do Virtual Server (MCLEAN;
THOMAS, 2010).
O Hyper-V é a aposta da Microsoft para o cenário da virtualização, e dispõe
de diversas características interessantes, como o snapshot, que permite reverter
uma instância anterior de um sistema operacional bem mais rapidamente do que
seria se tivesse que reinstalar o sistema. Conta também com a tecnologia Live
Migration, possibilitando a migração de uma máquina virtual, sem que o usuário
conectado perca seus dados. O Hyper-V usa o mesmo formato de arquivos de
máquinas virtuais do Virtual Server 2005, o VHD, ou seja, pode-se migrar uma
máquina virtual de um servidor antigo para o Hyper-V tranquilamente. (MICROSOFT,
2010).
Junto com o Hyper-V a Microsoft dispõe o Virtual Server Migration Toolkit,
uma ferramenta capaz de fazer a migração de um sistema operacional instalado
fisicamente no modo tradicional, para uma máquina virtual, trazendo todas as suas
configurações e aplicativos, sem quaisquer mudanças, salvas em arquivos XML.
58

Para servidores de grande porte, a Microsoft dispõe do System Center Virtual


Machine Manager, que oferece mais segurança e confiabilidade em relação ao
Virtual Server Migration Toolkit. Essa ferramenta necessita alto investimento em
infraestrutura e um banco de dados SQL Server, para armazenar os dados e
configurações das máquinas a serem migradas. As duas ferramentas de migração
da Microsoft são compatíveis com Hyper-V e Virtual Server 2005 (MCLEAN;
THOMAS, 2010).
O Hyper-V possui um console de gerenciamento que possibilita gerenciar
redes virtuais, editar e inspecionar discos, criar, reverter e excluir Snapshots ,editar
as configurações de máquinas virtuais individualmente e configurar balanceamento
de processador. Neste caso é possível determinar a carga de processamento para
cada máquina virtual ou atribuir um peso relativo, onde o Hyper-V calcula quanto de
processamento a máquina virtual necessita e aloca essa quantidade, economizando
recursos. (MCLEAN; THOMAS, 2010).

3.3.5 QEMU

O QEMU é dos virtualizadores mais complexos hoje existentes, mas que


suporta várias maneiras de execução (SILVA et al, 2008). Laureano (2006, p.108)
afirma que “o QEMU é um emulador de processador [...] o emulador converte partes
do código para que o processador execute o conjunto de instruções”. Isso torna o
QEMU bastante dependente do processador.
O QEMU pode trabalhar em dois modos de operação: emulação total e no
modo usuário. Na emulação total se processa o sistema completo, incluindo o
processador, e pode ser utilizada para executar vários sistemas operacionais. Na
emulação no modo usuário, disponível apenas para Linux, é possível executar
programas Linux para outra plataforma, como o PowerPC, por exemplo,
(LAUREANO, 2006).
O QEMU é uma ótima opção para executar aplicativos dos Windows no Linux,
pois é um software livre e gratuito. Sua desvantagem se diz respeito à velocidade,
uma vez que por ser um emulador, ele fornece ao sistema convidado todas as
instruções necessárias, deixando os processos mais lentos do que em máquinas
virtuais em geral (LAUREANO, 2006).
59

3.3.6 Kernel-based Virtual Machine

O KVM é um software de virtualização livre e gratuito para Linux, projetado


para permitir emulação de hardware completa, na medida necessária para inicializar
muitos sistemas operacionais de computadores na forma não modificada. (IBM,
2010).
Segundo Mathews et al (2008, p.22), “a KVM é uma modificação do núcleo do
Linux que efetivamente o transforma em um hypervisor quando se acrescenta um
módulo adicional”.
Cada hóspede é executado no espaço do usuário do sistema hospedeiro, por
essa razão cada instância hóspede parece como um processo normal para o kernel
hospedeiro, causando um isolamento mais fraco da máquina virtual, em relação às
outras tecnologias já abordadas (MATHEWS, 2008).
Usando KVM, é possível executar várias máquinas virtuais com imagens do
Linux, Windows ou Mac. Cada máquina virtual tem hardware virtualizado particular,
como placa de rede, disco, placa de vídeo e etc. (IBM, 2010).

[...] Um processo normal, executando em Linux, possui dois modos de


execução: Kernel Mode (modo kernel) e User Mode (modo usuário). Porém,
por uma máquina virtual precisa de mais prioridade do que um processo
normal, e por ser, também, bem mais complexa que um aplicativo comum, é
adicionado um terceiro modo de execução: o guest mode (modo
Convidado). (SILVA et al, 2008, p. 31).

Silva et al (2008, p. 30) afirma que “integrado ao kernel, o KVM suporta


automaticamente todos os dispositivos de hardware que funcionam com Linux”.
O KVM é integrado ao kernel e não abaixo dele, fazendo com que cada
máquina virtual seja um processo normal no sistema operacional. A Figura 24 ilustra
a arquitetura do KVM. Na terminologia do KVM, os guest são máquinas virtuais
comuns e o privileged-guest é a máquina destinada ao gerenciamento (SILVA et al,
2008). O KVM utiliza o QEMU para promover a abstração de hardware na máquina
virtual

[...] O modulo KVM emprega um controlador de dispositivo com novas


características para expor hardware virtual para as instâncias hóspedes
através da entrada /dev/kvm no sistema de arquivos do hypervisor. Os
hóspedes KVM então acessam o hardware virtual via um processo QEMU
ligeiramente modificado. (MATHEWS et al, 2008, p. 24).
60

Figura – KVM
(SILVA et al, 2008)

Silva et al (2008, p.32) classifica os dois componentes principais do KVM: “um


driver de dispositivos para gerenciamento do hardware virtualizador, e um
componente no user-space, para emulação do hardware de um PC comum. Para
essa modificação é utilizada uma versão modificada do QEMU”.

3.3.7 User-Mode Linux (UML)

O User-Mode Linux é um software livre e gratuito, específico do Linux, que


permite a execução de outros sistemas Linux em espaço de usuário. O UML é
especialmente projetado para executar VMs de hóspedes Linux em sistemas Linux
(MATHEWS, 2008). Segundo Laureano (2006, p.72) “o User-Mode Linux foi
proposto em 2000 como uma alternativa de uso de máquinas virtuais no ambiente
Linux”. O kernel é portado para o monitor possibilitando às máquinas virtuais
executarem todos os serviços e aplicações disponíveis para o sistema anfitrião.
Portanto o User-Mode Linux é uma máquina virtual do tipo II, executada na forma de
um processo no sistema hospedeiro.
Laureano (2006) explica que a maior dificuldade encontrada na
implementação do User-Mode Linux foi encontrar maneiras para virtualizar todas as
capacidades do hardware para as chamadas de sistema do Linux, Por causa da
61

distinção dos privilégios do kernel. Isso significa que o User-Mode Linux deve
possuir privilégios suficientes para permitir que seu kernel tenha acesso às
chamadas do sistema anfitrião.
62

4 FERRAMENTAS E CENÁRIOS UTILIZADOS

Nesse capitulo serão abordadas as comparações entre dois sistemas de


virtualização em uso na atualidade.
Essa pesquisa visa abordar algumas diferenças entre os softwares da
VMware e da Citrix, inicialmente levando em consideração os custos cobrados pelos
fabricantes, a disponibilização do softwares pelas empresas e quais benefícios e
facilidades são oferecidas pelo fabricante.
Serão abordadas também as instalações do hypervisor e das maquinas
virtuais, bem como seus requisitos, disponibilidade de material de consulta oficial do
fabricante ou publicações.
Serão levantadas também suas configurações e particularidades, e,
finalmente serão efetuados alguns testes básicos de desempenho.

4.1 Ambiente de Realização dos Testes

O Hardware utilizado para os testes tem a seguinte configuração:

• Processador: AMD Phenon x4 9150e 1800MHz


• Memória RAM: 4GB 400MHz DDR2
• Disco rígido: 1TB
• Placa de Rede: Realtek 8139d 10/100

Softwares Utilizados:
• Windows Server 2008 Enterprise R2
• Debian 5 AMD64
• WindowsXP SP3
• VMware Server 2
• Xen Center
• XenServer 5.6
• Postgresql 8.2.4
• pgAdmin 3
63

4.2 Descrição dos Testes

As comparações serão feitas no que diz respeito a:


• Custos
• Materiais de consulta e treinamento
• Obtenção do software
• Suporte a Hardware
• Instalação
• Configurações
• Criação de Máquinas virtuais
• Comparação básica de desempenho

4.3 Comparações

A intenção inicial foi usar as versões instaladas diretamente no hardware, sem


a necessidade de um sistema operacional hóspede, casos do ESX, ou ESXi e do
Xen, porém como foi encontrada impossibilidade de instalação para testes do
VMware ESX por incompatibilidade do hardware disponível, será usada versão
VMware Server 2 comparada com o XenServer 5.6.

Com relação aos custos:

A VMware possui uma extensa linha de produtos para os mais variados


cenários. O sistema usado nessa pesquisa para comparação é o VMware Server,
distribuída de forma gratuita, bastando apenas fazer o download no site do
fabricante.
O XenServer possui três versões comerciais e uma versão gratuita. A versão
é distribuída de forma gratuita no site da Citrix. A tabela 1 faz o demonstrativo
quanto aos custos.
64

Tabela - Custos

VMware Server 2 Gratuito


XenServer 5.6 Gratuito
(Do autor, 2010)

Materiais de consulta e treinamento:

A VMware dispõe um programa custeado de consultas e treinamento pelo


valor de U$ 100,00 ( WMWARE, 2010), porém mantém em sua página na internet
comunidades de discussão entre os usuários, documentação oficial, base de
conhecimento e trabalhos técnicos.
O Xen, por ser software-livre, conta com a comunidade oficial de adeptos,
disponibilizando fóruns de discussão, documentações oficiais, tutoriais, publicações,
trabalhos acadêmicos e noticias. Existe também um grupo de usuários dedicado ao
Xen com informações, documentações e fóruns em português. Durante essa
pesquisa notou-se a maior facilidade de encontrar livros publicados sobre o Xen,
limitando a consulta sobre a VMware apenas em monografias, materiais retirados do
site do fabricante e algumas menções em livros que tratam de virtualização. A tabela
2 demonstra os dados obtidos com relação aos materiais disponíveis para consulta e
aprendizado.
Tabela - Materiais de Consulta

Vmware Server 2 XenServer 5.6


Fóruns/Comunidades Sim, em inglês Sim
Oficiais
Documentos Oficiais Sim, em inglês Sim
Videos técnicos Oficiais Não encontrado Não encontrado
Monografias Sim Sim
Suporte Técnico Sim, apenas Sim, gratuito
comercialmente
Livros em Português Não encontrado livros Sim
exclusivos sobre a
Vmware
(Do autor, 2010)
65

Obtenção do Software:

O Vmware Server é disponibilizado, após um cadastro no site da Vmware,


que oferece diversas opções, como instalador para Windows e Linux, 32 e 64 bit. O
download do instalador para Windows é de 507MB, e o binário para o Linux em
torno de 480 MB.
O XenServer está disponibilizado para download na página da Citrix na
internet, como um arquivo de imagem que precisa ser gravado em uma mídia, CD-
ROM ou USB. O arquivo contém 442 MB e, além do XenServer 5.6, está incluindo o
XenCenter, interface de gerenciamento que pode ser instalado no Windows ou
Linux. A tabela 3 demonstra a comparação com relação a obtenção do software.

Tabela - Aquisição
VMware Server 2 Download – Exige cadastro
XenServer 5.6 Download – Exige Cadastro
(Do autor, 2010)

Suporte a Hardware:

O VMware Server, é instalado como uma aplicação, em arquitetura 32 ou 64


bits, o fabricante não faz recomendações mínimas de hardware, e sim quanto ao
limite suportado.
O XenServer é instalado diretamente no hardware, não permite manter um
sistema operacional no mesmo disco rígido e durante a instalação é formatado todo
o disco. Os requisitos de hardware estão descritos na tabela 4.
66

Tabela - Suporte a Hardware

Processador SO convidado Memória Rede Disco


Rígido
VMware Qualquer 32/64 bits Até 8MB Até 10 A
Server 2 processador placas de instalação
x86 padrão – rede por ocupa por
Suporta até 2 máquina volta de
processadores virtual 500MB
SMP
(Symmetric
Multi-
Processing)
XenServ 1 ou mais Para suportar Mínimo Não faz Mínimo de
er 5.6 processadores máquinas de 1GB – restrição 16GB –
x86, 64 bits, virtuais Recomen ao Recomen
com no mínimo Windows, é dado número dado
1.5 GHz necessário 2GB máximo 60GB
processadores de
com interfaces
virtualização de rede
nativa (Intel suportada
Vanderpool ou
AMD Pacifica)
– Suporte total
a sistemas
Linux
(Do autor, 2010)

Instalação:

O objetivo desse trabalho não é demonstrar passo a passo a instalação,


apenas vamos destacar as possíveis dificuldades ou facilidades no processo.
O VMware Server é instalado de forma simples. Nessa pesquisa foi utilizado o
Windows como sistema anfitrião. Após o download, a instalação se dá de forma
automatizada, só é necessário o usuário inserir a licença que é fornecida pelo
próprio fabricante no momento do download, modificar o local de instalação, ou
modificar as portas que o VMware Server irá usar para a interface web de
gerenciamento, como mostra a figura 25.
67

O VMware Server requer dois softwares adicionais que são instalados


automaticamente caso não conste no sistema hospedeiro, o Java Runtime
Environment e o Apache Tomcat.
O Xenserver é instalado utilizando um CD de boot sem nenhum sistema
operacional anfitrião, sendo necessário fazer o download do arquivo e gravar em um
CD-ROM. Na Instalação assistida em modo gráfico, primeiramente pede-se a
informação sobre a configuração do teclado, o “aceite” aos termos de serviço, o local
onde estão os arquivos de configuração , configurações de rede e horário, e em
seguida é iniciado o processo de instalação dos arquivos do XenServer. A Figura 26
mostra a interface do sistema XenServer 5.6.

Figura - Configuração do VMware Server


(Do autor, 2010)
68

Figura - XenServer
(CITRIX, 2010)

Conclui-se que o XenServer necessita de um conhecimento mínimo de


configurações de redes e sistema operacionais para instalação, porém o instalador
sugere as opções mais prováveis. A instalação é simples, assistida e no modo
gráfico, já o VMware Server 2 mostrou uma simplicidade ainda maior, pois não
necessitou nenhuma alteração nas configurações pré-estabelecidas, assim como
mostra a tabela 5.

Tabela - Instalações

VMware Server 2 Simples – modo gráfico assistido


XenServer 5.6 Simples – modo gráfico assistido
(Do autor, 2010)

Configurações:

O VMware Server conta com uma interface que é executada no navegador do


sistema operacional para gerenciamento e configurações apenas no idioma inglês,
requer um usuário e senha do sistema operacional para iniciar a tela de
69

gerenciamento (Figura 27). Os procedimentos para criação e configuração das


máquinas virtuais são praticamente os mesmos usados nas versões para desktop
(Player e Workstation), tornando simples para usuários já acostumados com esses
softwares. A página principal (Figura 28) fornece os níveis de uso de disco rígido,
processamento e memória do sistema operacional, configurações de rede utilizado
pelo VMware Server, além das opções de criar, remover e editar as máquinas
virtuais.

Figura - Tela de Login do VMware Server


(Do autor, 2010)

O VMware Server 2 dispõe da opção de adicionar a máquina virtual ao


inventario (Add Virtual Machine to Inventory). Com ela é possível disponibilizar a
máquina virtual para ser acessado por outras ferramentas da VMware, como o
VMware Console e o VMware Management Interface, que são dispositivos que
possibilitam a administração remota de máquinas virtuais.
Datastore é onde estão as pastas que ficam armazenadas as máquinas
virtuais. Com a opção Add Datastore possibilita a criação de novas pastas, para o
uso de futuras máquinas virtuais.
70

Figura - Tela Principal do VMware Server


(Do autor, 2010)

O Xenserver conta com uma interface de gerenciamento que pode ser


executada de outra máquina na rede, é o XenCenter (Figura 29). O Xencenter pode
ser instalado em Windows ou Linux. Para os testes dessa pesquisa foram usados o
Windows XP SP3 e o Debian 5 64 AMD.
Após o Xenserver e o XenCenter devidamente instalados, é necessário
conectar o XenCenter ao servidor. A Figura 30 mostra a interface do XenCenter
conectada ao servidor XenServer, onde informa o uso de processador, memória
utilizada, disco rígido, rede e a quanto tempo o servidor está ativo.
Mesmo sendo gratuito o software pede uma ativação por meio de uma licença
que pode ser obtida pelo próprio XenCenter com a utilização da opção License
Manager, a licença é enviada por email e é valida por um ano.
71

Figura - XenCenter
(Do autor, 2010)

Figura - Servidor Conectado no XenCenter


(Do autor, 2010)

O XenServer ofere a opção de Snapshot, que faz uma cópia do atual estado
das VM’s, útil para restaurar um estado da máquina que esteja pronta e configurada,
evitando reinstalações das máquinas virtuais. Tem opção de backup da máquina
virtual no console do XenServer. A tabela 6 compara os dois sistemas com relação a
alguns itens importantes de gerenciamento de máquinas virtuais.
72

Tabela - Configurações Especiais

Ger. Remoto Live Migration Snapshots Monitoramento


de Hardware
VMware Sim Não Sim Sim
Server 2
XenServer Sim Sim Sim Sim
5.6
(Do autor, 2010)

Criação de máquinas virtuais:

Nessa pesquisa foram instaladas duas máquinas virtuais em cada hypervisor,


uma com Windows XP SP3 e outra com Debian 5 64 bits.
No Vmware Server o modo de criar máquinas virtuais foi considerado simples,
por meio da opção Virtual Machines é iniciado os procedimentos. Em seguida, as
opções de configuração de hardware para a máquina virtual que está sendo criada,
como o nome da VM, qual sistema operacional pertence e memória. De acordo com
o sistema operacional escolhido, o VMware Server sugere a quantidade de memória
apropriada.
Oferece a opção de dividir o disco rígido virtual ou alocá-lo todo, e o tipo de
dispositivo. Existe também a opção de salvar ou não alterações no disco rígido,
opção muito útil para testes de software e sistema operacional.
Em seguida as configurações da interface de rede, quantidade de placas de
redes virtuais, tipo de conexão, configuração de drive de CD-ROM, podendo usar o
hardware físico ou uma imagem no disco rígido. Por fim as configurações de
disquete, USB e a tela de revisão das configurações da máquina virtual pronta para
ser criada (Figura 31).
73

Figura - Tela de Revisão das Configurações do VMware Server


(Do autor, 2010)

Com o XenServer o procedimento é simplificado também, após conectar o


XenCenter ao XenServer, é possível iniciar os procedimentos de criação da VM.
Este segue praticamente as mesma configurações pedidas pelo VMware Server,
como nome da máquina, tipo de sistema operacional, localização da imagem do SO,
especificações do hardware destinada para essa VM e etc. Utilizando a opção
console é possível visualizar a VM criada pelo XenCenter, como se fosse uma
máquina física.
Tanto no XenServer como no VMware Server, é necessário a instalação das
ferramentas para monitoramento dos recursos das máquinas virtuais, Xen Tools e
VMware Tools respectivamente.
No VMware Server o processo de criação de máquinas virtuais ocorreu sem
nenhuma complicação ou impedimento, tanto para o Windows quanto para o Linux.
Da mesma forma ocorreu no XenServer. A tabela 7 demonstra a comparação no que
diz respeito às instalações de máquinas virtuais.
74

Tabela - Instalação das Máquinas Virtuais

Instalação Linux Windows


VMware Server 2 Simples – Modo Sem complicações Sem Complicações
gráfico assistido
XenServer 5.6 Simples – Modo Sem Complicações Sem Complicações
gráfico assistido
(Do autor, 2010)

A figura 32 mostra os dois SO instalados e sendo executados no XenServer.

Figura - SO's Executando no XenServer


(Do autor, 2010)

Comparação básica de desempenho:

O objetivo desse trabalho não é focar exclusivamente nas comparações de


desempenho. Foram realizados apenas alguns testes básicos de comunicação,
transferência de dados e processamento de uma máquina física com as máquinas
virtuais, para verificar se existe diferença quando instaladas com o VMware Center e
o Xen Server.
A máquina virtual utilizada nos testes de comparações é a que utiliza o
Windows XP. Foram instaladas os mesmo softwares na VM com Windows XP, do
XenServer e do VMware Server. Essas VM’s terão 1 GB de memória e 2
processadores dedicados.
75

Primeiramente serão feitos testes usando o ping do Windows, comando que


pode ser usado para testar conectividade entre equipamentos. Em seguida será
instalado em uma máquina física, com Windows XP o pgAdmin 3 (gerenciador do
banco de dados Postgresql). Dessa forma será feita a conexão com o Postgresql
instalado na máquina virtual Windows XP, no Xen e no Vmware Server. Serão feitos
procedimentos de cópia de segurança, restauração e Vacuum, que é um
procedimento de manutenção do postgresql de desfragmentação das tabelas do
banco de dados. E por ultimo um teste de conversão de vídeo nas máquinas virtuais.

Ping
De uma máquina física foram enviadas 10 requisições com 10.000 bytes para
as duas máquinas virtuais instaladas no XenServer e no VMware Server. Esse teste
visa comparar possíveis diferenças de conexão entre as máquinas virtuais.

Restauração e desfragmentação de banco de dados


De uma máquina física, utilizando-se da ferramenta pgAdmin 3 foi feita a
requisição de uma restauração de um banco de dados de 22,9 MB, estando o
servidor em uma máquina virtual Windows instalada no XenServer e no VMware
Server. Esse teste visa comparar desempenho de processamento e transferência de
dados.
Também foi feita uma rotina de manutenção do banco de dados, chamado
Vacuum, que desfragmenta as tabelas. Esse procedimento é feito todo no servidor
do banco, e compara apenas processamento das máquinas virtuais.

Conversão de Video
Visando fazer uma comparação de processamento de vídeo, foi instalado o
software Free DVD Creator para uma conversão de um vídeo em formato RMVB
(Real Media Variable Bitrate) de 67,9 MB para o formato de DVD (Digital Vídeo
Disk).

Conclusões de Desempenho:
No teste de ping as duas máquinas virtuais tiverem o mesmo tempo de
resposta, como mostra a figura 33.
76

Figura - Teste 1 - Ping


(Do autor, 2010)

No teste de recuperação de banco de dados, utilizando-se da máquina física


dentro da rede, o Xen mostrou um desempenho superior (quanto menor tempo mais
satisfatório). Como mostra a figura 34.

Figura - Teste 2 - Recovery


(Do autor, 2010)

Quanto à manutenção de desfragmentarão do banco de dados, o Xen teve


um desempenho superior (quanto menos tempo melhor é o desempenho). Figura 35.
77

Figura - Teste 3 - Vacuum


(Do autor, 2010)

Em uma rotina de conversão de vídeo, o Xen mostrou-se bem superior, com


relação ao tempo gasto para a tarefa. Figura 36.

Figura - Teste 4 – Conversão de Video


(Do autor, 2010)

É importante levar em consideração que a versão do VMware submetida aos


testes não é uma máquina do tipo 1, ou seja, não é implementada diretamente ao
78

hardware. Conseqüentemente perde-se um pouco de desempenho ao ser


comparada ao XenServer, que foi implementado diretamente ao Hardware.
O XenServer mostrou uma certa lentidão com sua interface de
gerenciamento. Por ser feita por outra estação de trabalho, se a rede não for tão
veloz, pode ter certo atraso nas respostas entre o monitor de gerenciamento e o
servidor, como aconteceu nos ambientes de testes dessa pesquisa.
79

CONCLUSÕES

A virtualização já é uma realidade no mundo da tecnologia da informação, e


ainda está em fase de crescimento. Empresas se esforçam para ter participação
nesse mercado e comunidades de software-livre não ficam atrás, apresentando
diversas alternativas gratuitas e eficientes. Laureano (2006, p.37) afirma que “o uso
de máquinas virtuais atingirá o seu auge em um curto espaço de tempo, pois as
pesquisas na indústria e nas universidades para aprimorar as questões de
segurança, mobilidade e desempenho têm crescido bastante”.
Empresas como Intel e AMD, estão cada vez mais aperfeiçoando seus
processadores para que a virtualização ocorra de forma mais simplificada. Laureano
(2006, p.38) diz que “pesquisas futuras devem levar os sistemas operacionais
convidados a gerenciar a memória juntamente com o monitor de máquinas virtuais”.
Os sistemas de entrada/saída serão projetados para fornecer suporte à
virtualização com alta-performance (LAUREANO, 2006).
A VMware recentemente anunciou a tecnologia MVP (Mobile Virtualization
Pplatform) , dedicada a celulares, que possibilitará o uso de vários sistemas
operacionais móveis em apenas um único smartphone. Segundo previsão do
Gartner, 50% dos smartphones já serão vendidos com recurso de virtualização em
2012 (INFOONLINE, 2008).
A virtualização se mostra uma alternativa com enorme potencial para atender
as necessidades de crescimento sustentável das organizações. É um importante
auxílio para que a evolução da tecnologia da informação continue e diminua o
consumo de recursos, como energia, matéria prima e espaço.
O mercado está se desenvolvendo cada vez mais, apresentando novas
funcionalidades que agregam ainda mais vantagens, oferecendo além dos monitores
de máquinas virtuais, outros softwares de gerenciamento e apoio.
As empresas estão descobrindo os benefícios da virtualização e cada vez
mais será preciso profissionais capacitados para por em prática todos os recursos da
virtualização. São variadas as opções de escolha de qual sistema utilizar e quais
apresentam melhores ganhos de desempenho e economia. Apenas conhecendo
esses sistemas será possível obter melhores rendimentos e menos consumo de
recursos.
80

Conclui-se que os dois sistemas de virtualização, XenServer e Vmware


Server, são excelentes opções disponíveis para virtualização. As adaptações de
hardware estão cada vez mais aproximando as máquinas virtuais ao desempenho
igual a um sistema operacional instalado fisicamente no hardware.
Nos testes práticos obteve-se um desempenho superior do XenServer, porém
os testes são de desempenhos básicos, e a versão do VMware usada não foi a
instalada diretamente no hardware.
Fica como sugestão para futuras pesquisas a realização de testes utilizando
parâmetros diferentes, como por exemplo, a utilização de softwares específicos para
medição de desempenho, e também a utilização de máquinas que suportam
produtos da VMware mais apropriados para datacenter do que o Vmware Server,
como o ESX e o ESXi
A virtualização de aparelhos móveis também fica como sugestão em novas
pesquisas, pois em num futuro próximo, possivelmente terá a importância que hoje
tem para servidores e desktops. Essa pesquisa também deixa de sugestão a
abordagem para o sistema de datacenter da WMware, o ESX que exige máquinas
do porte de servidores.
81

REFERÊNCIAS

ALVES, Moisés P. Linux: Modo Texto Para Profissionais. Florianópolis: Visual


Books, 2006. 158 p.

CARMONA. Tadeu (Ed.). Virtualização. São Paulo: Linux New Media, 2008. 319 p.

CITRIX PRODUCTS AND SOUCTIONS. Disponível em: < http:// www.citrix.com


/English/ps2/products/product.asp?contentID=1857200&ntref=hp_nav_US > acesso
em 23 out 2010.

CONCEITOS BÁSICOS DA VIRTUALIZAÇÃO. Disponível em: < http://www.vmware.


com/br/technology/history.html > Acesso em: 22 mai. 2010.

CRIAR UM SERVIDOR VIRTUAL BASEADO EM KVM. Disponível em: <http://


www.ibm.com/ developerworks/br/linux/library/l-kvm-virtual-server/> acesso em 15
out 2010

DAVIS, Wiliam. Sistemas Operacionais: Uma Visão Sistemática. Rio de Janeiro:


Campus, 1990. 616 p.

FAVACHO, Breno I.; MIRANDA, Daniele S.; OLIVEIRA, Luiz Henrique S. Análise
Comparativa do Desempenho da técnica de Virtualização de Servidor. 2008. 59 p.
Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Curso
de Ciência da Computação - Universidade da Amazônia, Belém, Pará.

FILHO, F. G. O. Design de Uma Infra-estrutura Para Ambientes de Desenvolvimento,


Teste e Homologação. MICROSOFT Net, out. 2007. Seção Biblioteca. Disponível
em: < http://msdn.microsoft.com/pt-br/library/cc580584.aspx >. Acesso em: 11 out.
2010.

HORIZONTES DA VIRTUALIZAÇÃO. PRODEMGE, Belo Horizonte,


N. 09, dez. 2009. Disponível em: <http://www.prodemge.gov.br/index .php? option
=comcontent&task=view&id=163&Itemid=138>. Acesso em: 10 set. 2010.

XEN HYPERVISOR - LEADING OPEN SOURCE HYPERVISOR FOR SERVERS.


Disponível em: < http://www.xen.org/products/xenhyp.html>. Acesso em 27 out 2010.

LAUREANO, Marcos. Máquinas Virtuais e Emuladores. São Paulo: Novatec, 2006.


184 p.

LOPES, P. C.; RIBEIRO F.P. Virtualização: Muito mais Que Uma Opção. Revista
Fonte. Revista da Campainha de Tecnologia de Informação do Estado de Minas
Gerais. Belo Horizonte, n.09, p 92-105, 2009
82

MANARA Rosana. Virtualização de Sistemas com VMWARE. 2007. 40 p.


Monografia (Bacharelado em Ciência da Computação) – Curso de Ciência da
Computação da Faculdade de Jaguariúna – Faculdade de Jaguariúna, Jaguariúna,
São Paulo.

MATHEWS, Jeanna N. et al. Executando o Xen: Um Guia Prático para a Arte da


Virtualização. Rio de Janeiro: Alta Books, 2008. 584 p.

MCLEAN, Ian.:THOMAS, Orin. Kit de Treinamento MCITP: Configuração do


Windows Server. Porto Alegre: Bookman, 2010. 792p.

NEIVA, D. Virtualização: fazendo mais com muito menos. maio 2010. Seção
Comentário. Disponível em: < http://www. decisionreport.com.br
/publique/cgi/cgilua.exe/sys/start.htm?infoid=6375&sid=15>. Acesso em: 05 maio
2010.

OLIVEIRA, Guilherme V.N. Solução de Virtualização completa utilizando VMware e


Software Livre: Um Estudo de Caso na CEF. 2007. 54 p. Monografia (Pós-
Graduação) – Curso de Ciência da Computação - Faculdade de Lavras, Minas
Gerais.

PRODUTOS E TECNOLOGIAS DA VIRTUALIZAÇÃO. MICROSOFT. Disponível em:


< http://www.microsoft.com/brasil/servidores/virtualizacao/products.mspx > Acesso
em: 11 out. 2011.

SILVA, D. E. et al. Virtualização Como Alternativa Para Ambientes de Servidores.


2008. 85 p. Trabalho de Conclusão de Curso (Tecnologia em Redes de
Computadores) – Curso de Tecnologia em Redes de Computadores - Faculdade de
Tecnologia de Desenvolvimento Gerencial, Goiânia, Goiás.

TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 2. ed. São Paulo:


Prentice Hall, 2003. 707 p.

TANENBAUM, Andrew S.; VAN STEEN, Maarten. Sistemas Distribuídos: Princípios


e Paradigmas. 2. ed. São Paulo: Prentice Hall, 2007. 416 p.

VIRTUAL. In: DICIONÁRIO do Aurélio. Disponível em: em http://www.


dicionariodoaurelio.com/ dicionario.ph p?P= Virtual. Acesso em: 13 jul. 2010.

VIRTUALBOX. Disponível em: < http://www.virtualbox.org/wiki/VirtualBox >acesso


em 15 out 2010.

VIRTUALIZAÇÃO. NEXTGENERATION CENTER Disponível em: < http://www.


scribd.com/doc/3808705/-Armazenamento-Virtualizacao > Acesso em: 11 out. 2011.

VIRTUAL SERVER 2005 – conhecendo e implementando. Disponível em: <


http://technet.microsoft.com/pt-br/library/cc716502.aspx > acesso em 15 out 2010
83

Produtos e tecnologias de virtualização. Disponível em: < http://www.microsoft.com


/brasil/servidores/virtualizacao/solution-product-ws.mspx > acesso em 15 out 2010

VMWARE PRODUCTS. Disponível em: < http://www.vmware.com/br/products/ >


acesso em 15 out 2010

VMWARE LEVA VIRTUALIZAÇÃO A CELULARES. Disponível em: < http://


info.abril.com.br/ aberto/infonews/112008/11112008-11.shl > acesso em 18 out 2010
REGISTRO DE DEFESA

Monografia de TCC apresentada nesta data à Banca Examinadora abaixo indicada:

___________________________ _______________________
Professor Orientador Assinatura

___________________________ _______________________
Convidado Assinatura

__________________________ ________________________
Convidado Assinatura

RESULTADO: _______________________________

CESUMAR, ___/____/___

Espaço reservado à Coordenação de TCC:

AVALIAÇÕES BIMESTRAIS NOTA


RESUMO DAS
2ª 2 (peso 4ª4 (peso 4)
AVALIAÇÕES 1ª 1(peso 1) 3ª3 (peso 3) FINAL
2)
A - Notas atribuídas
pelo Professor
Orientador

B - Notas atribuídas
pela Banca
Examinadora:
• TF apresentado
(20%)
• Defesa do TF (80%)

NOTA FINAL
≥ 6.0: APROVADO
< 6.0: REPROVADO

1
1º Relatório Parcial
2
2º Relatório Parcial
3
3º Relatório Parcial
4
Monografia Final de TCC
85
86

You might also like