SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
JORGE HENRIQUE BARUCHI – RA 0520242




COMPARATIVO ENTRE FERRAMENTAS DE
         VIRTUALIZAÇÃO




     FACULDADE DE JAGUARIÚNA
            NOV 2008
JORGE HENRIQUE BARUCHI – RA 0520242




COMPARATIVO ENTRE FERRAMENTAS DE
         VIRTUALIZAÇÃO




                       Monografia apresentada à disciplina
                  “Trabalho de Conclusão de Curso”, do Curso
                  de Ciência da Computação da Faculdade de
                  Jaguariúna, sob a orientação do Prof. Carlos
                  Viviani, como exigência parcial para conclusão
                  do curso de graduação.




     FACULDADE DE JAGUARIÚNA
            NOV 2008

                                                              2
AGRADECIMENTOS


      A realização deste TCC contou com o apoio e estímulo de muitas pessoas: Professores,
amigos, familiares, onde cada um, ao seu modo, contribui para que eu pudesse encontrar o
incentivo necessário para superar os obstáculos e as dificuldades que ao longo do curso
surgiram.
      Deixo aqui, o meu agradecimento a todas as pessoas que, direta ou indiretamente
contribuíram para que este trabalho fosse concluído.
     Algumas pessoas foram fundamentais:
     Primeiramente, agradeço a Deus por ter me dado a oportunidade de estar no mundo e ter
me ajudado a chegar até aqui e vencer mais essa etapa da minha vida.
     A minha família, especialmente meus pais, Geraldo e Marilene, pela educação que me
deram e por tudo que aprendi com eles até o momento. Creio que nunca poderei retribuir
todos os momentos felizes que vocês me proporcionaram, mas sempre terão meu
reconhecimento.
      Ao meu orientador Prof. Carlos Viviani, pela oportunidade, paciência, amizade e pelas
orientações que foram essenciais para a minha graduação.
     A todos os outros professores do curso de Ciência da Computação da FAJ pelos
conhecimentos adquiridos durante o curso.
     Em geral, agradeço a todos que até o presente momento, fizeram parte desta minha
caminhada e que de certo modo contribuíram para o desenvolvimento do meu caráter e modo
de pensar.




                                                                                         3
BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalho
de conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências da
Computação da Faculdade de Jaguariúna, Jaguariúna.



                                       RESUMO


A virtualização não é uma novidade, iniciou-se com a IBM na década de 60 e com o passar
dos anos vem se aprimorando, tornando-se hoje uma ferramenta indispensável no dia a dia de
um profissional da área de TI que precisa maximizar seus recursos sem aumentar os custos.
A virtualização permite que um único computador, simule vários outros, aumentando as
possibilidades e aproveitamento de um mesmo computador.
Atualmente existem diversas ferramentas que podem auxiliar na virtualização de sistemas, o
que torna a escolha de uma delas uma tarefa difícil. Desta forma, o objetivo do presente
documento é auxiliar nesta escolha, mostrando algumas das ferramentas na prática e os
principais conceitos desta tecnologia.


Palavras-chaves: Sistemas Operacionais, Virtualização, VMWARE, VIRTUALBOX,
VIRTUALSERVER.




                                                                                             4
BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalho
de conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências da
Computação da Faculdade de Jaguariúna, Jaguariúna.



                                        ABSTRACT


The virtualization is not new, began with IBM in the 60s and over the years has evolved,
becoming today an indispensable tool in everyday life of a professional in the area of IT that
need to maximize its resources without increasing costs.
Virtualization lets a single computer, simulating several others, increasing more possibilities
to a single computer.
Currently there are several tools that can assist with the virtualization system, which makes
the choice of either a difficult task. Thus, the purpose of this document is to help make this
choice, showing some of the tools in practice and the told the concepts of this technology.


Key-Words: Operational System, Virtualization, VMWARE, VIRTUALBOX,
VIRTUALSERVER.




                                                                                                  5
SUMÁRIO


1      INTRODUÇÃO.................................................................................................................. 9

2     A VIRTUALIZAÇÃO ..................................................................................................... 10
    2.1 O que é Virtualização.................................................................................................. 10
    2.2 Emuladores.................................................................................................................. 12
    2.3 Técnicas de Virtualização ........................................................................................... 13
    2.4 Tecnologias facilitadoras do trabalho de virtualização ............................................... 15
    2.5 Propriedades de VMM’s ............................................................................................. 16
    2.6 Uso e aplicações de VM’s........................................................................................... 17
    2.7 Ferramentas para Virtualização................................................................................... 19

3     EXPERIMENTO COMPUTACIONAL........................................................................ 20
    3.1 Visão geral................................................................................................................... 20
    3.2 Ambiente de realização dos testes............................................................................... 21
    3.3 Ferramentas selecionadas............................................................................................ 22
    3.4 Instalação do VIRTUALBOX..................................................................................... 24
    3.5 Instalação do VMWARE ............................................................................................ 26
    3.6 Instalação do VIRTUALSERVER.............................................................................. 28
    3.7 Preparação das VM’s .................................................................................................. 30
    3.8 Comparativo entre VMM’s ......................................................................................... 30
    3.9 Teste final.................................................................................................................... 32

4      CONCLUSÃO .................................................................................................................. 36

5      REFERÊNCIAS BIBLIOGRÁFICAS........................................................................... 37

6      ASSINATURAS ............................................................................................................... 38




                                                                                                                                        6
LISTA DE FIGURAS E TABELAS

Figura 1 – Arquitetura tipo I.....................................................................................................11
Figura 2 – Arquitetura tipo II....................................................................................................11
Figura 3 – Anéis(RINGS) de proteção da arquitetura x86 atual...............................................15
Figura 4 - Arquitetura Intel VT-x.............................................................................................16
Figura 5 – Ambiente de comparativo de VMM’s.....................................................................20
Figura 6 – Teste Comparativo Final.........................................................................................21
Figura 7 – Utilização da ferramenta PCMark...........................................................................23
Figura 8 – Instalando o VIRTUALBOX...................................................................................24
Figura 9 – Tela principal do VIRTUALBOX...........................................................................25
Figura 10 – Instalando o VMWARE........................................................................................26
Figura 11 – Acessando o VMWARE........................................................................................27
Figura 12 – Interface de controle do VMWARE......................................................................27
Figura 13 – Instalando o IIS no Windows 2003 Server............................................................28
Figura 14 – Instalando o VIRTUALSERVER..........................................................................28
Figura 15 – Acessando o VIRTUALSERVER.........................................................................29
Figura 16 – Gerenciando o VIRUTALSERVER......................................................................29
Figura 17 – Envio de arquivo via FTP......................................................................................32
Figura 18 – Diagrama do Banco de Dados...............................................................................33
Figura 19 – Exemplo de QUERY.............................................................................................33
Tabela 1 – Hardware do Micro Físico.....................................................................................21
Tabela 2 – Softwares Utilizados...............................................................................................22
Tabela 3 – Testes Realizados....................................................................................................23
Tabela 4 – Configuração das VM’s..........................................................................................30
Tabela 5 – Dados comparativos entre VMM’s.........................................................................31
Tabela 6 – Resultados Finais (Não-simultâneos).....................................................................34
Tabela 7 – Testes finais (Simultâneos).................................................................................... 34




                                                                                                                                  7
LISTA DE ABREVIATURAS E SIGLAS

FAJ    Faculdade de Jaguariúna
VMM    Virtual Machine Monitor
VM     Virtual Machine
SO     Sistema Operacional
TI     Tecnologia da Informação
CPU    Central Processor Unit
IP     Internet Protocol
E/S    Entrada e Saída
SCSI   Small Computer System Interface
FTP    File Transfer Protocol
IIS    Internet Information Services
HD     Hard Disk
USB    Universal Serial Bus
IE     Internet Explorer




                                           8
1 INTRODUÇÃO

      Nos últimos anos, a capacidade de processamento dos computadores tem aumentado
bastante. Entretanto, toda a capacidade adquirida não tem sido totalmente aproveitada. Temos
situações onde, durante a maioria do tempo o hardware que poderia ser usado para o
processamento de aplicações não é utilizado como desejaríamos que fosse.
      A virtualização iniciou-se pela IBM nos mainframes na década de 60, mas as empresas
só começaram a utilizá-la após a década de 80, tendo em vista a possibilidade resolver certos
problemas a um custo menor.
     Desde então várias soluções, tanto comerciais quanto acadêmicas, foram propostas.
Atualmente, a maioria dessas soluções utiliza as técnicas conhecidas como Virtualização
completa e Para-virtualização.
      No geral, a Virtualização permite ao administrador instalar e usar ao mesmo tempo mais
de um SO na mesma máquina. O objetivo é aumentar os serviços de um ambiente de TI, com
menos manutenções físicas. Para isso existem softwares que fazem esse gerenciamento e que
faremos uso e testes dos mesmos. Vale lembrar que além da redução de custos e aumento das
possibilidades, a virtualização centraliza toda e qualquer manutenção num único
equipamento.
     Nos capítulos a seguir, veremos os principais conceitos da virtualização, a utilização de
algumas ferramentas e testes demonstrando as principais características de cada uma.




                                                                                            9
2 A VIRTUALIZAÇÃO

2.1 O que é Virtualização

     A Virtualização é uma “técnica que combina ou divide recursos computacionais para
prover um ou mais ambientes operacionais de execução”, segundo Nanda Chiueh [2006]. Os
ambientes criados através dessa técnica são chamados máquinas virtuais.

     Dentre os conceitos envolvidos no estudo de máquinas virtuais, o de VMM é um dos
principais. O monitor é uma camada de software inserida entre o sistema virtual (SO GUEST)
e o hardware da máquina física. Essa camada faz uma interface entre os possíveis sistemas
virtuais (SO GUEST) e o hardware que é compartilhado por eles. A VMM é responsável por
gerenciar todas as estruturas de hardware, como MMU, dispositivos de E/S, controladores
DMA, criando um ambiente completo, onde os sistemas virtuais executam.

     Os VMM’s podem ser classificados de várias maneiras. As VMM’s como o VMWARE
ESX SERVER e emuladores como o BOCHS apresentam uma abstração de hardware idêntica
ao hardware subjacente. Para chegar a um nível de abstração tão alto, alguns monitores
inserem no SO hóspede (HOST) DEVICE DRIVERS que serão usados pelo sistema virtual
(SO GUEST) através do VMM. Já outros VMM’s apresentam uma interface diferente do
hardware subjacente. A máquina virtual Java, por exemplo, tem uma arquitetura totalmente
independente do hardware sobre o qual executa.

     “Outra classificação de VMM’s se refere à plataforma sobre a qual eles executam.
Segundo essa classificação, as máquinas virtuais podem ser de dois tipos” [King, 1992]:

   • Tipo I - O VMM é implementado diretamente sobre o hardware físico subjacente. Os
     VMM’s XEN e VMWARE ESX SERVER são exemplos desse tipo de VM’s;

   • Tipo II - O VMM é implementado completamente sobre o SO hóspede (HOST).
     Exemplos desse tipo de máquinas virtuais são o VMWARE SERVER e o
     VIRTUALBOX.




                                                                                          10
As Figuras 1 e 2 mostram esquemas das arquiteturas de Tipo I e Tipo II.




                                  Figura 1 - Arquitetura tipo I




                                 Figura 2 - Arquitetura tipo II

     Algumas modificações podem ser inseridas nas arquiteturas descritas anteriormente
com o objetivo de aumentar o desempenho das máquinas virtuais. Essas modificações geram
arquiteturas híbridas. Exemplos dessas arquiteturas podem ser encontrados em emuladores.




                                                                                           11
2.2 Emuladores

     Um emulador é um sistema que simula toda uma arquitetura computacional, de forma
que todas as instruções do sistema operacional emulado (SO GUEST) são traduzidas e
executadas no SO HOST. Comumente, emuladores são usados para testar o funcionamento de
programas escritos para arquiteturas diferentes daquelas em que o emulador executa.

     A diferença entre emuladores e máquinas virtuais, está basicamente no nível de
abstração. Enquanto, em um emulador todas as instruções são convencionalmente traduzidas e
interpretadas e em VM’s as instruções são executadas no modo mais nativo possível.

     Segundo Laureano [2006], emuladores podem ser classificados de várias formas:

   • Emuladores de processador;

   • Emuladores de sistemas operacionais;

   • Emuladores de uma plataforma de hardware específica;

   • Emuladores de videogames (consoles).

     Como exemplo de emuladores de processadores, temos o BOCHS, que emula
processadores x86. Seu desempenho não é muito alto, devido ao fato de que as instruções são
interpretadas e executadas uma por uma. Sistemas como o BOCHS são mais usados como
simuladores, tendo mais utilidade em projetos de software baixo nível (LOW LEVEL).

     Porém, temos também um tipo que não utiliza a tradução "instrução - por - instrução" e
sim a tradução de blocos de instruções para posterior execução nativa. Desse modo, não é
necessário uma re-tradução. Dentre os emuladores que se valem dessa técnica temos alguns
emuladores de sistemas operacionais, como o QEMU. Também são bastante conhecidos os
emuladores de consoles (videogames), como o EPSXE, o SNES9X e o ZSNES.




                                                                                        12
2.3 Técnicas de Virtualização

     Existem várias técnicas usadas na virtualização. As principais são virtualização
completa, paravirtualização e recompilação dinâmica. Essas técnicas serão detalhadas nos
sub-tópicos seguintes.


2.3.1 Virtualização completa

     “Na virtualização completa, toda uma infra-estrutura do hardware subjacente é
virtualizada, de forma que não é necessário modificar o SO GUEST para que o mesmo
execute sobre o VMM” [Barham, 2006]. Podem ocorrer, entretanto, penalidades em relação
ao desempenho da máquina virtual, uma vez que já que o hardware é virtualizado, as
instruções devem ser interpretadas pelo VMM. Uma desvantagem dessa técnica na arquitetura
x86 é que a mesma não foi projetada tendo em vista a virtualização, mas sim teve uma
evolução a partir de versões anteriores. Assim, algumas instruções privilegiadas que executam
em modos diferentes (modo usuário ou modo supervisor) geram resultados diferentes
dependendo do modo em que executam. Uma solução abordada pelo VMWARE ESX
SERVER é verificar um pedaço do código que está sendo executado na máquina virtual e
modificar as instruções que poderiam resultar em erros. Essa solução é conhecida como
“BINARY PATCHING”.


2.3.2 Paravirtualização

     A paravirtualização é um método que consiste em apresentar ao SO GUEST uma
arquitetura virtual que é similar, mas não idêntica à arquitetura física real. Essa solução
aumenta o desempenho das VM’s que a utilizam [Barham, 2006]. Entretanto, são necessárias
modificações nos sistemas operacionais convidados, que executam na atual arquitetura x86 e
ainda assim, as implementação necessárias devem ser compatíveis com os sistemas
convidados em utilização. Estas alterações fazem com que o SO GUEST saiba que está sendo
emulado, explicando assim o ganho de desempenho, ou seja, desta forma ele pode direcionar
as instruções de nível mais baixo direto para o hardware ao invés delas serem interpretadas
pelo VMM.




                                                                                          13
2.3.3 Recompilação Dinâmica

       Essa técnica, que é conhecida também pelo nome de tradução dinâmica, consiste em
traduzir durante a execução de um programa as instruções de um formato para outro. Uma
aplicação da técnica é vista em compiladores JIT (just-in-time), que traduzem de uma
linguagem BYTECODE para código nativo da CPU onde o compilador executa. Essa
recompilação é feita em vários passos, descritos em:

   •    Em um primeiro momento, o código binário é scaneado para que seja identificada uma
        seqüência de bits correspondente à seção de código do programa em execução;

   •    Logo após esse passo, os bits agrupados anteriormente são divididos em instruções,
        juntamente com os parâmetros delas;

   •    Então, as instruções são transformadas para uma representação mais próxima do SO
        HOST;

   •    Um código em uma linguagem de alto nível é gerado a partir da representação
        anterior, código esse que é compilado e reescrito na linguagem nativa;

   •    Assim, temos uma seqüência de bits agora executável no SO HOST.

Emuladores como o QEMU utilizam essa técnica para aumentar seu desempenho. O
VMWARE WORKSTATION também utiliza essa técnica, recompilando apenas parte do
código, uma vez que boa parte dele pode executar nativamente (a arquitetura de hardware
subjacente é a mesma da VM). No VMWARE WORKSTATION apenas instruções que não
podem ser executadas diretamente são recompiladas.

Outro exemplo de recompilação dinâmica ocorre em interpretadores de linguagens, como no
SUN JVM, da linguagem JAVA. As instruções geradas para a máquina virtual e armazenadas
nos BYTECODES das classes Java são traduzidas e executadas no hardware subjacente.




                                                                                       14
2.4 Tecnologias facilitadoras do trabalho de virtualização

      Conforme citado anteriormente, a arquitetura x86 não foi projetada tendo em vista a
virtualização. Assim, alguns fabricantes (AMD e INTEL) propuseram novas arquiteturas que
dão suporte a essa tecnologia.

      “Tradicionalmente, os processadores implementam 4 Níveis (RINGS, na terminologia
usada para execução de processos) de proteção”, segundo Torres [2007]. Quanto mais alto o
nível, menos privilégios para a execução de instruções são concedidos. O nível 0 (RING-0) é
geralmente usado pelo sistema operacional, níveis 1 e 2 pelos processos do sistema
operacional e o nível 3 pelas aplicações, como mostrado na Figura 3.




                     Figura 3 – Anéis (rings) de proteção da arquitetura x86 atual

      A solução da INTEL para processadores da família x86-32 bits [Intel, 2007], consiste
em fornecer duas novas formas para operações da CPU:

  •    VMX ROOT OPERATION;

  •    VMX NON-ROOT OPERATION.




                                                                                        15
VMM’s executam operações do tipo “ROOT” no RING-0, enquanto que as VM’s
executam operações do tipo “NON-ROOT”, em níveis inferiores de prioridade (RING-1,
RING-2). Processadores equipados com essa tecnologia implementam diretamente em
hardware, métodos que possibilitam ao VMM a execução de instruções privilegiadas nos
SO’s GUEST. A Figura 4 ilustra melhor esta idéia:




                                Figura 4 - Arquitetura Intel VT-x

     A AMD adotou uma postura semelhante à da INTEL. Na arquitetura AMD-V
(inicialmente AMD Pacifica), o processador mantém blocos de controle para os sistemas
convidados que são salvos quando instruções especiais são executadas. O VMM pode
customizar os privilégios de execução para cada um dos sistemas convidados.


2.5 Propriedades de VMM’s

     Algumas propriedades dos VMM’s devem ser observadas para o funcionamento ideal
de uma máquina virtual.

   • Isolamento - um processo em execução em uma VM não deve interferir no
       funcionamento de outro processo em execução, tanto no VM quanto em outra VM.
       Também é necessário que o VMM gerencie se o funcionamento de um processo numa
       VM está comprometendo o desempenho de outras VM’s;

   • Inspeção - o VMM deve ser capaz de ter acesso e controle a todas as informações dos
       processos em execução na VM, como memória, estado da CPU e outros;

                                                                                     16
• Interposição - instruções podem ser inseridas pelo VMM em operações da VM. Um
       exemplo é quando uma VM tenta executar uma instrução privilegiada. Instruções do
       tipo "espera" podem ser inseridas na máquina virtual enquanto o VMM processa as
       instruções privilegiadas;

   • Eficiência - instruções "inofensivas" podem ser executadas diretamente no hardware,
       por não interferir nas outras VM’s ou no VMM;

   • Gerenciabilidade - possibilidade de gerenciar uma VM independente de outra VM,
       dado que são entidades distintas;

   • Compatibilidade do software - todo software escrito para executar sobre uma
       plataforma deve ser passível de execução em uma VM que virtualiza essa plataforma;

   • Encapsulamento - o VMM pode controlar totalmente processos em execução em
       VM’s, podendo gerar "checkpoints" do sistema para possíveis recuperações pós-
       falhas;

   • Desempenho - inserir uma camada extra de software pode comprometer o
       desempenho do SO GUEST, mas os possíveis benefícios de uso de máquinas virtuais
       compensam os prejuízos.


2.6 Uso e aplicações de VM’s

A virtualização pode ser útil em vários ambientes:

   • Ensino e aprendizagem – VM’s podem ser usadas no ensino de SO’s, bem como na
       aprendizagem do funcionamento deles. Uma VM pode ser facilmente substituída por
       outra VM caso ocorra algum erro durante o uso da mesma;

   • HONEYPOTS e HONEYNETS - um HONEYPOT é um sistema colocado em uma
       rede com o objetivo de ser comprometido. Uma HONEYNET é uma rede formada por
       vários HONEYPOTS. A grande vantagem de se utilizar VM’s em uma HONEYNET é
       não comprometer a rede real, sendo os ataques confinados às HONEYNETS. Assim,
       quando um dos HONEYPOTS é comprometido, pode ser substituído por outro de
       forma mais fácil;




                                                                                       17
• Consolidação de servidores - consolidar WORKLOADS de máquinas subutilizadas
   em poucas máquinas, economizando hardware, gerenciamento e administração da
   infra-estrutura;

• Consolidação de aplicações - aplicações legadas que necessitam executar em um
   novo hardware, diferente do hardware para qual foram projetadas. Virtualizando o
   hardware, essas aplicações podem continuar executando normalmente;

• SANDBOXING – VM’s podem prover um ambiente seguro e isolado para a execução
   de aplicações não confiáveis, ou de fontes não seguras;

• Ambientes múltiplos de execução - a virtualização pode prover múltiplos ambientes
   de execução e aumentar a disponibilidade de recursos para as aplicações;

• Hardware virtual - pode ser possível, através da virtualização, prover um hardware
   que não exista no SO HOST, como drives SCSI virtuais, interfaces virtuais de rede e
   outros;

• Múltiplos SO’s simultâneos - vários SO’s podem executar simultaneamente, fazendo
   que uma gama maior de aplicações possa estar executando ao mesmo tempo;

• Migração de software - facilita a migração de software e aumenta a mobilidade de
   softwares;

• APPLIANCES - algum indivíduo ou organização pode disponibilizar sua aplicação
   escrita para um SO como um APPLIANCE (conjunto de softwares empacotados e
   prontos para executar), distribuindo toda a infra-estrutura necessária para que sua
   aplicação execute corretamente;

• TESTING - a virtualização torna possível produzir cenários de teste que são difíceis
   de produzir em máquinas reais e assim facilitam o teste de software.




                                                                                   18
2.7 Ferramentas para Virtualização

      Atualmente podem ser encontradas várias alternativas para virtualização, dentre elas as
mais comuns são as de virtualização de software para desktops. Um exemplo seria o
MICROSOFT VIRTUALPC. Este é um sistema virtualizador de PC’s gratuito, o programa
apesar de simples é rápido e estável, além de passar a suportar oficialmente o WINDOWS
VISTA. Ele concorre com soluções como VMWARE e VIRTUALBOX, além dos mais
lentos como QEMU. Existe também a versão voltada para servidores, MICROSOFT
VIRTUAL SERVER 2005, onde esta necessita de uma distribuição Windows Server e de
mais recursos de hardware.
      Já o VMWARE usa o conceito de virtualização completa. Sua característica é que ele
tenta sempre que possível converter os comandos usados pelo sistema dentro da VM em
comandos que o sistema HOST entenda e execute diretamente. EX: se o Windows dentro da
VM tenta tocar alguma coisa na placa de som, o VMWARE simplesmente captura os dados e
toca na placa de som "real" do micro, como se fosse outro programa qualquer. O mesmo se
aplica a todo tipo de instruções básicas, que são executadas diretamente pelo processador
principal. O VMWARE interpreta e converte instruções o mínimo possível. As novas versões
do VMWARE ESX SERVER, que se utilizam deste suporte de hardware à virtualização, são
instaladas diretamente no hardware, conseguindo assim, um desempenho semelhante à
paravirtualização.
      O QEMU por sua vez é um emulador. Ele tenta processar todas as instruções, o que
acaba demorando mais tempo e fazendo com que o desempenho seja menor. Tecnicamente o
VMWARE consegue fazer com que o sistema GUEST rode com 60 a 90% do desempenho
que teria se estivesse rodando diretamente, enquanto o QEMU obtém de 5 a 10%. Para
emparelhar no desempenho o QEMU adotou um módulo adicional, o KQEMU, que faz com
que ele passe a funcionar de forma similar ao VMWARE, virtualizando as instruções básicas
do processador, ao invés de emular tudo. A vantagem desta ferramenta é que o QEMU é um
projeto OPEN-SOURCE, enquanto o VMWARE é um produto comercial.
     O XEN utiliza a idéia de paravirtualização citada anteriormente o que em teoria permite
que o SO GUEST rode com uma redução de performance muito pequena (menos de 5%, na
maioria dos casos). O maior problema é que para rodar dentro do XEN é necessário que o SO
GUEST seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso do
VMWARE e do QEMU, o que o torna muito mais complicado de configurar que os seus
concorrentes.
      Já BOCHS é outro emulador, este de micros x86 onde simula um PC dentro de uma
janela. Podendo rodar simultaneamente qualquer SO, sem o risco de danificar o seu
computador. É ideal para testar projetos de sistemas operacionais betas, como as novas
versões de Windows.




                                                                                          19
3 EXPERIMENTO COMPUTACIONAL

3.1 Visão geral

     O objetivo principal dos testes abordados foi identificar entre as ferramentas utilizadas
qual oferece melhor aproveitamento do hardware virtualizado e, em seguida, efetuar um
último teste visando que desempenho a VMM escolhida oferece quando comparada a uma
máquina física.

     Para a realização dos testes foi preparado um ambiente onde em uma mesma máquina,
era possível escolher entre iniciá-la como servidor de virtualização ou desktop comum. Em
cada sistema, foram efetuadas configurações simulando um ambiente real de TI, ou seja,
situações que um profissional da área pode vir a se deparar. Inicialmente, pode-se dizer que o
SO Servidor foi utilizado como hospedeiro das VMM’s e o SO Desktop como parâmetro de
comparação, onde os testes realizados nas VM’s foram os mesmos realizados neste ambiente,
podendo assim, obter uma visão clara do desempenho das ferramentas de virtualização. Cada
VM foi testada individualmente para que esta obtivesse o desempenho máximo possível.

     Na Figura 5, pode-se ter uma idéia de como este teste comparativo foi realizado.




                           Figura 5 – Ambiente de comparativo de VMM’s




                                                                                           20
Posteriormente, foi escolhida a VMM de maior desempenho e esta foi novamente
comparada com o SO Desktop, porém, utilizando serviços comuns em TI sendo, um Banco de
Dados simples e um servidor FTP. A idéia fica mais clara visualizando a Figura 6.




                                   Figura 6 – Teste Comparativo Final

      Os resultados dos testes mencionados foram apresentados na Tabela 5,6 e 7.

3.2 Ambiente de realização dos testes

   Conforme Tabela 1, o ambiente onde foram realizados os testes dispunha dos seguintes
recursos de hardware:

                                  HARDWARE DO MICRO FÍSICO

                    Processador        AMD Semprom 2600+ 1.83Ghz Socket 462

                    Placa Mãe        EliteGroup 741GX-M Chipset SiS 741GX/964L

                        Memória      2 Modulos Kingston 256+512MB DDR PC-3200

                          HD              Samsung Spinpoint 80GB 7200 RPM

                   Placa de Rede               Realtek 8139 10/100 Mbits

                   Placa de Vídeo           ATI Radeon 9250 128MB 64Bits

                  Leitor de Mídia        Samsung Super WriteMaster DVD-RW

                                  Tabela 1 – Hardware do Micro Físico

      A vantagem deste equipamento é que ele possui 2 módulos de memória de tamanhos
diferentes, tornando possível trabalhar com a quantidade de memória física do micro,
garantindo uma melhor integridade nos testes realizados, como veremos nos próximos
tópicos.




                                                                                    21
3.3 Ferramentas selecionadas

     A princípio, as primeiras ferramentas escolhidas foram as VMM’s a serem testadas e,
dentro das citadas anteriormente, foram escolhidas três. Todas as ferramentas escolhidas
operam sob a plataforma Windows, o que facilitou a realização dos testes. A relação completa
pode ser visualizada na Tabela 2.

                                    SOFTWARES UTILIZADOS

                         VMM 1                      VMware Server 1.7

                         VMM 2                      Sun VirtualBox 2.0

                         VMM 3                 Microsoft VirtualServer 2005

                       SO Servidor        Windows Server 2003 Enterprise R2 SP2

                    SO Desktop e VM's          Windows XP Profissional SP2

                        Benchmark                FutureMark PCMark 2005

                      Banco de dados        Microsoft SQL Server Express SP2

                           FTP                       Microsoft IIS 5.1

                                    Tabela 2 – Softwares Utilizados

     Vale lembrar que, as três VMM’s escolhidas são algumas das mais conhecidas
atualmente e utilizadas por muitos profissionais de TI para testes e consolidação de
servidores.

     Como banco de dados, foi utilizando a versão gratuita do SQL SERVER por sua
interface amigável e sintaxe simples. A praticidade na utilização também se aplica ao servidor
FTP, rodando sobre o IIS, uma ferramenta disponível no Windows.




                                                                                           22
Conforme a Tabela 2, também foi escolhido um software de benchmark para testar as
VMM’s, sendo o PCMARK. Esta ferramenta, desenvolvida pela mesma empresa do
conhecido 3DMARK, oferece uma gama de testes muito úteis que simulam desde tarefas
simples a tarefas mais complexas, forçando os recursos do equipamento a desempenhar o
máximo de sua capacidade, oferecendo ao fim uma pontuação para cada item. Os testes
realizados com esta ferramenta podem ser visualizados na Tabela 3.

                                                 TESTES REALIZADOS

                    CPU                                 HD                               Memória

          Compactação de arquivo              Inicialização do sistema   Leitura de memória (16MB/8MB/192KB/4KB)

        Descompactação de arquivo               Carregar aplicação       Gravação de memória (16MB/8MB/192KB/4KB)

           Criptografar de arquivo               Utilização Geral         Cópia de memória (16MB/8MB/192KB/4KB)

         Descriptografar de arquivo            Verificação de vírus           Latência (16MB/8MB/192KB/4KB)

         Decodificação de imagem               Gravação de arquivos

           Codificação de Áudio

   Testes Multithread (todos os anteriores)

                                              Tabela 3 – Testes Realizados

      A princípio, a configuração do PCMARK é simples e não requer muito conhecimento
técnico, basta seguir o assistente de configuração e aguardar o término da instalação.

      Sua utilização também é simples, basta que você selecione os dispositivos que deseja
testar e iniciar o processo. Basicamente, todas as funções, incluindo a pontuação dos testes,
ficam visíveis na janela principal da ferramenta. Sua única particularidade é que, durante os
testes o sistema não deve executar nenhuma outra aplicação, do contrário o procedimento é
abortado. Pode se ter uma idéia da utilização da ferramenta visualizando a Figura 7.




                                      Figura 7 – Utilização da ferramenta PCMark


                                                                                                                    23
O processo de configuração das VMM’s requer atenção individual, onde cada uma delas
possui pontos em particular que, durante o processo de instalação, devem ser configurados
corretamente. Estes pontos foram relacionados nos sub-tópicos seguintes.


3.4 Instalação do VIRTUALBOX

       O processo de instalação desta VMM é composto de um assistente simples e de poucos
passos, porém foi necessária certa atenção no momento de selecionar quais componentes
adicionais deveriam ser instalados. Neste momento o assistente solicita que você selecione se
deseja ou não instalar os drivers virtuais da Controladora Rede e USB. Se neste momento,
ambos não forem selecionados, todas as VM’s criadas no VIRTUALBOX não poderão
compartilhar a placa de rede e as portas USB da máquina hospedeira, tornando difícil sua
conexão com outras máquinas. Na figura 8, pode-se visualizar o momento onde o assistente
solicita estas informações.




                               Figura 8 – Instalando o VIRTUALBOX

       Após selecionar os componentes adicionais, terá inicio a instalação da ferramenta e ao
seu término o assistente solicita que a máquina física seja reiniciada.

       Após todos estes passos, a ferramenta estará pronta para utilização. Onde o usuário
poderá facilmente:

   •    Criar e gerenciar uma VM, atribuindo os recursos que desejar (RAM, HD,
        Mapeamento de unidades Lógicas, etc.);
   •    Visualizar ScreenShots e Logs das VM’s, visualizar informações sobre os discos
        virtuais a fins de gerenciamento.
                                                                                          24
Foi observado que, embora sua interface seja muito amigável e a ferramenta disponha
de muitos recursos para controlar a VM em utilização, esta não possui um método para acesso
remoto a VMM, ou seja, a primeira impressão é que a ferramenta foi projetada apenas para
uso local, o que dificulta sua utilização e ambientes tecnológicos.

      A   última   questão    abordada    pode    ser   contornada     utilizando   recursos   de
compartilhamento da área de trabalho. O único problema desta solução (se tratando de um
servidor) é garantir que somente esta aplicação fique disponível para o utilizador, porque do
contrário, o utilizador terá acesso a todas as demais funções da máquina física, causando
impacto direto na segurança do ambiente em questão.

      Outro fator que dificulta a utilização do VIRTUALBOX em ambientes de TI é a
ausência de um auditor de VM’s que, em caso de paradas críticas (como um reboot
automático ou instalação de updates que necessitam reboot), tem como função desligar
previamente as VM’s a fim de evitar perda de dados. Desta forma, assim que a máquina física
volta ao seu funcionamento normal, o auditor automaticamente inicia as VM’s.

      Infelizmente, este fator não pode ser contornado com recursos ou softwares de terceiros,
sendo necessária uma auditoria humana para que este problema seja contornado.

      Pode-se ter uma idéia das funções do VIRTUALBOX, visualizando a Figura 9.




                             Figura 9 – Tela principal do VIRTUALBOX




                                                                                               25
3.5 Instalação do VMWARE

      O processo de instalação do VMWARE também dispõe de um assistente muito simples,
até mais do que a ferramenta citada anteriormente. Este assistente traz como padrão uma
instalação completa, evitando assim que componentes críticos deixem de ser instalados
causando um impacto significativo no funcionamento das VM’s. A nível de conhecimento, foi
selecionada a opção de instalação customizada para visualizar os componentes instalados
onde, dentre eles, nota-se (visualizar Figura 10) que a VMM e a interface de controle são
componentes distintos, possibilitando o acesso remoto as VMM e facilitando seu
gerenciamento.




                                Figura 10 – Instalando o VMWARE

      Terminada a instalação, também será solicitado que a máquina física seja reiniciada e
após estes passos a ferramenta estará pronta para utilização.




                                                                                        26
Conforme a Figura 11, ao acessarmos a interface de controle, esta solicita se deseja
acesso local ou remoto e se solicitado acesso remoto deverá ser informado o endereço de IP
da VMM, o usuário e a senha para acesso. Neste caso, é preciso verificar as configurações do
firewall da máquina e habilitar a comunicação pela porta 902.




                                Figura 11 – Acessando o VMWARE

     A utilização do VMWARE se faz a mais complicada de todas as ferramentas. Este fator
dá se ao fato de que todas as funções estão localizadas em menus e nem sempre sua
disposição é intuitiva, o que obriga o utilizador a gastar um pouco mais de tempo para se
familiarizar com os recursos da ferramenta.

     As ferramentas disponíveis no VMWARE são semelhantes as do VIRTUALBOX.
Porém no VMWARE, o auditor de VM’s está presente. Para seu funcionamento, deve-se
dizer para cada VM individualmente, a ação a ser tomada em caso de uma parada crítica da
máquina física.

     Na Figura 12, podemos visualizar a interface de controle e suas funções.




                           Figura 12 – Interface de controle do VMWARE
                                                                                         27
3.6 Instalação do VIRTUALSERVER

     Esta ferramenta é a mais complicada de ser configurada em relação às demais, com
várias particularidades que devem ser consideradas. Uma delas é a necessidade de que o
serviço IIS da Microsoft esteja instalado na máquina física. Porém este procedimento é muito
simples e foi realizado pelo Painel de Controle do Windows 2003 Server sem maiores
problemas. A Figura 13 mostra o momento onde esta ferramenta é adicionada ao sistema.




                        Figura 13 – Instalando o IIS no Windows 2003 Server

     Configurado o IIS, os próximos passos foram mais simples, seguindo a configuração
padrão sugerida pelo assistente de instalação onde, é apresentada uma confirmação da porta a
ser utilizada pela ferramenta para acesso remoto e se deve ser adicionada uma exceção no
Firewall do Windows para tal porta. (Figura 14)




                            Figura 14 – Instalando o VIRTUALSERVER

                                                                                         28
Foi verificado que, dentre todas as ferramentas, esta foi a que apresentou melhor
acessibilidade e usabilidade a primeiro momento, mesmo porque o gerenciamento da
ferramenta é feita pelo browser IE 6 (ou mais recente) e todas as principais funções ficam
bem visíveis ao usuário. Ao acessar o console da ferramenta é solicitado um usuário e senha
que pode ser qualquer usuário da máquina física com perfil administrativo e em seguida é
exibida a tela principal da ferramenta, conforme Figura 15 e 16.




                            Figura 15 – Acessando o VIRTUALSERVER




                           Figura 16 – Gerenciando o VIRUTALSERVER

     Os recursos disponíveis nesta ferramenta se assemelham muito ao VMWARE,
incluindo o auditor de VM’s. Porém, neste caso não é necessário que seja definido para cada
VM individualmente o comportamento do auditor, basta ativá-lo ou desativá-lo e ele aplicará
a regra para todas as VM’s respeitando seu estado no momento da parada. Exemplo: se no
momento da parada existiam 3 VM’s em funcionamento e 1 desligada, ao reinicializar, o
auditor somente iniciará as 3 VM’s e manterá a outra desligada.
                                                                                        29
3.7 Preparação das VM’s

      Os passos para se criar uma VM no VMWARE, VIRTUALBOX e VIRTUALSERVER
não diferem muito de um para o outro, não tendo necessidade de detalhar cada processo,
passo a passo. As configurações realizadas podem ser visualizadas na Tabela 4, que resume os
passos necessários para se criar uma VM.

                                           Configuração das VM's
                       Etapas                                      Configuração selecionada
         Passo 1 - Selecionar SO virtualizado                      Windows XP Professional
  Passo 2 - Definir quantidade de RAM compartilhada                        256 MB
              Passo 3 - Criar HD virtual                                    3 GB
        Passo 4 - Mapear controladora de Rede         Realtek 8139 10/100 Mbits (Placa de rede principal)

                                    Tabela 4 – Configuração das VM’s

      Posteriormente, em cada VM foi instalado o sistema WINDOWS XP PRO utilizando
imagens ISO mapeadas pelas VMM’s e configurado a ferramenta PCMARK, comentada
anteriormente. Também foram instalados pequenos softwares complementares nas VM’s que
proporcionam melhor interatividade entre ela e o SO HOST, onde este é foi fornecido pelas
próprias VMM’s que gerenciam a VM. Embora estes procedimentos sejam simples, foi
necessário um pouco mais de atenção durante o processo. Após a instalação do sistema, toda
comunicação foi feita pela rede, visto que para outras estações, não há diferença lógica entre
um sistema virtual ou físico.

      Após o término destas configurações, deram inicio os testes comparativos.

3.8 Comparativo entre VMM’s
      Inicialmente, foi reduzida a memória da máquina física para 256MB, como nas VM’s, e
efetuado um teste com a ferramenta PCMARK sob o Sistema Desktop. Desta forma,
saberemos qual a perda de desempenho que uma VMM oferece quando comparada a um
sistema não virtualizado.

      Logo depois de finalizado o teste, novamente foi adicionado toda a memória na
máquina física e sob o Sistema Servidor, efetuamos o mesmo teste com o PCMARK, uma por
vez, em cada VM das VMM’s configuradas.

      Outros fatores foram analisados e comparados entre Sistema Desktop e VMM’s, como
tempo levado para cópia de arquivos em rede, tempo de boot do sistema e tempo que o
sistema levou para ser instalado.
                                                                                                            30
Os resultados dos testes foram relatados na Tabela 5.

                             DADOS COMPARATIVOS ENTRE VMM's

                    Testes                    SO Desktop   VMware       VirtualBox VirtualServer

     Teste 1 - Tempo de Inst. do Windows XP   20 minutos   23 minutos     24 minutos   68 minutos

            Teste 2 - Tempo de Boot           25 segundos 32 segundos 30 segundos      35 segundos

    Teste 3 - Tempo de cópia em rede (50MB)   16 segundos 18 segundos 20 segundos      19 segundos

      Teste 4 - Pontuação PCMark (RAM)           3892        3521           2336          1683

      Teste 5 - Pontuação PCMark (CPU)           2409        2136           2192          2206

       Teste 6 - Pontuação PCMark (HD)           5388        4919           4252          4485

   Resultado final PCMark (Soma de pontos)      11689        10576          8780          8374

                              Tabela 5 – Dados comparativos entre VMM’s

     Na última linha da tabela, podemos observar a pontuação final dos testes segundo a
ferramenta PCMARK onde, o VMWARE foi o que chegou mais próximo do Sistema
Desktop. Nas outras VMM’s podemos visualizar que a perca de desempenho, segundo o
PCMARK, é bem significativa, chegando em média a 2000 pontos.

     Nos demais testes, podemos observar que:

   1. O VMWARE também se fez mais produtivo, com exceção do Teste 2, onde o
       VIRTUALBOX obteve um tempo ligeiramente melhor que o VMWARE.
   2. A VMM que teve o pior desempenho em rede foi o VIRTUALBOX, confirmando que
       talvez esta ferramenta não seja a mais indicada em ambientes de TI.
   3. O VIRTUALSERVER obteve um resultado péssimo no Teste 1 (sendo este repetido
       algumas vezes para confirmar o resultado), o que pode demonstrar certa instabilidade
       de desempenho dependendo do processo.

     Por fim, com base nestes resultados, a ferramenta escolhida como a de melhor
desempenho foi o VMWARE.




                                                                                                     31
3.9 Teste final

      Selecionado a VMM de melhor desempenho, o último teste tem como objetivo extrair o
máximo da ferramenta, utilizando mais de um sistema virtualizado ao mesmo tempo, onde,
cada um estará configurado com um tipo de serviço. Abaixo é reapresentada a Figura 6, que
demonstra a estrutura dos testes.




                                Figura 6 – Teste Comparativo Final

      Para realizar este ultimo teste, reduzimos a memória da máquina física para 512MB
quando testado o Sistema Desktop e foi adicionada mais uma VM no VMWARE onde, uma
delas ficou com 160MB de memória e a outra com 384MB. Estas alterações garantem que o
ambiente virtualizado proverá de recursos similares ao do Sistema Desktop, garantindo um
teste mais eficaz e um resultado mais coerente.

      No Sistema Desktop e no Sistema GUEST 1, foi configurado um servidor FTP rodando
sob IIS, com objetivo de medir o tempo de resposta da máquina ao receber um arquivo com
aproximadamente 50MB. O procedimento utilizado pode ser visualizado na Figura 17.




                               Figura 17 – Envio de arquivo via FTP



                                                                                      32
Também no Sistema Desktop, foi configurado um pequeno Banco de Dados, com o
objetivo de verificar o tempo que uma QUERY, inserindo 25000 linhas, leva para ser
executada. Este configuração foi replicada no Sistema GUEST 2.
     Na Figura 18, temos um diagrama do banco de dados configurado nestes ambientes,
onde podemos ver que, embora seja um banco simples, este proporciona uma ótima visão de
um Banco de Dados real.




                            Figura 18 – Diagrama do Banco de Dados

     A QUERY utilizada para o teste de banco assemelha-se com o exemplo da Figura 19:




                                Figura 19 – Exemplo de QUERY

     Após preparar o ambiente, foram realizados dois tipos de testes, sendo:




                                                                                        33
Não-simultâneo: Primeiramente foi analisado o tempo que o Sistema Desktop e o
Sistema GUEST 1 levaram para receber o arquivo de 50MB pelo servidor FTP. Na seqüência,
foi analisado o tempo que o Sistema Desktop e o Sistema GUEST 2 levaram para processar a
QUERY de 25000 linhas. Sendo que, todos os testes foram executados individualmente.
Podemos visualizar os resultados na Tabela 6.

                                       RESULTADOS FINAIS (NÃO-SIMULTÂNEOS)

                         Testes                         Máquina Física Máquina Virtual 1 (FTP) Máquina Virtual 2 (SQL)

    Teste 1 - Transferência de arquivo via FTP (50MB)    20 segundos         22 segundos                 N/A

    Teste 2 - Transferência de arquivo via FTP (50MB)    20 segundos         22 segundos                 N/A

    Teste 3 - Transferência de arquivo via FTP (50MB)    20 segundos         22 segundos                 N/A

     Teste 4 - Execução SQL inserindo 25000 linhas       18 segundos            N/A                  45 segundos

     Teste 5 - Execução SQL inserindo 25000 linhas       16 segundos            N/A                  57 segundos

     Teste 6 - Execução SQL inserindo 25000 linhas       15 segundos            N/A                  50 segundos

            Resultado dos testes FTP (Média)             20 segundos         22 segundos                 N/A

            Resultado dos testes SQL (Média)            16,3 segundos           N/A                 50,6 segundos

                                    Tabela 6 – Resultados Finais (Não-simultâneos)

      Simultâneo: Segue o mesmo princípio dos testes anteriores, porém simultaneamente.
Desta forma, o Sistema Desktop teve que processar as solicitações de FTP e Banco ao mesmo
tempo, assim como, o Sistema GUEST 1 e GUEST 2, ambos ligados, tiveram que cada um
processar a tarefa a eles designada num mesmo momento. Podemos visualizar os resultados
dos na Tabela 7.

                                          RESULTADOS FINAIS (SIMULTÂNEOS)

                         Testes                         Máquina Física Máquina Virtual 1 (FTP) Máquina Virtual 2 (SQL)

    Teste 1 - Transferência de arquivo via FTP (50MB)    23 segundos         24 segundos                 N/A

    Teste 2 - Transferência de arquivo via FTP (50MB)    22 segundos         24 segundos                 N/A

    Teste 3 - Transferência de arquivo via FTP (50MB)    23 segundos         24 segundos                 N/A

     Teste 4 - Execução SQL inserindo 25000 linhas       32 segundos            N/A                  79 segundos

     Teste 5 - Execução SQL inserindo 25000 linhas       35 segundos            N/A                  79 segundos

     Teste 6 - Execução SQL inserindo 25000 linhas       42 segundos            N/A                  85 segundos

            Resultado dos testes FTP (Média)            22,6 segundos        24 segundos                 N/A

            Resultado dos testes SQL (Média)            39,5 segundos           N/A                  81 segundos

                                          Tabela 7 – Testes finais (Simultâneos)
                                                                                                                         34
Analisando os resultados, nota-se que houve pequena perda de desempenho nas
solicitações FTP, quase que insignificante. O que era de se esperar para este serviço, já que o
nível de processamento gerado por ele é muito pequeno. Porém, nas solicitações SQL, vê-se
uma grande perda de desempenho, principalmente nos testes simultâneos.

     Mesmo o VMWARE sendo o que melhor aproveitou os recursos de hardware nos testes
comparativos, este resultado já era esperado. Acredito que a explicação para tal perda de
desempenho nas solicitações SQL é que, não é recomendável configurar este tipo de servidor
sob um ambiente de virtualização que, naturalmente oferece redução de desempenho as
VM’s. A princípio, um banco de dados, quando processando uma QUERY, utiliza muitos
recursos de hardware, como Memória e HD, sendo que qualquer perda de desempenho em um
destes dispositivos causará grande impacto no tempo de execução. Ressalto ainda que, neste
caso, o desempenho poderia ser melhorado se estivesse ao meu alcance aquisitivo, adicionar
mais recursos na máquina física, como por exemplo, Memória RAM.

     Mesmo assim foi demonstrado que é possível configurar um ambiente complexo como
este sob uma VMM, basta que seu SO HOST disponha de muitos recursos de hardware para
atender as requisições da ferramenta, que no caso era o VMWARE.




                                                                                            35
4 CONCLUSÃO

     A virtualização, sem dúvidas, é uma tecnologia impressionante. A solução definitiva
para empresas que desejam diminuir custos sejam eles com equipamentos, recursos naturais
(como a energia elétrica) ou pessoal capacitado, já que um número menor de equipamentos
requer menos mão de obra para gerenciá-la.

     É claro, nem tudo é perfeito. Nos testes, foi possível visualizar que existe perda
considerável de desempenho quando se virtualiza determinados serviços. Porém, basta que
você tenha um equipamento robusto e que a configuração das VM’s seja estruturada, que os
riscos diminuirão muito. Vale lembrar que, serviços como Banco de Dados e afins,
recomenda-se que sejam configurados num ambiente real, ou seja, não virtualizado, afim de
evitar problemas com desempenho das aplicações que dependam deste serviço.

     Por fim, podemos concluir que a tecnologia de virtualização de sistemas, vem evoluindo
muito e conseqüentemente, cada vez mais sendo utilizada pelos profissionais da área de TI,
tornando-se assim, ferramenta indispensável para o dia-a-dia de um Cientista da Computação.




                                                                                         36
5 REFERÊNCIAS BIBLIOGRÁFICAS

CANDIDO, C.
História da Virtualização - 2007
Disponível em: http://caiocandido.wordpress.com/2007/05/19/conceitos-de-virtualizacao/ -
Acessado em: 04/05/2008

KING, R. P.
Architectural Principles for Virtual Computer Systems. 1992. (e-Book)
Harvard University - HQ Electronics Systems Division, Hanscom Field.

LAUREANO, M.
Máquinas Virtuais e emuladores. Conceitos,Técnicas e Aplicações. (e-Book)
Novatec Editora, São Paulo - 2006.

LOPES, A.; LAZARINO, O.
VMWARE Inside in INFO n. 248/2006 (pag. 126-127)
Revista INFO, São Paulo – 2006.

MICROSOFT, 2007
Microsoft Virtual Server 2005.
Disponível em: http://www.microsoft.com.br/downloads - Acessado em: 25/05/2008

CHIUEH , N.; BARHAM, P.
Máquinas virtuais - 2006
Disponível em: http://www.guiadohardware.net/dicas/maquinas-virtuais-introducao.html -
Acessado em: 03/06/2008

NETWORK WORLD 2007
Os oito principais desafios da virtualização em data centers
Disponível em:
http://idgnow.uol.com.br/computacao_corporativa/2007/04/27/idgnoticia.2007-04-
27.3291222006/ - Acessado em: 28/05/2008

TANENBAUM, A. S.; WOODHULL, A. S.
Sistemas Operacionais Projeto e Implantação 2. Edição (e-Book)
Bookman Editora, Rio de Janeiro – 2006.

TORRES, G.; LIMA, C.
Como Funciona a Tecnologia de Virtualização da Intel - 2007
Disponível em: http://www.clubedohardware.com.br/artigos/1144 - Acessado em: 31/05/2008

VMWARE, 2008
VMware Server DATASHEET
Disponível em: http://www.vmware.com/br/pdf/server_datasheet_br.pdf - Acessado em:
05/06/2008



                                                                                           37
6 ASSINATURAS



________________________________   ________________________________
JORGE HENRIQUE BARUCHI             PROF. CARLOS VIVIANI




                                                                      38

Contenu connexe

Tendances

tccfinal
tccfinaltccfinal
tccfinalrjunkes
 
33 design patterns com Java
33 design patterns com Java33 design patterns com Java
33 design patterns com JavaGlobalcode
 
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XP
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XPDesenvolvimento Ágil de Software: uma abordagem com SCRUM e XP
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XPTiago Oliveira
 
Java awt
Java awtJava awt
Java awtTiago
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsEdward David Moreno
 
De javaparapython
De javaparapythonDe javaparapython
De javaparapythonTiago
 
Screen
ScreenScreen
ScreenTiago
 
K19 k51-design-patterns-em-java
K19 k51-design-patterns-em-javaK19 k51-design-patterns-em-java
K19 k51-design-patterns-em-javaCaique Moretto
 
Exemolo relatorio
Exemolo relatorioExemolo relatorio
Exemolo relatorio2011990
 
Java applet
Java appletJava applet
Java appletTiago
 
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...Danilo Monteiro
 
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...willmews
 
Introducao a acessibilidade_web
Introducao a acessibilidade_webIntroducao a acessibilidade_web
Introducao a acessibilidade_webTiago
 
Java swing
Java swingJava swing
Java swingTiago
 

Tendances (20)

tccfinal
tccfinaltccfinal
tccfinal
 
33 design patterns com Java
33 design patterns com Java33 design patterns com Java
33 design patterns com Java
 
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XP
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XPDesenvolvimento Ágil de Software: uma abordagem com SCRUM e XP
Desenvolvimento Ágil de Software: uma abordagem com SCRUM e XP
 
Java awt
Java awtJava awt
Java awt
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufs
 
De javaparapython
De javaparapythonDe javaparapython
De javaparapython
 
Screen
ScreenScreen
Screen
 
Inkscape
InkscapeInkscape
Inkscape
 
K19 k51-design-patterns-em-java
K19 k51-design-patterns-em-javaK19 k51-design-patterns-em-java
K19 k51-design-patterns-em-java
 
TCC-BrunoAzevedoCosta
TCC-BrunoAzevedoCostaTCC-BrunoAzevedoCosta
TCC-BrunoAzevedoCosta
 
Java Basico
Java BasicoJava Basico
Java Basico
 
Exemolo relatorio
Exemolo relatorioExemolo relatorio
Exemolo relatorio
 
Java applet
Java appletJava applet
Java applet
 
Jspservlets
JspservletsJspservlets
Jspservlets
 
J2me
J2meJ2me
J2me
 
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...
Tcc danilo monteiro ribeiro motivação de engenheiros de software no contexto ...
 
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...
SIMULAÇÃO MONTE CARLO PARA FLUXO DE PROCESSOS UTILIZANDO A FERRAMENTA FUSION ...
 
Introducao a acessibilidade_web
Introducao a acessibilidade_webIntroducao a acessibilidade_web
Introducao a acessibilidade_web
 
Java swing
Java swingJava swing
Java swing
 
Xdmcp
XdmcpXdmcp
Xdmcp
 

En vedette

Resolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows serverResolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows serverDanilo Augusto Leite
 
Ubuntu (Guia do Iniciante)
Ubuntu (Guia do Iniciante)Ubuntu (Guia do Iniciante)
Ubuntu (Guia do Iniciante)Alax Ricard
 
Windows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualizaçãoWindows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualizaçãoFabio Hara
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Walter Coan
 
Esprit ultra (728 e 738)
Esprit ultra (728 e 738)Esprit ultra (728 e 738)
Esprit ultra (728 e 738)euromaxsecurity
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoDécio Araújo
 
Minicurso - Virtualização
Minicurso - VirtualizaçãoMinicurso - Virtualização
Minicurso - Virtualizaçãodanielbojczuk
 
I seminario de_iniciacao_hacker
I seminario de_iniciacao_hackerI seminario de_iniciacao_hacker
I seminario de_iniciacao_hackerponto hacker
 
Detector de infravermelho
Detector de infravermelhoDetector de infravermelho
Detector de infravermelhoCelso Mauricio
 
Regulagem de Guitarras Eletricas
Regulagem de Guitarras EletricasRegulagem de Guitarras Eletricas
Regulagem de Guitarras EletricasGabriel Vandresen
 
Livro Programação em Shell 8 edição Julio Cézar Nevez
Livro Programação em Shell 8 edição   Julio Cézar NevezLivro Programação em Shell 8 edição   Julio Cézar Nevez
Livro Programação em Shell 8 edição Julio Cézar NevezSoftD Abreu
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1ponto hacker
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Alax Ricard
 
Apostila para hackers iniciantes
Apostila para hackers iniciantesApostila para hackers iniciantes
Apostila para hackers inicianteshackersetruques
 
Windows Server 2003
Windows Server 2003Windows Server 2003
Windows Server 2003Goncalo
 

En vedette (19)

Resolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows serverResolvendo problemas do dia a-dia com o windows server
Resolvendo problemas do dia a-dia com o windows server
 
Manual geovision-v8-3
Manual geovision-v8-3Manual geovision-v8-3
Manual geovision-v8-3
 
Ubuntu (Guia do Iniciante)
Ubuntu (Guia do Iniciante)Ubuntu (Guia do Iniciante)
Ubuntu (Guia do Iniciante)
 
Scampi
ScampiScampi
Scampi
 
iso
isoiso
iso
 
Windows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualizaçãoWindows Server 2012 - Além da virtualização
Windows Server 2012 - Além da virtualização
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
 
Esprit ultra (728 e 738)
Esprit ultra (728 e 738)Esprit ultra (728 e 738)
Esprit ultra (728 e 738)
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passo
 
Minicurso - Virtualização
Minicurso - VirtualizaçãoMinicurso - Virtualização
Minicurso - Virtualização
 
I seminario de_iniciacao_hacker
I seminario de_iniciacao_hackerI seminario de_iniciacao_hacker
I seminario de_iniciacao_hacker
 
Detector de infravermelho
Detector de infravermelhoDetector de infravermelho
Detector de infravermelho
 
Regulagem de Guitarras Eletricas
Regulagem de Guitarras EletricasRegulagem de Guitarras Eletricas
Regulagem de Guitarras Eletricas
 
Livro Programação em Shell 8 edição Julio Cézar Nevez
Livro Programação em Shell 8 edição   Julio Cézar NevezLivro Programação em Shell 8 edição   Julio Cézar Nevez
Livro Programação em Shell 8 edição Julio Cézar Nevez
 
Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1Técnicas hacker soluções para segurança 1
Técnicas hacker soluções para segurança 1
 
Curso de Eletronica Basica
Curso de Eletronica BasicaCurso de Eletronica Basica
Curso de Eletronica Basica
 
Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1Livro curso de_hacker_para_iniciantes_cap_1
Livro curso de_hacker_para_iniciantes_cap_1
 
Apostila para hackers iniciantes
Apostila para hackers iniciantesApostila para hackers iniciantes
Apostila para hackers iniciantes
 
Windows Server 2003
Windows Server 2003Windows Server 2003
Windows Server 2003
 

Similaire à Virtualização

Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)gsabatke
 
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisMarcelo Ramos
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...Marcelo Dieder
 
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...Marcelo Eden
 
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Gabriel Cabral
 
Virtualização de servidores cleiton leive de lima xavier
Virtualização de servidores   cleiton leive de lima xavierVirtualização de servidores   cleiton leive de lima xavier
Virtualização de servidores cleiton leive de lima xaviercleitonleive
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwarecarlosabs13
 
Demonstrador Virtual Web com Recursos de Realidade Aumentada
Demonstrador Virtual Web com Recursos de Realidade AumentadaDemonstrador Virtual Web com Recursos de Realidade Aumentada
Demonstrador Virtual Web com Recursos de Realidade AumentadaLeonardo Pereira Santos
 
Relatório de Estágio da Graduação
Relatório de Estágio da GraduaçãoRelatório de Estágio da Graduação
Relatório de Estágio da GraduaçãoMaurício Linhares
 
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ES
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ESREFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ES
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ESLuiz Aquino
 
Dissertação - Janeiro/2003 - DC/UFC
Dissertação - Janeiro/2003 - DC/UFCDissertação - Janeiro/2003 - DC/UFC
Dissertação - Janeiro/2003 - DC/UFCCamilo Almendra
 
Ar tool kit-cap6-2004
Ar tool kit-cap6-2004Ar tool kit-cap6-2004
Ar tool kit-cap6-2004caetano_selva
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoDaniel Fernando Pigatto
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.Douglas Scriptore
 
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...Ricardo Sousa
 
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...Diego Moreau
 
Arca Sistema Gerencial
Arca Sistema GerencialArca Sistema Gerencial
Arca Sistema GerencialRicardo Júlio
 
Pim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalPim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalCesar Jardim
 

Similaire à Virtualização (20)

Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)
 
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
 
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
A UTILIZAÇÃO DE METODOLOGIAS ÁGEIS PARA A ENTREGA DE SERVIÇOS DE INFRAESTRUTU...
 
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
J!CAMP: UMA ABORDAGEM CENTRALIZADA PARA O GERENCIAMENTO VIRTUAL DE MÚLTIPLOS...
 
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
 
Virtualização de servidores cleiton leive de lima xavier
Virtualização de servidores   cleiton leive de lima xavierVirtualização de servidores   cleiton leive de lima xavier
Virtualização de servidores cleiton leive de lima xavier
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de software
 
Demonstrador Virtual Web com Recursos de Realidade Aumentada
Demonstrador Virtual Web com Recursos de Realidade AumentadaDemonstrador Virtual Web com Recursos de Realidade Aumentada
Demonstrador Virtual Web com Recursos de Realidade Aumentada
 
Relatório de Estágio da Graduação
Relatório de Estágio da GraduaçãoRelatório de Estágio da Graduação
Relatório de Estágio da Graduação
 
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ES
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ESREFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ES
REFORMULAÇÃO DA COMUNICAÇÃO DIGITAL DO PMI ES
 
Dissertação - Janeiro/2003 - DC/UFC
Dissertação - Janeiro/2003 - DC/UFCDissertação - Janeiro/2003 - DC/UFC
Dissertação - Janeiro/2003 - DC/UFC
 
Ar tool kit-cap6-2004
Ar tool kit-cap6-2004Ar tool kit-cap6-2004
Ar tool kit-cap6-2004
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de Graduação
 
Monografia - Padrões Web
Monografia - Padrões WebMonografia - Padrões Web
Monografia - Padrões Web
 
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
MyHome - Sistema de Automação Residencial para Dispositivos Móveis.
 
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...
TCC - Avaliação de Usabilidade e Acessibilidade para Deficientes Visuais em S...
 
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...
TCC Edson Espíndola Júnior - UX DESIGN – UM ESTUDO SOBRE A CRIAÇÃO DE INTERFA...
 
Arca Sistema Gerencial
Arca Sistema GerencialArca Sistema Gerencial
Arca Sistema Gerencial
 
Projeto banco de_dados_cloud
Projeto banco de_dados_cloudProjeto banco de_dados_cloud
Projeto banco de_dados_cloud
 
Pim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. finalPim ii virtualização de servidores e computadores na univen petróleo rev. final
Pim ii virtualização de servidores e computadores na univen petróleo rev. final
 

Dernier

UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarIedaGoethe
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 

Dernier (20)

UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogar
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 

Virtualização

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