Você está na página 1de 52

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE INFORMTICA E ESTATSTICA


CURSO DE BACHARELADO DE SISTEMAS DE INFORMAO

Estudo de ferramentas auxiliares a Virtualizao de Software

Luana Sandrini Saft

Florianpolis - SC
2008/1

UNIVERSIDADE FEDERAL DE SANTA CATARINA


DEPARTAMENTO DE INFORMTICA E ESTATSTICA
CURSO DE BACHARELADO DE SISTEMAS DE INFORMAO

Estudo de ferramentas auxiliares a Virtualizao de Software

Luana Sandrini Saft

Trabalho de concluso de curso


apresentado

como

parte

dos

requisitos para obteno do grau


de Bacharel em Sistemas de
Informao.
Orientador: Vitrio Bruno Mazzola

Florianpolis - SC
2008/1
2

Estudo de Ferramentas auxiliares a Virtualizao de Software

Luana Sandrini Saft

Trabalho de concluso de curso apresentado como parte dos requisitos para


obteno do grau de Bacharel em Sistemas de Informao.

Orientador: Vitrio Bruno Mazzola


Universidade Federal de Santa Catarina
mazzola@inf.ufsc.br

Banca examinadora

_______________________________
Prof. Mrio Antnio Ribeiro Dantas
Universidade Federal de Santa Catarina
mario@inf.ufsc.br

_______________________________
Prof. Roberto Willrich
Universidade Federal de Santa Catarina
willrich@inf.ufsc.br

Quanto mais aprendo,


mais me dou conta da minha ignorncia.
(Albert Einstein)

AGRADECIMENTOS

Agradeo a Deus pela fora ao decorrer da elaborao do trabalho, aos meus


pais, Cludio e Tereza, por sempre estarem ao meu lado em todos os momentos, s
minhas irms e ao meu cunhado, Luciana, Claudia e Luis Felipe, pelo apoio, ao meu
noivo, Tulio, pela compreenso, incentivo e alegria ao meu lado, e aos meus amigos
pela ajuda tcnica e colaborao.
Ao meu orientador, Vitrio Mazzola, agradeo pela ateno e por seus
ensinamentos e tambm aos professores participantes da banca, Mrio Dantas e
Roberto Willrich, pela oportunidade de trabalharmos juntos.
E a todos que contriburam direta ou indiretamente no meu trabalho, muito
obrigada!

RESUMO

O conceito de Virtualizao est entrando com grande fora no mercado, pois


esta tratando de problemas caros causados pelo avano da tecnologia como, por
exemplo, a incompatibilidade entre software e sistema operacional ou hardware.
Esse problema resolvido simulando sistemas operacionais diferentes na prpria
mquina, utilizando assim um sistema operacional para uso dirio (sistema comum)
e outro(s) para as aplicaes que estaro rodando no mesmo computador e que
necessitam ser executados em determinado ambiente.
Para auxiliar na elaborao de solues pra determinado problema so
utilizadas ferramentas que facilitam essa resoluo. Neste trabalho sero estudadas
algumas ferramentas com o objetivo de conhecer a melhor opo para virtualizao
em determinado ambiente (cliente, desktop, servidor). As ferramentas estudadas
foram: VMware, Virtual PC, Xen e Virtual Server.

Palavras-chave: Virtualizao, Mquina Virtual (VM), VMware, Virtual PC,


Xen, Virtual Server.

ABSTRACT

The concept of virtualization is entering the market with great strength, as this
comes to resolve some expensive problems caused by technology improvement
such as the incompatibility of software and operating system or hardware. This
problem is solved simulating different operating systems in the machine itself, using
an operating system for daily usage (regular operating system) and other (s) for
applications that are running on the same computer and that need to be implemented
in a specific environment.
Tools are used to assist the development of solutions for a specific problem.
This work will discuss some tools in order to know the best option for virtualization in
a given environment (client, desktop, server). The tools studied are: VMware, Virtual
PC, Xen and Virtual Server.

Key Words: Virtualization, Virtual Machine (VM), VMware, Virtual PC, Xen,
Virtual Server.

SUMRIO

AGRADECIMENTOS ................................................................................... 5
RESUMO .................................................................................................. 6
ABSTRACT ............................................................................................... 7
LISTA DE FIGURAS ................................................................................. 10
LISTA DE ABREVIATURAS ....................................................................... 11
1. INTRODUO .............................................................................................. 12
2. MQUINA VIRTUAL ...................................................................................... 14
2.1. Definio ............................................................................................. 14
2.2. Classificao ...................................................................................... 15
2.3. Caractersticas das Aplicaes ........................................................... 17
2.4. Monitor de Mquina Virtual ................................................................. 18
3. VIRTUALIZAO .......................................................................................... 19
3.1. Conceito ............................................................................................. 20
3.2. Caractersticas .................................................................................... 21
3.3. Vantagens da Virtualizao ................................................................ 22
3.4. Tipos ................................................................................................... 23
3.4.1. Emulao de Hardware ............................................................ 24
3.4.2. Virtualizao Completa ............................................................. 25
3.4.3. Para-virtualizao ..................................................................... 26
4. FERRAMENTAS PARA VIRTUALIZAO ............................................................28
4.1. Virtual PC ........................................................................................... 28
4.2. Virtual Server ...................................................................................... 29
4.3. Xen ..................................................................................................... 30
4.4. VMware .............................................................................................. 32
4.4.1. VMware Workstation ................................................................. 33
4.4.2. VMware Player .......................................................................... 35
4.4.3. VMware Server ......................................................................... 35
5. ANLISE DE FERRAMENTAS E MQUINAS VIRTUAIS ....................................... 37
5.1. Virtual PC e Virtual Server .................................................................. 37
5.2. Xen ..................................................................................................... 38
5.3. VMware Server ................................................................................... 38
8

6. CONCLUSO ............................................................................................... 41
6.1. Trabalhos Futuros .............................................................................. 42
REFERNCIAS BIBLIOGRFICAS .............................................................. 43
ANEXO 1 ARTIGO ................................................................................ 45

LISTA DE FIGURAS

FIGURA 1 Diagrama de uma Mquina Virtual ................................................ 15


FIGURA 2 Arquitetura do tipo de Mquina Virtual I ........................................ 16
FIGURA 3 Arquitetura do tipo de Mquina Virtual II ....................................... 16
FIGURA 4 Ambiente Virtualizado ................................................................... 19
FIGURA 5 Exemplo de Virtualizao com Mquinas Virtuais ........................ 20
FIGURA 6 Emulao de Hardware ................................................................ 24
FIGURA 7 Virtualizao completa .................................................................. 25
FIGURA 8 Estrutura da para-virtualizao ..................................................... 27
FIGURA 9 Virtual PC com Guest Linux .......................................................... 29
FIGURA 10 Virtual Server com Guest Linux .................................................. 30
FIGURA 11 Xen com duas mquinas virtuais ................................................ 32
FIGURA 12 Windows Vista com VMware Workstation ................................... 34
FIGURA 13 Windows XP com VMware Server .............................................. 36
FIGURA 14 Particionamento do servidor fsico............................................... 36
FIGURA 15 Quadro comparativo ................................................................... 40

10

LISTA DE ABREVIATURAS

JVM Java Virtual Machine; Mquina Virtual Java.

TI Tecnologia da Informao.

VHD Virtual Hard Disks.

TCP/IP Java Virtual Machine, Mquina Virtual Java.

Processador SMP Symmetric Multi-Processing.

IDE Integrated Development Environment; Ambiente Integrado de


Desenvolvimento.

API Application Programming Interface.

MMV Monitor de Mquina Virtual.

VM Virtual Machine; Mquina Virtual.

SO Sistema Operacional.

Sistema Guest Sistema instalado sob o software de virtualizao; Sistema


Convidado.

Sistema Host Sistema instalado sob o hardware; Sistema Hospedeiro.

11

1. INTRODUO

Com o objetivo de estudar o conceito de Virtualizao de Software e conhecer


algumas de suas solues, foram realizadas pesquisas e estudos nessa rea,
servindo de motivao para a elaborao deste trabalho. Mais especificamente, ser
realizado um estudo de comparao entre algumas ferramentas que servem para
dar suporte a virtualizao, estudando possibilidades de ter mais de uma mquina
virtual em um nico computador, por exemplo, sem perda de desempenho na sua
utilizao, para assim, motivar a utilizao desse conceito.
Essa rea de conhecimento abrange a idia de computao distribuda,
mquinas virtuais e outras tecnologias e mtodos para dar suporte a uma estrutura
de softwares num ambiente virtualizado, com o intuito principal de diminuir os
problemas de compatibilidade entre software e hardware.
A escolha do tema foi sugesto do orientador e aceita com o objetivo de
conhecer e detalhar melhor o tema (antes no conhecido em detalhes por mim).
Esse conceito no novo no mercado, porm um pouco desconhecido (pouco
popular) para algumas empresas. Por isso, interessante estud-lo mais, a fim de
entender a teoria e a prtica e, tambm, os casos de fracasso e sucesso em
implantaes desse conceito, j que se trata de um conceito em fase de expanso
no mercado.
O texto ser organizado da seguinte maneira: no captulo 2 mostrar um
pouco sobre a teoria, classificao e algumas aplicaes das Mquinas Virtuais, o
captulo 3 falar sobre o tema principal deste trabalho, Virtualizao de Software,
mostrando suas vantagens, algumas caractersticas importantes e alguns tipos de
virtualizao. O captulo 4 apresentar as ferramentas utilizadas para a elaborao

12

do trabalho. O captulo 5 far uma anlise das ferramentas analisadas


anteriormente, e por fim, as concluses desse estudo realizado.

13

2. MQUINA VIRTUAL

A mquina virtual serve de base para a tecnologia de Virtualizao e ser


estudada e definida mais detalhadamente a seguir. Sero tambm analisadas
algumas de suas caractersticas e classificaes.

2.1. Definio

A Mquina Virtual (Virtual Machine VM) basicamente um software


representando as funcionalidades de um hardware [BARHAN et al., 2003]. Refere-se
instncia de um hardware virtualizado e um sistema operacional tambm
virtualizado. tambm o nome dado a uma mquina, implementada atravs de
software, que executa programas como um computador real [WIKPEDIA, Mquina
Virtual 2008].
H duas formas de as mquinas virtuais serem utilizadas: sob a forma de
simulao em que criada uma interface com o ambiente para trabalhar com a
mquina virtual, ou sob a forma de emulao que reflete todos os estados internos
do ambiente ao mesmo tempo. Os dois casos so bastante distintos: utilizam
tecnologias e metodologias diferentes para executar as mquinas virtuais.
Os recursos das mquinas virtuais (memria, processador,...) em execuo
em determinado computador so virtualizados: o sistema operacional guest
(convidado) tem a viso que o computador est completo pra ele (todos os
recursos so acessveis), quando o que realmente est ocorrendo a diviso de
recursos e esse software est sendo executado na mquina virtual instalada em
uma parte do sistema operacional host (hospedeiro).
14

A figura mostra um diagrama de uma mquina virtual:

Figura 1: Diagrama de uma Mquina Virtual

2.2. Classificao

Uma Mquina Virtual possui diversas caractersticas interessantes e, uma


dentre elas, a de poder executar qualquer tipo de software: um servidor, um cliente
ou um desktop. Essa caracterstica de portabilidade est explcita em um dos
exemplos de mquina virtual: a JVM (Mquina Virtual Java). A JVM um mecanismo
que permite executar um programa escrito em Java em qualquer ambiente ou
plataforma, o que torna a linguagem Java extremamente porttil, podendo ser
executadas desde computadores comuns a celulares ou equipamentos diversos.
As mquinas virtuais podem ser classificadas da seguinte maneira
[WIKIPEDIA Mquina Virtual, 2008]:

15

(a) Tipo 1: Sistema em que o monitor implementado entre o hardware e os


sistemas convidados (Guest System). Exemplos desse tipo de mquinas
virtuais so o Xen e o VMware ESX Server.
(b) Tipo 2: Sistema em que o monitor implementado como um processo de
um sistema operacional real, denominado sistema anfitrio (Host System).
Exemplos desse tipo de mquinas virtuais so VMware Server e o Virtual
PC.
(c) Tipo Hbrido: Otimizaes inseridas nas arquiteturas do Tipo 1 e do Tipo 2,
principalmente nas operaes de I/O, para melhorar o desempenho da
mquina virtual.
As figuras que seguem so os modelos da arquitetura das mquinas citadas
anteriormente.

Figura 2: Arquitetura do tipo de Mquina Virtual I

Figura 3: Arquitetura do tipo de Mquina Virtual II


16

2.3. Caractersticas das Aplicaes

As mquinas virtuais podem executar vrios tipos de aplicaes e servios. O


principal e o mais importante a de integrao entre plataformas. H tambm a
consolidao do servidor, a automao e consolidao dos ambientes de teste e
desenvolvimento, a re-hospedagem de verses anteriores de aplicaes, a
demonstrao de softwares, entre outros tipos de servios e aplicaes.
A integrao de plataformas uma forma de utilizar plataformas de
diferentes fabricantes (por exemplo, Windows, Linux, Mac) e/ou diferentes verses
(por exemplo, Windows XP, Windows Vista) em um mesmo ambiente fsico
(hardware) sem ter problemas de compatibilidades entre esses sistemas.
A consolidao do servidor poder utilizar apenas um computador
(hardware) como o servidor com vrias mquinas virtuais instaladas e executadas
paralelamente. Esse mtodo comumente utilizado quando a estrutura da rede
possui vrios servidores, cujas aplicaes utilizam apenas uma parte dos recursos
desses computadores, mesmo que essas aplicaes possuam verses diferentes
e/ou necessitem ser executadas em ambientes distintos.
A automao e consolidao dos ambientes de teste e desenvolvimento
consistem na existncia da possibilidade de testar uma aplicao, ainda em
desenvolvimento ou j pronta, em diferentes sistemas operacionais e/ou verses
diferentes de determinado sistema operacional para que, desde o incio, os riscos de
incompatibilidade de determinadas funcionalidades do programa com o sistema
operacional utilizado sejam reduzidos, excluindo esse requisito de software para a
execuo dessa aplicao.

17

A re-hospedagem de verses anteriores de aplicaes e a demonstrao de


softwares o poder criar novas mquinas virtuais a qualquer momento para testar e
utilizar softwares de diferentes verses (do software ou do sistema operacional) ou
com problemas de compatibilidade com determinados sistemas operacionais ou com
outras aplicaes.
As caractersticas dos servios e as aplicaes citadas anteriormente servem
para dar uma viso mais detalhada das possveis formas de utilizao das mquinas
virtuais, enaltecendo algumas de suas vantagens.

2.4. Monitor de Mquina Virtual

O Monitor de Mquina Virtual (MMV) ou Virtual Machine Monitor (VMM) uma


camada de software que fica entre o sistema hospedeiro (real) e o sistema
convidado. Essa camada cria a idia que o sistema convidado tem um hardware s
pra ele, enquanto o que acontece realmente que esse sistema est usando
apenas uma parte do hardware real que est sendo dividido entre os sistemas
convidados existentes (mquinas virtuais).

18

3. VIRTUALIZAO

A tecnologia de virtualizao cresceu nos ltimos tempos pelo fato de propor


solues para problemas da computao moderna, sendo acompanhada pelo
avano das tecnologias de hardware, cujos computadores so bastante poderosos
para suportar a execuo de vrios sistemas completos. A idia de virtualizao na
camada do sistema operacional da dcada de 70, utilizando a primeira mquina
virtual da IBM, a VM/CMS que se refere a famlia System/370, System/390, zSeries,
System z9 IBM mainframes e sistemas compatveis [WIKIPEDIA VM_CMS, 2007].
O termo virtualizao foi concebido pela rea de TI para se referir a tudo que
diga respeito a mquinas virtuais e a softwares da gesto de sistemas
[PORTALPME, 2008].

Figura 4: Ambiente virtualizado.

19

3.1. Conceito

O processo de virtualizao uma tecnologia que diminui a importncia


(abstrao lgica) do sistema operacional, criando uma nova camada de software
que se comunica diretamente com o hardware (tarefa do sistema operacional),
possibilitando a existncia de vrios sistemas operacionais executando em um
mesmo computador ao mesmo tempo; dividindo os recursos do computador em
mltiplos ambientes de execuo. O uso da virtualizao representa a iluso de
vrias mquinas virtuais independentes, cada uma rodando uma instncia de um
sistema operacional virtualizado [SMITH; NAIR, 2005].
A seguir, uma figura que exemplifica a virtualizao com mquinas virtuais.

Figura 5: Exemplo de Virtualizao com Mquinas Virtuais.


[NOVELL,2006]

O nico segredo dessa tecnologia possuir uma mquina potente, pois os


recursos da aplicao sero divididos entre as mquinas virtuais instaladas e em
execuo. Entende-se por mquina potente uma mquina com recursos de

20

hardware adequados situao, como memria, espao em disco, processador


suficientemente bons.

3.2. Caractersticas

Algumas caractersticas importantes do conceito de virtualizao, que


tambm so consideradas como princpios dessa tecnologia [GARFINKEL et al.,
2003] sero apresentadas a seguir:
(a) A camada de virtualizao deve isolar uma mquina virtual da outra de
modo que no exista nenhuma interferncia entre ambas. No
aceitvel que o funcionamento de uma mquina virtual afete a
performance de outra mquina virtual.
(b) Capacidade de gerenciamento de uma mquina virtual independente das
outras mquinas virtuais.
(c)

necessrio

suportar

uma

variedade

diferente

de

sistemas

operacionais para acomodar os diferentes aplicativos populares


existentes.
(d) O overhead (qualquer processamento ou armazenamento em excesso
de algum recurso ao ser executada uma tarefa) introduzido pela camada
de virtualizao deve ser pequeno (o mnimo possvel).
(e) O Monitor das mquinas virtuais deve ter acesso e controle a todas as
informaes sobre processos rodando em suas mquinas virtuais. Deve
tambm ser capaz de inserir instrues na operao de mquinas
virtuais.

21

Essas caractersticas citadas reforam o conceito de virtualizao e,


conseqentemente, apresentam algumas vantagens implcitas e diretas ao ser
aplicado esse conceito: portabilidade de aplicaes e sistemas, isolamento de
aplicaes e sistemas que estejam rodando em mquinas virtuais diferentes (sem
interferncia nos resultados obtidos) e pouca influncia no processamento de outras
aplicaes.

3.3. Vantagens da Virtualizao

Algumas vantagens so adquiridas com o processo de virtualizao, entre


elas podem-se citar as seguintes:

Infra-estrutura do hardware simplificada e flexvel;

Capacidade do hardware alocada dinamicamente;

Modelo utilitrio para servios de TI;

Pessoas, processos e tecnologias concentrados em nveis de servio;

Maior produtividade;

Segurana;

Facilidade de cpia na migrao de servidores;

Reduo da freqncia de aquisio de novos servidores, economia.

As vantagens referidas anteriormente mostram o porqu de encarar esse


conceito da informtica com mais ateno, pois um dos principais aspectos citados
refere-se economia financeira que a instituio ir ter ao se engajar em projetos
com ambientes virtualizados. O fato de no necessitar de um local fsico espaoso
para manter diversos servidores e, manter apenas algumas mquinas (servidores)
ligadas, por exemplo, uma das vantagens financeiras possveis, pois h, alm da
22

economia de energia, uma economia por conta de no ter necessidade da aquisio


de novos servidores, considerando que essas poucas mquinas estaro
executando os mesmos servios (virtualizados) que todos os outros diversos
servidores estariam executando sem o auxlio da virtualizao.
Com uma infra-estrutura virtual na organizao, possvel obter vrios pontos
positivos como:
I. Taxas de utilizao de 60% a 80% para servidores x86, em comparao com
as atuais de 5% a 15%;
II. Provisionamento de novos aplicativos em poucos segundos, em vez de dias;
III. Tempo de resposta para solicitaes de alteraes, medidos em minutos;
IV. Manuteno de hardware sem tempo de inatividade e sem a necessidade de
esperar pelas janelas de manuteno.
Com esses resultados alcanados, h uma melhora significativa na instituio
tanto do ponto de vista estrutural, quanto do econmico.

3.4. Tipos

Existem, basicamente, trs tipos de virtualizao que so conhecidos como:


emulao

de

hardware

(hardware

emulation),

virtualizao

completa

(full-

virtualization) e para-virtualizao (para-virtualization). H outros tipos citados por


outros autores, porm foram deixados para uma anlise em outro momento, pois o
intuito deste trabalho conhecer os principais tipos.
A seguir, esses tipos sero descritos e apresentados para o esclarecimento
de suas principais caractersticas.

23

3.4.1. Emulao de hardware

Emulao de hardware (hardware emulation) uma forma de virtualizao


mais complexo por ter que emular (reproduzir) de maneira precisa o comportamento
de um hardware (conjunto de instrues, estado de execuo do processador,
memria cache, ciclos de clock), ou seja, a mquina virtual simula completamente o
hardware onde a aplicao ser executada, fazendo com que o Sistema Operacional
instalado na mquina virtual utilize um processador diferente do hardware original.
O hardware a ser emulado bastante diferente do hardware real, onde o
sistema est sendo executado, como mostra na Figura 6 e como descrito a seguir.

Figura 6: Emulao de Hardware [IBM, 2007].

Na Figura 3.1, h dois hardwares sendo emulado: o primeiro pela mquina


virtual A - Hardware VM A, e o segundo pela mquina virtual B - Hardware VM
B. A camada representada pelo Hardware VM A e Hardware VM B compem a
camada de virtualizao do hardware.
Um dos pontos positivos desse tipo de virtualizao a utilidade para os
desenvolvedores de hardware e de firmware, pois podem validar solues sem a
necessidade do hardware real, por exemplo, pode testar aplicativos e servios
ligados diretamente ao hardware, sem afetar o sistema/hardware principal. J um

24

dos pontos negativos a lentido gerada, podendo chegar at 100 vezes mais lento
que o suposto hardware real [IBM, 2007].
Alguns exemplos de ferramentas que utilizam essa tcnica de virtualizao
so os Bochs [BOCHS, 2008], QEMU [QEMU, 2008], algumas verses do Microsoft
Virual PC [Virtual PC, 2008].

3.4.2. Virtualizao completa

Virtualizao completa (full-virtualization) uma tcnica de virtualizao que


permite que no haja alteraes no momento da execuo de qualquer software.
Para isso, essa tcnica realiza uma simulao do hardware da mquina criando um
novo sistema virtual onde qualquer sistema operacional poder ser executado
normalmente (sem a necessidade de qualquer modificao no Sistema Operacional
convidado ou aplicativo).
A figura a seguir mostra como funciona estruturalmente a virtualizao
completa.

Figura 7: Virtualizao completa [NOVELL, 2006].

25

A simulao executada nessa tcnica no to lenta quanto executada na


tcnica de emulao, pois no necessrio representar os estados de execuo do
hardware, e sim, representar a memria principal, o conjunto de instrues do
processador, interrupes, excees e acesso aos dispositivos da mquina real.
Um ponto a se ter cuidado com esse tipo de virtualizao que algumas
instrues privilegiadas, quando executadas em modos diferentes (modo usurio ou
modo supervisor), geram resultados diferentes conforme o modo que as executou.
Uma soluo adotada pelo VMware ESX Server para amenizar esse tipo de
problema verificar um pedao do cdigo que est sendo executado na mquina
virtual e modificar as instrues que poderiam resultar em erros. Essa soluo
conhecida como binary patching. As instrues que podem ser executadas
diretamente no hardware so simplesmente repassadas a ele pelo Monitor de
Mquinas Virtuais (MMV).
Alguns exemplos de ferramentas/sistemas que utilizam esse tipo de
virtualizao so o VMware [VMware, 2008], Adeos, Mac-on-Linux, Parallels
Desktop.

3.4.3. Para-virtualizao

Para-virtualizao (para-virtualization) uma tcnica de virtualizao em que


a mquina virtual no simula o hardware, mas apresenta uma API (Application
Programming Interface) para as mquinas virtuais parecida com o hardware real.
Essa tcnica requer que o sistema operacional virtualizado seja explicitamente
portado (modificado) para permitir a sua execuo. O sistema operacional que est
rodando dentro da mquina virtual tem a iluso de estar sendo executado

26

diretamente sobre o hardware real, porm ele sabe que est sendo executado na
camada virtual e que pode interagir com ela. A conseqncia imediata desse
conhecimento a maior performance do conjunto.
A para-virtualizao possui melhor desempenho que a virtualizao completa,
pois os drivers executados nas mquinas virtuais para-virtualizadas so os drivers
reais para os dispositivos fsicos e na virtualizao completa so os drivers
emulados. Porm, ao organizar as requisies feitas pela mquina virtual e
encaminha-las ao sistema principal, a para-virtualizao no as interpreta, causando
uma pequena diminuio em seu desempenho.
Na para-virtualizao, o funcionamento do Sistema Operacional (SO) e do
hardware da seguinte maneira: o SO executado na mquina virtual (hspede)
portado para uma camada de hardware que virtualiza todas as relaes desse
sistema com o hardware. Quando o SO real atualiza estruturas de dados do
hardware ou d inicio a uma operao de acesso direto memria, o SO hspede
faz chamadas/requisies API.
O exemplo de ferramenta mais utilizada que possui esse tipo de virtualizao
o Xen.
A seguir, uma figura de como funciona a para-virtualizao.

Figura 8: Estrutura da para-virtualizao.

27

4. FERRAMENTAS PARA VIRTUALIZAO

Existem vrios softwares que colocam em prtica o conceito de virtualizao.


Essas ferramentas so completas e fceis de manipular, necessitando apenas do
conhecimento do que ser implementado. Esses softwares criam mquinas virtuais
que permitem a execuo de Sistemas Operacionais diferentes do Sistema
Operacional instalado na mquina real rodando simultaneamente.
A seguir, sero apresentadas algumas das ferramentas mais utilizadas e
conhecidas por desenvolvedores e usurios dessa tecnologia. Essas ferramentas
foram selecionadas dentre as existentes, porque exibem caractersticas bastante
diferentes entre si, por exemplo, com relao ao suporte a Sistemas Operacionais
Host e Guest, por tratar de ferramentas free, pagas ou opensource, e principalmente
pela facilidade de obteno do aplicativo e de sua documentao (considerando que
algumas ferramentas que foram vistas no tinham documentao ou sua
documentao era muito pobre, o que dificultaria o andamento do trabalho, visto
que o seu objetivo principal no era aprender a utilizar ferramentas e sim a
tecnologia).

4.1. Virtual PC

O Virtual PC uma soluo para desktop desenvolvida pela Microsoft em


2003. um software que funciona como a maioria dos outros desse ramo: uma nova
janela aberta com o Sistema Operacional convidado. Esse sistema convidado
(guest) pode ser Linux ou Windows, porm o Sistema Operacional nativo sempre
ser Windows, sem suporte para a plataforma Linux.
28

Algumas de suas caractersticas so:


I. Suporte para at quatro adaptadores de rede por mquina;
II. As configuraes so baseadas na linguagem XML;
III. Possui Virtual Machine Additions, que oferece alto nvel de integrao entre
os sistemas;
IV. Roda a maior parte dos sistemas sem necessidade de drivers customizados.

Figura 9: Virtual PC com Guest Linux.

4.2. Virtual Server

O Virtual Server uma soluo para Sistema Operacional Servidor


desenvolvida pela Microsoft, compatvel com Windows Server 2000 e 2003. J
possui um release dois da verso 2005, fornecendo aos administradores maior
controle sobre os servidores, conectando mquinas virtuais e permitindo
automatizao durante o processo.
29

Suas principais caractersticas so [Virtual Server, 2008]:


I. Suporta a tecnologia de 64 bits;
II. Suporte para conectividade, permitindo clusters de todas as mquinas virtuais
pertencentes ao mesmo host;
III. Funciona somente em servidor Windows;
IV. Possibilidade de migrao de mquinas virtuais com ferramentas especiais;
V. Virtual Hard Disks (VHD): oferece flexibilidade ao encapsular mquinas
virtuais em discos virtuais.

Figura 10: Virtual Server com Guest Linux.

4.3. Xen

O Xen uma opo de software opensource para virtualizao de software,


que tem como base o sistema operacional Linux e baseado na General Public
Licence (GPL). Esse software utiliza o conceito de para-virtualizao (abordado na

30

seo 3.4.3 deste trabalho). uma ferramenta com caractersticas muito parecidas
com o VMware, porm no to fcil de utilizar quanto ele. Algumas distribuies
Linux como o Red Hat e o Debian j possuem suporte nativo ao Xen.
O Xen tem como principal funo organizar as requisies realizadas pelas
mquinas virtuais e repass-las para o sistema principal.
Esse software voltado para solues em servidores, est atualmente na
verso 3.0 e conta com o apoio, alm da comunidade opensource, da Novell atravs
do Suse Linux Enterprise 10. O Xen nasceu do projeto NetOS (Networks ans
Operating Systems), criado pelo Computer Laboratorys Systems Research Group
e pretende criar uma camada de abstrao onde o Sistema Operativo possa correr
nos recursos dos servidores por uma rede TCP/IP.
As principais caractersticas do Xen so:
I. Baixo custo na implementao;
II. Suporte para 32 usurios com memria de 4GB;
III. Suporte para a tecnologia 64 bits.
IV. Possui cdigo aberto, proporcionando maior integrao com outras
tecnologias (softwares opensource);
V. Possui alto rendimento e desempenho (por causa do conceito de paravirtualizao).
Exemplo, a seguir, de um ambiente virtualizado utilizando o Xen.

31

Figura 11: Xen com duas mquinas virtuais.

4.4. VMware

O VMware uma ferramenta muito conhecida e popular entre os usurios do


ramo da virtualizao e utiliza o tipo de virtualizao completa. De fcil uso e
excelente desempenho, o VMware permite a emulao de vrios Sistemas
Operacionais ao mesmo tempo sobre um sistema hospedeiro, com o auxlio de
mquinas virtuais.
Um dos requisitos importantes no conceito de virtualizao, como
mencionado anteriormente, a necessidade de ter um hardware bom para dar
suporte aos outros sistemas que iro rodar na mesma mquina. A memria um
quesito de grande importncia quando se fala em ter um hardware bom, porque ela
um dos itens que influencia diretamente no desempenho da aplicao/servio
solicitado. A gerncia de memria no VMware feita diretamente pelo sistema
convidado e para garantir que no ocorra nenhum conflito de memria entre os dois
32

sistemas (o convidado e o real), o VMware aloca uma parte da memria para uso
exclusivo.
Algumas caractersticas do VMware so as seguintes:
I. Suporta sistemas operando na tecnologia 64 bits, incluindo Windows e Linux;
II. Tem suporte a dois processadores SMP virtual;
III. Monitora e controla a infra-estrutura em uma console central de gerncia.
A sute de software desse fabricante VMware Inc. dividida em alguns
produtos, entre eles: VMware Workstation (utilizado em ambientes desktop), VMware
Player (utilizado em ambientes desktop) e VMware Server (utilizado em ambientes
de servidores). O VMware Player e o VMware Server possuem verses gratuitas
para download. J o VMware Workstation um utilitrio no gratuito (pode ser
adquirido para testes por 30 dias no site oficial).

4.4.1. VMware Workstation

Esta a verso comercial do VMware que utilizada em estaes de


trabalho. O VMware Workstation destaca-se pela facilidade de uso: seus assistentes
guiam o usurio no processo de criao de mquinas virtuais, ajudam a montar
clones de mquinas virtuais e tambm mostram que possvel criar grupos de
mquinas virtuais, de uma s vez, e coloc-las em redes.
Com o VMware Workstation possvel criar mquinas virtuais em dispositivos
externo como um disco rgido ou um pen-drive, atravs de um produto adicional
chamado ACE Option Pack [VMware, 2008].

33

Atualmente, encontra-se na verso 6.0, mas j possui uma verso 6.5 beta.
Na verso 6.0 do VMware h novas funcionalidades, entre elas [VMware, 2008]:
I. Suporte ao Windows Vista (SO convidado e SO nativo);
II. Suporte para dispositivos USB 2.0, incluindo o armazenamento de alta
velocidade e iPods;
III. Capacidade de acessar remotamente o console de uma VM de um cliente
VNC;
IV. Capacidade de executar mquinas virtuais em segundo plano, sem a
Workstation UI;
V. Integrao com IDEs (Visual Studio e Eclipse);
VI. Segurana.
A figura mostra um ambiente utilizando uma VMware Workstation.

Figura 12: Windows Vista com VMware Workstation.

34

4.4.2. VMware Player

Esta a verso mais simples do produto e que tambm disponibilizada


gratuitamente para download. O VMware Player indicado para aplicaes leves e
no pode criar mquinas virtuais, somente executa as mquinas virtuais criadas por
outras verses de VMware (Workstation, Server, ESX).
O VMware Player instalado no computador como uma aplicao de desktop
padro. Depois de instalado, o VMware Player executado em uma janela
separada. Ele possui caractersticas que permitem que os usurios configurem suas
mquinas para obter o melhor desempenho. Atualmente, o VMware encontra-se na
verso 2.0.

4.4.3. VMware Server

O VMware Server (que anteriormente chamado de VMware GSX Server)


um produto gratuito que pode ser instalado em sistemas Linux ou em sistemas
Windows, possuindo grande estabilidade nos sistemas mencionados. Tornou-se
gratuito em 12 de junho de 2006 e disponibilizado para download no site oficial do
fabricante.

35

Figura 13: Windows XP com VMware Server.

O VMware Server uma ferramenta que permite que o servidor fsico seja
particionado em diversas mquinas virtuais e, aps isso, o usurio j pode comear
a experimentar os benefcios da virtualizao. Com VirtualCenter add-on, os
usurios podem monitorar e gerenciar toda infra-estrutura de TI existente. Essa
ferramenta pode compartilhar com os sistemas (SO) convidados os perifricos de
hardware como: CD-ROM , placas de rede e portas USB.

Figura 14: Particionamento do servidor fsico.


36

5. ANLISE DE FERRAMENTAS E MQUINAS VIRTUAIS

Os produtos para virtualizao citados anteriormente foram analisados com a


inteno de conhec-los bem e, assim, poder escolher a melhor opo para
virtualizar determinado ambiente, de acordo com a necessidade.
A seguir, ser comentado o que foi implementado e algumas caractersticas
percebidas com a breve utilizao de cada ferramenta. Alguns critrios foram
utilizados para analisar essas ferramentas: (a) verificar Sistema Operacional de
suporte (host), (b) verificar compatibilidade entre Sistema Operacional host e guest,
(c) e analisar a facilidade de utilizao e configurao dessas ferramentas. Esses
foram os critrios escolhidos para auxiliar no desenvolvimento do trabalho e facilitar
a comparao entre as ferramentas, pois com eles possvel diferenci-las de
maneira clara e assim ajudar na melhor escolha para determinado problema e
situao.

5.1. Virtual PC e Virtual Server

Primeiramente, foram instaladas as ferramentas Virtual PC e Virtual Server.


Ambas pertencem Microsoft e rodam apenas em plataforma Windows (Sistema
Host). Essas ferramentas possuem uma interface simples e intuitiva, podendo ser
consideradas de fcil utilizao.
O nico problema que quando o sistema convidado (guest) instalado na
mquina virtual no da plataforma Windows, o produto fica instvel: a interface
aparece um pouco desfocada, resoluo distorcida, a utilizao de programas
limitada, entre outros problemas referentes diferena de Sistemas Operacionais.
37

5.2. Xen

Aps a experincia de trabalhar com as ferramentas da Microsoft, foi


instalada a ferramenta opensource Xen numa plataforma Linux. Do ponto de vista de
eficincia, essa ferramenta apontada por alguns autores ([Villanustre, 2008],
[Jones, 2008], [Xen, 2008]) como sendo a melhor escolha para virtualizao,
fazendo com que os sistemas convidados executem com desempenho de mais de
95% do desempenho da mquina host.
O ambiente do software Xen amigvel, o que o torna de fcil manipulao.
Um ponto negativo dessa ferramenta que por ela utilizar a para-virtualizao ela
necessita alterar o kernel do Sistema Convidado, e quando esse sistema convidado
possui cdigo fechado (por exemplo, o sistema Windows) dificulta essa alterao
que necessria para a virtualizao (problema relativo s licenas de software).
Para esses sistemas, a virtualizao s poder ser realizada se houver suporte do
hardware.

5.3. VMware Server

A prxima e ltima ferramenta a ser estudada ser a VMware Server. Esse


produto um dos softwares da VMware para virtualizao e pode ser instalada tanto
em sistemas Linux quanto em sistemas Windows. Foi escolhida essa ferramenta
entre as outras existentes do mesmo fabricante, pois foi a considerada mais
interessante para estudo. A VMware Player era uma ferramenta mais simples e a
VMware Workstation, alm de no ser gratuita, possua algumas funcionalidades
que no interessavam para o estudo que foi realizado neste trabalho.
38

O VMware Server utiliza o conceito de virtualizao completa, o que faz com


que no haja a necessidade de ter qualquer tipo de alterao no Sistema Guest.
Essa ferramenta foi a mais fcil de ser instalada e configurada: possui uma interface
simples e intuitiva, com um assistente que ajuda a fazer praticamente tudo o que se
deseja (e se a ferramenta possuir suporte).
O software foi instalado em dois sistemas diferentes (Sistema Host): Windows
e Linux. O Sistema Guest tambm foi testado com esses dois sistemas (Windows e
Linux). Foram feitas algumas combinaes entre os sistemas host e guest (nessa
ordem): Windows e Windows, Windows e Linux, Linux e Linux, e Linux e Windows. A
instalao dos sistemas guest foi tranqila. A migrao das mquinas virtuais
criadas em hosts Linux para hosts Windows (ou vice-versa) muito simples: copiouse a pasta onde foi criada a Mquina Virtual em um sistema para o outro, no
havendo a necessidade de recri-las.
O VMware Server tambm possui uma interface web que permite a execuo
de mquinas virtuais e, tambm, o monitoramento dos recursos que esto sendo
utilizados pelo sistema.

5.4. Anlise Geral

Segue um quadro com o comparativo geral das ferramentas analisadas,


conforme descrito nos itens anteriores.

39

Figura 15: Quadro comparativo

40

6. CONCLUSO

A Virtualizao um conceito em fase de expanso no mercado de TI, pois


somente agora as mquinas esto ficando potentes o suficiente para suportar bem
o processo de Virtualizao.
Hoje, os usurios dessa tecnologia esto aprendendo a lidar com ela e a
sugar todas as vantagens de se trabalhar em um ambiente virtualizado, vantagens
essas que atingem principalmente o aspecto financeiro da instituio, que
conseqentemente incentiva seus funcionrios a trabalhar com essa tecnologia.
Esse o ciclo que estar vigorando nos prximos tempos, impulsionado pelo avano
tecnolgico referente qualidade dos processadores, das memrias e outros
componentes de hardware.
Com esse trabalho, pode-se perceber as vantagens que a virtualizao
proporciona aos seus usurios e a quantidade de opes de ferramentas que
existem no mercado para auxiliar no controle de toda essa tecnologia.
As vantagens mais importantes citadas foram, primeiramente, acabar com o
problema de incompatibilidade entre softwares e Sistemas Operacionais, pois com a
virtualizao possvel ter em uma nica mquina (hardware) mais de um Sistema
Operacional rodando com vrios servios sendo executados simultaneamente em
cada sistema, sendo assim, no existiria o problema de falta de mquinas
(hardware) para executar determinado software que pode ser executado somente
em determinada plataforma. Outra vantagem, em conseqncia do citado
anteriormente, que como no h a necessidade de adquirir novos computadores
(principalmente servidores), a economia financeira que a instituio ir ter bastante
alta e significativa.

41

Com relao s ferramentas estudadas (Virtual PC, Virtual Server, Xen e


VMware) foi observado que cada uma tem sua caracterstica especial e suas
peculiaridades. Entre elas a que considerei mais verstil a VMware Server
(ferramenta do fabricante VMware). Essa ferramenta funcionou de maneira fcil sob
as plataformas Linux e Windows e os sistemas operacionais instalados no VMware
Server, Linux e Windows, tambm se comportaram normalmente, sem causar
nenhum problema nas funcionalidades esperadas.
Boas mquinas rodando vrios servios diferentes em ambientes diferentes
(Sistemas Operacionais) numa nica mquina fsica: essa a principal idia que o
trabalho tenta passar para seus leitores, a fim de chamar a ateno para a
necessidade de empregar tecnologias que realmente tenham um bom retorno para a
instituio.

6.1. Trabalhos Futuros

Como sugestes de tarefas seguintes a este trabalho, sero analisadas


maneiras de criar e conectar um grupo de mquinas virtuais de um ambiente
virtualizado e esse grupo de mquinas comunicar-se entre si atravs de conexes
de redes. Algumas ferramentas j possuem um servio que ajuda a realizar essa
tarefa, porm no sei como funciona.

42

REFERNCIAS BIBLIOGRFICAS

BARHAM, P.; DRAGOVIC, B.; FRASER, K.; HAND, S.; HARRIS, T.; HO, A.;
NEUGEUBAUER, R.; PRATT, I.; WARFIELD, A. Xen and the Art of
Virtualization. 2003. University of Cambridge Computer Laboratory.

CLARK, C.; FRASER, K.; HAND, S.; HANSEN, J. G.; JUL, E.; LIMPACH, C.;
PRATT, I.; WARFIELD, A. Live Migration of Virtual Machines. 2005.
University of Cambridge Computer Laboratory Departament of Computer
Science University of Copenhagem, Denmark.

VMware. http://www.VMware.com. Acesso em: abril de 2008.

Virtual

PC.

http://www.microsoft.com/windows/products/winfamily/virtualpc/

default.mspx. Acesso em: abril de 2008.

Virtual Server. http://www.microsoft.com/windowsserversystem/virtualserver/.


Acesso em: abril de 2008.

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


2005.

SUGERMAN, J.; VENKITACHALAM, G.; LIM, B. H. Virtualizing I/O Devices on


VMware Workstations Hosted Virtual Machine Monitor. 30 jun. 2001.

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

NOVELL. Novell Virtualization on Suse Linux Enterprise Server Virtualization


Technology. p. 53, 7 ago. 2006.

CIO. http://cio.uol.com.br. Acesso em: abril de 2008.

43

Xen. http://www.xensource.com. Acesso em: maio de 2008.

VILLANUSTRE,

Flvio

(2008).

Virtualization

and

emulation.

http://flaviostechnotalk.com/wordpress/index.php/2005/06/01/virtualizationand-emulation/ Acesso em: fevereiro de 2008.

JONES, M. TIM (2008). Virtual Linux. Acesso em: fevereiro de 2008.


http://www.128.ibm.com/developerworks/library/llinuxvirt/index.html

Standard

Performance

Evoluation

Corporation.

Spec

INT

2000.

http://www.spec.org/cpu/CINT2000, 26 set. 2003. Acesso em: novembro de


2007.

The Xen Source. Volume Virtualization via the Next Generation of Server
Virtualization. Introducing the Xen Server Product Family: A Xen Source With
Paper V12102006, 12 out. 2006.

Wikipedia. http://pt.wikipedia.org/wiki/M%C3%A1quina_virtual. Acesso em:


abril de 2008.

Sisnema. http://sisnema.com.br. Acesso em: maio de 2008.

QEMU. http://fabrice.bellard.free.fr/qemu. Acesso em: maio de 2008.

Portalpme.http://wiki.portalpme.pt/twiki/bin/view/Main/Artigos/XenVirtualizacao
Acesso em: maio de 2008.

BOCHS. http://bochs.sourceforge.net. Acesso em: maio de 2008.

44

ANEXO 1 ARTIGO

Estudo de Ferramentas auxiliares a


Virtualizao de Software
Luana Sandrini Saft 1
1

Departamento de Informtica e Estatstica


Universidade Federal de Santa Catarina (UFSC) Florianpolis SC Brasil

RESUMO
O artigo tem por objetivo analisar o conceito de Virtualizao que est
entrando com grande fora no mercado, pois trata de problemas caros causados
pelo avano da tecnologia como, por exemplo, a incompatibilidade entre software e
sistema operacional ou hardware. Esse problema resolvido simulando sistemas
operacionais diferentes na prpria mquina, utilizando assim um sistema operacional
para uso dirio (sistema comum) e outro(s) para as aplicaes que estaro rodando
no mesmo computador e que necessitam ser executados em determinado ambiente.
Para auxiliar na elaborao de solues para determinado problema so
utilizadas ferramentas que facilitam essa resoluo. Neste artigo sero analisadas
algumas ferramentas com o objetivo de conhecer a melhor opo para virtualizao
em determinado ambiente (desktop, servidor).
1. INTROUO
Com o objetivo de estudar o conceito de Virtualizao de Software e conhecer
algumas de suas solues, foram realizadas pesquisas e estudos nessa rea,
servindo de motivao para a elaborao deste artigo. Mais especificamente, ser
realizado um estudo de comparao entre algumas ferramentas que servem para
dar suporte a virtualizao, estudando possibilidades de ter mais de uma mquina
virtual em um nico computador, por exemplo, sem perda de desempenho na sua
utilizao, para assim, motivar a utilizao desse conceito.
Esse conceito no novo no mercado, porm um pouco desconhecido
(pouco popular) para algumas empresas. Por isso, interessante estud-lo, a fim de
entender a teoria e a prtica e, tambm, os casos de fracasso e sucesso em
implantaes desse conceito, j que se trata de um conceito em fase de expanso
no mercado.
2. MQUINAS VIRTUAIS
A Mquina Virtual (Virtual Machine VM) basicamente um software
representando as funcionalidades de um hardware [BARHAN et al., 2003]. Refere-se
instncia de um hardware virtualizado e um sistema operacional tambm
virtualizado.
Uma Mquina Virtual possui diversas caractersticas interessantes e, uma
dentre elas, a de poder executar qualquer tipo de software: um servidor, um cliente
ou um desktop. Essa caracterstica de portabilidade est explcita em um dos
exemplos de mquina virtual: a JVM (Mquina Virtual Java). A JVM um mecanismo
que permite executar um programa escrito em Java em qualquer ambiente ou

45

plataforma, o que torna a linguagem Java extremamente porttil, podendo ser


executadas desde computadores comuns a celulares ou equipamentos diversos.
As mquinas virtuais podem ser classificadas da seguinte maneira
[WIKIPEDIA Mquina Virtual, 2008]:
(a) Tipo 1: Sistema em que o monitor implementado entre o hardware e os
sistemas convidados (Guest System). Exemplos desse tipo de mquinas
virtuais so o Xen e o VMware ESX Server.
(b) Tipo 2: Sistema em que o monitor implementado como um processo de um
sistema operacional real, denominado sistema anfitrio (Host System).
Exemplos desse tipo de mquinas virtuais so VMware Server e o Virtual PC.
(c) Tipo Hbrido: Otimizaes inseridas nas arquiteturas do Tipo 1 e do Tipo 2,
principalmente nas operaes de I/O, para melhorar o desempenho da
mquina virtual.
As mquinas virtuais podem executar vrios tipos de aplicaes e servios. O
principal e o mais importante a de integrao entre plataformas. H tambm outros
servios que a MV pode executar, como por exemplo, a consolidao do servidor, a
automao e consolidao dos ambientes de teste e desenvolvimento, a rehospedagem de verses anteriores de aplicaes, a demonstrao de softwares,
entre outros tipos de servios e aplicaes.
Essas caractersticas dos servios e as aplicaes servem para dar uma
viso mais detalhada das possveis formas de utilizao das mquinas virtuais,
enaltecendo algumas de suas vantagens.
2.1. Monitor de Mquina Virtual
O Monitor de Mquina Virtual (MMV) ou Virtual Machine Monitor (VMM) uma
camada de software que fica entre o sistema hospedeiro (real) e o sistema
convidado. Essa camada cria a idia que o sistema convidado tem um hardware s
pra ele, enquanto o que acontece realmente que esse sistema est usando
apenas uma parte do hardware real que est sendo dividido entre os sistemas
convidados existentes (mquinas virtuais).
3. VIRTUALIZAO
O processo de virtualizao uma tecnologia que diminui a importncia
(abstrao lgica) do sistema operacional, criando uma nova camada de software
que se comunica diretamente com o hardware (tarefa do sistema operacional),
possibilitando a existncia de vrios sistemas operacionais executando em um
mesmo computador ao mesmo tempo; dividindo os recursos do computador em
mltiplos ambientes de execuo.
O nico segredo dessa tecnologia possuir uma mquina potente, pois os
recursos da aplicao sero divididos entre as mquinas virtuais instaladas e em
execuo. Entende-se por mquina potente uma mquina com recursos de
hardware adequados situao, como memria, espao em disco, processador
suficientemente bons.
Algumas caractersticas importantes do conceito de virtualizao, que
tambm so consideradas como princpios dessa tecnologia [GARFINKEL et al.,
2003] sero apresentadas a seguir:
(a) A camada de virtualizao deve isolar uma mquina virtual da outra de modo
que no exista nenhuma interferncia entre ambas. No aceitvel que o

46

funcionamento de uma mquina virtual afete a performance de outra mquina


virtual.
(b) Capacidade de gerenciamento de uma mquina virtual independente das
outras mquinas virtuais.
(c) necessrio suportar uma variedade diferente de sistemas operacionais para
acomodar os diferentes aplicativos populares existentes.
(d) O overhead (qualquer processamento ou armazenamento em excesso de
algum recurso ao ser executada uma tarefa) introduzido pela camada de
virtualizao deve ser pequeno (o mnimo possvel).
(e) O Monitor das mquinas virtuais deve ter acesso e controle a todas as
informaes sobre processos rodando em suas mquinas virtuais. Deve
tambm ser capaz de inserir instrues na operao de mquinas virtuais.
Essas caractersticas citadas reforam o conceito de virtualizao e,
conseqentemente, apresentam algumas vantagens implcitas e diretas ao ser
aplicado esse conceito: portabilidade de aplicaes e sistemas, isolamento de
aplicaes e sistemas que estejam rodando em mquinas virtuais diferentes (sem
interferncia nos resultados obtidos) e pouca influncia no processamento de outras
aplicaes.
Algumas vantagens so adquiridas com o processo de virtualizao, entre
elas podem-se citar as seguintes: infra-estrutura do hardware simplificada e flexvel,
capacidade do hardware alocada dinamicamente, modelo utilitrio para servios
de TI, pessoas, processos e tecnologias concentrados em nveis de servio, maior
produtividade, segurana, facilidade de cpia na migrao de servidores, reduo da
freqncia de aquisio de novos servidores (economia).
Essas vantagens mostram o porqu de encarar esse conceito da informtica
com mais ateno, pois um dos principais aspectos citados refere-se economia
financeira que a instituio ir ter ao se engajar em projetos com ambientes
virtualizados.
3.1. Tipos
Existem, basicamente, trs tipos de virtualizao que so conhecidos como:
emulao de hardware, virtualizao completa e para-virtualizao. H outros tipos
citados por outros autores, porm foram deixados para uma anlise em outro
momento, pois o intuito deste artigo conhecer os principais tipos.
3.1.1. Emulao de hardware
Emulao de hardware (hardware emulation) uma forma de virtualizao
mais complexo por ter que emular (reproduzir) de maneira precisa o comportamento
de um hardware (conjunto de instrues, estado de execuo do processador,
memria cache, ciclos de clock), ou seja, a mquina virtual simula completamente o
hardware onde a aplicao ser executada, fazendo com que o Sistema Operacional
instalado na mquina virtual utilize um processador diferente do hardware original.
Alguns exemplos de ferramentas que utilizam essa tcnica de virtualizao
so os Bochs [BOCHS, 2008], QEMU [QEMU, 2008], algumas verses do Microsoft
Virual PC [Virtual PC, 2008].
3.1.2. Virtualizao completa
Virtualizao completa (full-virtualization) uma tcnica de virtualizao que
permite que no haja alteraes no momento da execuo de qualquer software.
Para isso, essa tcnica realiza uma simulao do hardware da mquina criando um
47

novo sistema virtual onde qualquer sistema operacional poder ser executado
normalmente (sem a necessidade de qualquer modificao no Sistema Operacional
convidado ou aplicativo).
Alguns exemplos de ferramentas/sistemas que utilizam esse tipo de
virtualizao so o VMware [VMware, 2008], Adeos, Mac-on-Linux, Parallels
Desktop.
3.1.3. Para-virtualizao
Para-virtualizao (para-virtualization) uma tcnica de virtualizao em que
a mquina virtual no simula o hardware, mas apresenta uma API (Application
Programming Interface) para as mquinas virtuais parecida com o hardware real.
Essa tcnica requer que o sistema operacional virtualizado seja explicitamente
portado (modificado) para permitir a sua execuo. O sistema operacional que est
rodando dentro da mquina virtual tem a iluso de estar sendo executado
diretamente sobre o hardware real, porm ele sabe que est sendo executado na
camada virtual e que pode interagir com ela. A conseqncia imediata desse
conhecimento a maior performance do conjunto.
O exemplo de ferramenta mais utilizada que possui esse tipo de virtualizao
o Xen.
4. FERRAMENTAS PARA VIRTUALIZAO
Existem vrios softwares que colocam em prtica o conceito de virtualizao.
Esses softwares criam mquinas virtuais que permitem a execuo de Sistemas
Operacionais diferentes do Sistema Operacional instalado na mquina real
rodando simultaneamente.
A seguir, sero apresentadas algumas das ferramentas mais utilizadas e
conhecidas por desenvolvedores e usurios dessa tecnologia. Essas ferramentas
foram selecionadas dentre as existentes, por exibirem caractersticas bastante
diferentes entre si.
4.1. Virtual PC
O Virtual PC uma soluo para desktop desenvolvida pela Microsoft em
2003. Esse sistema convidado (guest) pode ser Linux ou Windows, porm o Sistema
Operacional nativo sempre ser Windows, sem suporte para a plataforma Linux.
Algumas de suas caractersticas so:
I. Suporte para at quatro adaptadores de rede por mquina;
II. As configuraes so baseadas na linguagem XML;
III. Possui Virtual Machine Additions, que oferece alto nvel de integrao entre
os sistemas;
IV. Roda a maior parte dos sistemas sem necessidade de drivers customizados.
4.2. Virtual Server
O Virtual Server uma soluo para Sistema Operacional Servidor
desenvolvida pela Microsoft, compatvel com Windows Server 2000 e 2003. J
possui um release dois da verso 2005, fornecendo aos administradores maior
controle sobre os servidores, conectando mquinas virtuais e permitindo
automatizao durante o processo.
Suas principais caractersticas so [Virtual Server, 2008]:
I. Suporta a tecnologia de 64 bits;

48

II. Suporte para conectividade, permitindo clusters de todas as mquinas virtuais


pertencentes ao mesmo host;
III. Possibilidade de migrao de mquinas virtuais com ferramentas especiais;
IV. Virtual Hard Disks (VHD): oferece flexibilidade ao encapsular mquinas
virtuais em discos virtuais.
4.3. Xen
O Xen uma opo de software opensource para virtualizao de software,
que tem como base o sistema operacional Linux e baseado na General Public
Licence (GPL). Algumas distribuies Linux como o Red Hat e o Debian j possuem
suporte nativo ao Xen.
O Xen tem como principal funo organizar as requisies realizadas pelas
mquinas virtuais e repass-las para o sistema principal.
As principais caractersticas do Xen so:
I. Baixo custo na implementao;
II. Suporte para 32 usurios com memria de 4GB;
III. Suporte para a tecnologia 64 bits.
IV. Possui cdigo aberto, proporcionando maior integrao com outras
tecnologias (softwares opensource);
V. Possui alto rendimento e desempenho (por causa do conceito de paravirtualizao).
4.4. VMware
O VMware uma ferramenta muito conhecida e popular entre os usurios do
ramo da virtualizao e utiliza o tipo de virtualizao completa.
Algumas caractersticas do VMware so as seguintes:
I. Suporta sistemas operando na tecnologia 64 bits, incluindo Windows e Linux;
II. Tem suporte a dois processadores SMP virtual;
III. Monitora e controla a infra-estrutura em uma console central de gerncia.
A sute de software desse fabricante VMware Inc. dividida em alguns
produtos, entre eles: VMware Workstation (utilizado em ambientes desktop), VMware
Player (utilizado em ambientes desktop) e VMware Server (utilizado em ambientes
de servidores). O VMware Player e o VMware Server possuem verses gratuitas
para download. J o VMware Workstation um utilitrio no gratuito (pode ser
adquirido para testes por 30 dias no site oficial).
4.4.1. VMware Workstation
Esta a verso comercial do VMware que utilizada em estaes de
trabalho. O VMware Workstation destaca-se pela facilidade de uso: seus assistentes
guiam o usurio no processo de criao de mquinas virtuais, ajudam a montar
clones de mquinas virtuais e tambm mostram que possvel criar grupos de
mquinas virtuais, de uma s vez, e coloc-las em redes.
Com o VMware Workstation possvel criar mquinas virtuais em dispositivos
externo como um disco rgido ou um pen-drive, atravs de um produto adicional
chamado ACE Option Pack [VMware, 2008].
4.4.2. VMware Player
Esta a verso mais simples do produto e que tambm disponibilizada
gratuitamente para download. O VMware Player indicado para aplicaes leves e

49

no pode criar mquinas virtuais, somente executa as mquinas virtuais criadas por
outras verses de VMware (Workstation, Server, ESX).
4.4.3. VMware Server
O VMware Server um produto gratuito que pode ser instalado em sistemas
Linux ou em sistemas Windows. Tornou-se gratuito em 12 de junho de 2006 e
disponibilizado para download no site oficial do fabricante. uma ferramenta que
permite que o servidor fsico seja particionado em diversas mquinas virtuais e, aps
isso, o usurio j pode comear a experimentar os benefcios da virtualizao. Com
VirtualCenter add-on, os usurios podem monitorar e gerenciar toda infra-estrutura
de TI existente. Essa ferramenta pode compartilhar com os sistemas (SO)
convidados os perifricos de hardware como: CD-ROM , placas de rede e portas
USB.
5. ANLISE DE FERRAMENTAS E MQUINAS VIRTUAIS
Os softwares utilizados na virtualizao citados anteriormente foram
analisados com a inteno de conhec-los bem e, assim, poder escolher a melhor
opo para virtualizar determinado ambiente, de acordo com a necessidade.
A seguir, ser comentado o que foi implementado e algumas caractersticas
percebidas com a breve utilizao de cada ferramenta. Alguns critrios foram
utilizados para analisar essas ferramentas: (a) verificar Sistema Operacional de
suporte (host), (b) verificar compatibilidade entre Sistema Operacional host e guest,
(c) e analisar a facilidade de utilizao e configurao dessas ferramentas.
5.1. Virtual PC e Virtual Server
Primeiramente, foram instaladas as ferramentas Virtual PC e Virtual Server.
Ambas pertencem Microsoft e rodam somente em plataforma Windows (Sistema
Host). Essas ferramentas possuem uma interface simples e intuitiva, podendo ser
consideradas de fcil utilizao.
O nico problema que quando o sistema convidado (guest) instalado na
mquina virtual no da plataforma Windows, o produto fica instvel: a interface
aparece um pouco desfocada, resoluo distorcida, a utilizao de programas
limitada, entre outros problemas referentes diferena de Sistemas Operacionais.
5.2. Xen
Aps a experincia de trabalhar com as ferramentas da Microsoft, foi
instalada a ferramenta opensource Xen numa plataforma Linux. O ambiente do
software Xen amigvel, o que o torna de fcil manipulao. Um ponto negativo
dessa ferramenta que por ela utilizar a para-virtualizao ela necessita alterar o
kernel do Sistema Convidado, e quando esse sistema convidado possui cdigo
fechado (por exemplo, o sistema Windows) dificulta essa alterao que necessria
para a virtualizao (problema relativo s licenas de software). Para esses
sistemas, a virtualizao s poder ser realizada se houver suporte do hardware.
5.3. VMware Server
O VMware Server um dos softwares da VMware para virtualizao e pode
ser instalada tanto em sistemas Linux quanto em sistemas Windows. Foi escolhida
essa ferramenta entre as outras existentes do mesmo fabricante, pois foi a
considerada mais interessante para estudo. A VMware Player era uma ferramenta
mais simples e a VMware Workstation, alm de no ser gratuita, possua algumas
50

funcionalidades que no interessavam para o estudo que foi realizado neste


trabalho.
O VMware Server utiliza o conceito de virtualizao completa, o que faz com
que no haja a necessidade de ter qualquer tipo de alterao no Sistema Guest.
Essa ferramenta foi a mais fcil de ser instalada e configurada: possui uma interface
simples e intuitiva, com um assistente que ajuda a fazer praticamente tudo o que se
deseja (e se a ferramenta possuir suporte).
O software foi instalado em dois sistemas diferentes (Sistema Host): Windows
e Linux. O Sistema Guest tambm foi testado com esses dois sistemas (Windows e
Linux). A instalao do sistemas guest foi tranqila. A migrao das mquinas
virtuais criadas em hosts Linux para hosts Windows (ou vice-versa) muito simples:
copiou-se a pasta onde foi criada a Mquina Virtual em um sistema para o outro, no
havendo a necessidade de recri-las.
5.4. Anlise Geral
Segue um quadro com o comparativo geral das ferramentas analisadas,
conforme descrito nos itens anteriores.

6. CONCLUSO
A Virtualizao um conceito em fase de expanso no mercado de TI, pois
somente agora as mquinas esto ficando potentes o suficiente para suportar bem
o processo de Virtualizao.
As vantagens mais importantes citadas nesse artigo foram, primeiramente,
acabar com o problema de incompatibilidade entre softwares e Sistemas
Operacionais, pois com a virtualizao possvel ter em uma nica mquina
(hardware) mais de um Sistema Operacional rodando com vrios servios sendo
executados simultaneamente em cada sistema, sendo assim, no existiria o
problema de falta de mquinas (hardware) para executar determinado software que
pode ser executado somente em determinada plataforma. Outra vantagem, em
conseqncia do citado anteriormente, que como no h a necessidade de
adquirir novos computadores (principalmente servidores), a economia financeira que
a instituio ir ter bastante alta e significativa.
Com relao s ferramentas estudadas (Virtual PC, Virtual Server, Xen e
VMware) foi observado que cada uma tem sua caracterstica especial e suas
peculiaridades. Entre elas a que considerei mais verstil a VMware Server
51

(ferramenta do fabricante VMware). Essa ferramenta funcionou de maneira fcil sob


as plataformas Linux e Windows e os sistemas operacionais instalados no VMware
Server, Linux e Windows, tambm se comportaram normalmente, sem causar
nenhum problema nas funcionalidades esperadas.
Boas mquinas rodando vrios servios diferentes em ambientes diferentes
(Sistemas Operacionais) numa nica mquina fsica: essa a principal idia que o
artigo tenta passar para seus leitores, a fim de chamar a ateno para a
necessidade de empregar tecnologias que realmente tenham um bom retorno para a
instituio.
7. REFERNCIAS
BARHAM, P.; DRAGOVIC, B.; FRASER, K.; HAND, S.; HARRIS, T.; HO, A.;
NEUGEUBAUER, R.; PRATT, I.; WARFIELD, A. Xen and the Art of
Virtualization. 2003. University of Cambridge Computer Laboratory.
VMware. http://www.VMware.com. Acesso em: abril de 2008.
Virtual PC. http://www.microsoft.com/windows/products/winfamily/virtualpc/
default.mspx. Acesso em: abril de 2008.
Virtual Server. http://www.microsoft.com/windowsserversystem/virtualserver/.
Acesso em: abril de 2008.
SMITH, J. E.; NAIR, R. The Architecture of Virtual Machines. p. 32-38, maio
2005.
GARFINKEL, T.; PFAFF, B.; CHOW, J.; ROSENBLUM, M.; BONEH, D. Terra:
A Virtual Machine-Based Platform for Trusted Computing. 2003.
NOVELL. Novell Virtualization on Suse Linux Enterprise Server Virtualization
Technology. p. 53, 7 ago. 2006.
Xen. http://www.xensource.com. Acesso em: maio de 2008.
The Xen Source. Volume Virtualization via the Next Generation of Server
Virtualization. Introducing the Xen Server Product Family: A Xen Source With
Paper V12102006, 12 out. 2006.
Wikipedia. http://pt.wikipedia.org/wiki/M%C3%A1quina_virtual. Acesso em:
abril de 2008.
Sisnema. http://sisnema.com.br. Acesso em: maio de 2008.
Portalpme.http://wiki.portalpme.pt/twiki/bin/view/Main/Artigos/XenVirtualizacao
Acesso em: maio de 2008.

52