Virtualização

593 visualizações

Publicada em

Virtualização para adm.

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
593
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Virtualização

  1. 1. JORGE HENRIQUE BARUCHI – RA 0520242COMPARATIVO ENTRE FERRAMENTAS DE VIRTUALIZAÇÃO FACULDADE DE JAGUARIÚNA NOV 2008
  2. 2. JORGE HENRIQUE BARUCHI – RA 0520242COMPARATIVO 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. 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 oincentivo necessário para superar os obstáculos e as dificuldades que ao longo do cursosurgiram. Deixo aqui, o meu agradecimento a todas as pessoas que, direta ou indiretamentecontribuí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 terme 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 mederam e por tudo que aprendi com eles até o momento. Creio que nunca poderei retribuirtodos os momentos felizes que vocês me proporcionaram, mas sempre terão meureconhecimento. Ao meu orientador Prof. Carlos Viviani, pela oportunidade, paciência, amizade e pelasorientações que foram essenciais para a minha graduação. A todos os outros professores do curso de Ciência da Computação da FAJ pelosconhecimentos adquiridos durante o curso. Em geral, agradeço a todos que até o presente momento, fizeram parte desta minhacaminhada e que de certo modo contribuíram para o desenvolvimento do meu caráter e modode pensar. 3
  4. 4. BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalhode conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências daComputação da Faculdade de Jaguariúna, Jaguariúna. RESUMOA virtualização não é uma novidade, iniciou-se com a IBM na década de 60 e com o passardos anos vem se aprimorando, tornando-se hoje uma ferramenta indispensável no dia a dia deum 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 aspossibilidades e aproveitamento de um mesmo computador.Atualmente existem diversas ferramentas que podem auxiliar na virtualização de sistemas, oque torna a escolha de uma delas uma tarefa difícil. Desta forma, o objetivo do presentedocumento é auxiliar nesta escolha, mostrando algumas das ferramentas na prática e osprincipais conceitos desta tecnologia.Palavras-chaves: Sistemas Operacionais, Virtualização, VMWARE, VIRTUALBOX,VIRTUALSERVER. 4
  5. 5. BARUCHI, Jorge Henrique. Comparativo entre ferramentas de virtualização. 2008. Trabalhode conclusão de Curso (Bacharelado em Ciências da Computação) – Curso de Ciências daComputação da Faculdade de Jaguariúna, Jaguariúna. ABSTRACTThe 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 thatneed to maximize its resources without increasing costs.Virtualization lets a single computer, simulating several others, increasing more possibilitiesto a single computer.Currently there are several tools that can assist with the virtualization system, which makesthe choice of either a difficult task. Thus, the purpose of this document is to help make thischoice, 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. 6. SUMÁRIO1 INTRODUÇÃO.................................................................................................................. 92 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................................................................................... 193 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.................................................................................................................... 324 CONCLUSÃO .................................................................................................................. 365 REFERÊNCIAS BIBLIOGRÁFICAS........................................................................... 376 ASSINATURAS ............................................................................................................... 38 6
  7. 7. LISTA DE FIGURAS E TABELASFigura 1 – Arquitetura tipo I.....................................................................................................11Figura 2 – Arquitetura tipo II....................................................................................................11Figura 3 – Anéis(RINGS) de proteção da arquitetura x86 atual...............................................15Figura 4 - Arquitetura Intel VT-x.............................................................................................16Figura 5 – Ambiente de comparativo de VMM’s.....................................................................20Figura 6 – Teste Comparativo Final.........................................................................................21Figura 7 – Utilização da ferramenta PCMark...........................................................................23Figura 8 – Instalando o VIRTUALBOX...................................................................................24Figura 9 – Tela principal do VIRTUALBOX...........................................................................25Figura 10 – Instalando o VMWARE........................................................................................26Figura 11 – Acessando o VMWARE........................................................................................27Figura 12 – Interface de controle do VMWARE......................................................................27Figura 13 – Instalando o IIS no Windows 2003 Server............................................................28Figura 14 – Instalando o VIRTUALSERVER..........................................................................28Figura 15 – Acessando o VIRTUALSERVER.........................................................................29Figura 16 – Gerenciando o VIRUTALSERVER......................................................................29Figura 17 – Envio de arquivo via FTP......................................................................................32Figura 18 – Diagrama do Banco de Dados...............................................................................33Figura 19 – Exemplo de QUERY.............................................................................................33Tabela 1 – Hardware do Micro Físico.....................................................................................21Tabela 2 – Softwares Utilizados...............................................................................................22Tabela 3 – Testes Realizados....................................................................................................23Tabela 4 – Configuração das VM’s..........................................................................................30Tabela 5 – Dados comparativos entre VMM’s.........................................................................31Tabela 6 – Resultados Finais (Não-simultâneos).....................................................................34Tabela 7 – Testes finais (Simultâneos).................................................................................... 34 7
  8. 8. LISTA DE ABREVIATURAS E SIGLASFAJ Faculdade de JaguariúnaVMM Virtual Machine MonitorVM Virtual MachineSO Sistema OperacionalTI Tecnologia da InformaçãoCPU Central Processor UnitIP Internet ProtocolE/S Entrada e SaídaSCSI Small Computer System InterfaceFTP File Transfer ProtocolIIS Internet Information ServicesHD Hard DiskUSB Universal Serial BusIE Internet Explorer 8
  9. 9. 1 INTRODUÇÃO Nos últimos anos, a capacidade de processamento dos computadores tem aumentadobastante. Entretanto, toda a capacidade adquirida não tem sido totalmente aproveitada. Temossituações onde, durante a maioria do tempo o hardware que poderia ser usado para oprocessamento 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 empresassó começaram a utilizá-la após a década de 80, tendo em vista a possibilidade resolver certosproblemas 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çãocompleta e Para-virtualização. No geral, a Virtualização permite ao administrador instalar e usar ao mesmo tempo maisde um SO na mesma máquina. O objetivo é aumentar os serviços de um ambiente de TI, commenos manutenções físicas. Para isso existem softwares que fazem esse gerenciamento e quefaremos uso e testes dos mesmos. Vale lembrar que além da redução de custos e aumento daspossibilidades, a virtualização centraliza toda e qualquer manutenção num únicoequipamento. Nos capítulos a seguir, veremos os principais conceitos da virtualização, a utilização dealgumas ferramentas e testes demonstrando as principais características de cada uma. 9
  10. 10. 2 A VIRTUALIZAÇÃO2.1 O que é Virtualização A Virtualização é uma “técnica que combina ou divide recursos computacionais paraprover um ou mais ambientes operacionais de execução”, segundo Nanda Chiueh [2006]. Osambientes 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 dosprincipais. 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 sistemasvirtuais (SO GUEST) e o hardware que é compartilhado por eles. A VMM é responsável porgerenciar todas as estruturas de hardware, como MMU, dispositivos de E/S, controladoresDMA, criando um ambiente completo, onde os sistemas virtuais executam. Os VMM’s podem ser classificados de várias maneiras. As VMM’s como o VMWAREESX SERVER e emuladores como o BOCHS apresentam uma abstração de hardware idênticaao hardware subjacente. Para chegar a um nível de abstração tão alto, alguns monitoresinserem 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 dohardware subjacente. A máquina virtual Java, por exemplo, tem uma arquitetura totalmenteindependente 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. 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 anteriormentecom o objetivo de aumentar o desempenho das máquinas virtuais. Essas modificações geramarquiteturas híbridas. Exemplos dessas arquiteturas podem ser encontrados em emuladores. 11
  12. 12. 2.2 Emuladores Um emulador é um sistema que simula toda uma arquitetura computacional, de formaque todas as instruções do sistema operacional emulado (SO GUEST) são traduzidas eexecutadas no SO HOST. Comumente, emuladores são usados para testar o funcionamento deprogramas escritos para arquiteturas diferentes daquelas em que o emulador executa. A diferença entre emuladores e máquinas virtuais, está basicamente no nível deabstração. Enquanto, em um emulador todas as instruções são convencionalmente traduzidas einterpretadas 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 emulaprocessadores x86. Seu desempenho não é muito alto, devido ao fato de que as instruções sãointerpretadas e executadas uma por uma. Sistemas como o BOCHS são mais usados comosimuladores, 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" esim 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 algunsemuladores de sistemas operacionais, como o QEMU. Também são bastante conhecidos osemuladores de consoles (videogames), como o EPSXE, o SNES9X e o ZSNES. 12
  13. 13. 2.3 Técnicas de Virtualização Existem várias técnicas usadas na virtualização. As principais são virtualizaçãocompleta, paravirtualização e recompilação dinâmica. Essas técnicas serão detalhadas nossub-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 mesmoexecute sobre o VMM” [Barham, 2006]. Podem ocorrer, entretanto, penalidades em relaçãoao desempenho da máquina virtual, uma vez que já que o hardware é virtualizado, asinstruções devem ser interpretadas pelo VMM. Uma desvantagem dessa técnica na arquiteturax86 é que a mesma não foi projetada tendo em vista a virtualização, mas sim teve umaevolução a partir de versões anteriores. Assim, algumas instruções privilegiadas que executamem modos diferentes (modo usuário ou modo supervisor) geram resultados diferentesdependendo do modo em que executam. Uma solução abordada pelo VMWARE ESXSERVER é verificar um pedaço do código que está sendo executado na máquina virtual emodificar 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 umaarquitetura virtual que é similar, mas não idêntica à arquitetura física real. Essa soluçãoaumenta o desempenho das VM’s que a utilizam [Barham, 2006]. Entretanto, são necessáriasmodificações nos sistemas operacionais convidados, que executam na atual arquitetura x86 eainda assim, as implementação necessárias devem ser compatíveis com os sistemasconvidados em utilização. Estas alterações fazem com que o SO GUEST saiba que está sendoemulado, explicando assim o ganho de desempenho, ou seja, desta forma ele pode direcionaras instruções de nível mais baixo direto para o hardware ao invés delas serem interpretadaspelo VMM. 13
  14. 14. 2.3.3 Recompilação Dinâmica Essa técnica, que é conhecida também pelo nome de tradução dinâmica, consiste emtraduzir durante a execução de um programa as instruções de um formato para outro. Umaaplicação da técnica é vista em compiladores JIT (just-in-time), que traduzem de umalinguagem BYTECODE para código nativo da CPU onde o compilador executa. Essarecompilaçã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. OVMWARE WORKSTATION também utiliza essa técnica, recompilando apenas parte docódigo, uma vez que boa parte dele pode executar nativamente (a arquitetura de hardwaresubjacente é a mesma da VM). No VMWARE WORKSTATION apenas instruções que nãopodem ser executadas diretamente são recompiladas.Outro exemplo de recompilação dinâmica ocorre em interpretadores de linguagens, como noSUN JVM, da linguagem JAVA. As instruções geradas para a máquina virtual e armazenadasnos BYTECODES das classes Java são traduzidas e executadas no hardware subjacente. 14
  15. 15. 2.4 Tecnologias facilitadoras do trabalho de virtualização Conforme citado anteriormente, a arquitetura x86 não foi projetada tendo em vista avirtualização. Assim, alguns fabricantes (AMD e INTEL) propuseram novas arquiteturas quedão suporte a essa tecnologia. “Tradicionalmente, os processadores implementam 4 Níveis (RINGS, na terminologiausada para execução de processos) de proteção”, segundo Torres [2007]. Quanto mais alto oní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 sistemaoperacional 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], consisteem fornecer duas novas formas para operações da CPU: • VMX ROOT OPERATION; • VMX NON-ROOT OPERATION. 15
  16. 16. VMM’s executam operações do tipo “ROOT” no RING-0, enquanto que as VM’sexecutam operações do tipo “NON-ROOT”, em níveis inferiores de prioridade (RING-1,RING-2). Processadores equipados com essa tecnologia implementam diretamente emhardware, métodos que possibilitam ao VMM a execução de instruções privilegiadas nosSO’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 sistemasconvidados que são salvos quando instruções especiais são executadas. O VMM podecustomizar 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 idealde 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. 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’sA 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. 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. 19. 2.7 Ferramentas para Virtualização Atualmente podem ser encontradas várias alternativas para virtualização, dentre elas asmais comuns são as de virtualização de software para desktops. Um exemplo seria oMICROSOFT VIRTUALPC. Este é um sistema virtualizador de PC’s gratuito, o programaapesar de simples é rápido e estável, além de passar a suportar oficialmente o WINDOWSVISTA. Ele concorre com soluções como VMWARE e VIRTUALBOX, além dos maislentos como QEMU. Existe também a versão voltada para servidores, MICROSOFTVIRTUAL SERVER 2005, onde esta necessita de uma distribuição Windows Server e demais recursos de hardware. Já o VMWARE usa o conceito de virtualização completa. Sua característica é que eletenta sempre que possível converter os comandos usados pelo sistema dentro da VM emcomandos que o sistema HOST entenda e execute diretamente. EX: se o Windows dentro daVM tenta tocar alguma coisa na placa de som, o VMWARE simplesmente captura os dados etoca na placa de som "real" do micro, como se fosse outro programa qualquer. O mesmo seaplica a todo tipo de instruções básicas, que são executadas diretamente pelo processadorprincipal. O VMWARE interpreta e converte instruções o mínimo possível. As novas versõesdo VMWARE ESX SERVER, que se utilizam deste suporte de hardware à virtualização, sãoinstaladas 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 queacaba demorando mais tempo e fazendo com que o desempenho seja menor. Tecnicamente oVMWARE consegue fazer com que o sistema GUEST rode com 60 a 90% do desempenhoque teria se estivesse rodando diretamente, enquanto o QEMU obtém de 5 a 10%. Paraemparelhar no desempenho o QEMU adotou um módulo adicional, o KQEMU, que faz comque ele passe a funcionar de forma similar ao VMWARE, virtualizando as instruções básicasdo processador, ao invés de emular tudo. A vantagem desta ferramenta é que o QEMU é umprojeto OPEN-SOURCE, enquanto o VMWARE é um produto comercial. O XEN utiliza a idéia de paravirtualização citada anteriormente o que em teoria permiteque o SO GUEST rode com uma redução de performance muito pequena (menos de 5%, namaioria dos casos). O maior problema é que para rodar dentro do XEN é necessário que o SOGUEST seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso doVMWARE e do QEMU, o que o torna muito mais complicado de configurar que os seusconcorrentes. Já BOCHS é outro emulador, este de micros x86 onde simula um PC dentro de umajanela. Podendo rodar simultaneamente qualquer SO, sem o risco de danificar o seucomputador. É ideal para testar projetos de sistemas operacionais betas, como as novasversões de Windows. 19
  20. 20. 3 EXPERIMENTO COMPUTACIONAL3.1 Visão geral O objetivo principal dos testes abordados foi identificar entre as ferramentas utilizadasqual oferece melhor aproveitamento do hardware virtualizado e, em seguida, efetuar umúltimo teste visando que desempenho a VMM escolhida oferece quando comparada a umamá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. Emcada 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 oSO Servidor foi utilizado como hospedeiro das VMM’s e o SO Desktop como parâmetro decomparaçã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. CadaVM 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. 21. Posteriormente, foi escolhida a VMM de maior desempenho e esta foi novamentecomparada com o SO Desktop, porém, utilizando serviços comuns em TI sendo, um Banco deDados 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 seguintesrecursos 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 tamanhosdiferentes, 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óximostópicos. 21
  22. 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 escolhidasoperam sob a plataforma Windows, o que facilitou a realização dos testes. A relação completapode 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 VMs 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 conhecidasatualmente e utilizadas por muitos profissionais de TI para testes e consolidação deservidores. Como banco de dados, foi utilizando a versão gratuita do SQL SERVER por suainterface amigável e sintaxe simples. A praticidade na utilização também se aplica ao servidorFTP, rodando sobre o IIS, uma ferramenta disponível no Windows. 22
  23. 23. Conforme a Tabela 2, também foi escolhido um software de benchmark para testar asVMM’s, sendo o PCMARK. Esta ferramenta, desenvolvida pela mesma empresa doconhecido 3DMARK, oferece uma gama de testes muito úteis que simulam desde tarefassimples a tarefas mais complexas, forçando os recursos do equipamento a desempenhar omáximo de sua capacidade, oferecendo ao fim uma pontuação para cada item. Os testesrealizados 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 conhecimentoté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 desejatestar 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 ostestes 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. 24. O processo de configuração das VMM’s requer atenção individual, onde cada uma delaspossui pontos em particular que, durante o processo de instalação, devem ser configuradoscorretamente. 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 poucospassos, porém foi necessária certa atenção no momento de selecionar quais componentesadicionais deveriam ser instalados. Neste momento o assistente solicita que você selecione sedeseja 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ãocompartilhar a placa de rede e as portas USB da máquina hospedeira, tornando difícil suaconexão com outras máquinas. Na figura 8, pode-se visualizar o momento onde o assistentesolicita estas informações. Figura 8 – Instalando o VIRTUALBOX Após selecionar os componentes adicionais, terá inicio a instalação da ferramenta e aoseu 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áriopoderá 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. 25. Foi observado que, embora sua interface seja muito amigável e a ferramenta disponhade muitos recursos para controlar a VM em utilização, esta não possui um método para acessoremoto a VMM, ou seja, a primeira impressão é que a ferramenta foi projetada apenas parauso local, o que dificulta sua utilização e ambientes tecnológicos. A última questão abordada pode ser contornada utilizando recursos decompartilhamento da área de trabalho. O único problema desta solução (se tratando de umservidor) é garantir que somente esta aplicação fique disponível para o utilizador, porque docontrário, o utilizador terá acesso a todas as demais funções da máquina física, causandoimpacto direto na segurança do ambiente em questão. Outro fator que dificulta a utilização do VIRTUALBOX em ambientes de TI é aausência de um auditor de VM’s que, em caso de paradas críticas (como um rebootautomático ou instalação de updates que necessitam reboot), tem como função desligarpreviamente as VM’s a fim de evitar perda de dados. Desta forma, assim que a máquina físicavolta 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. 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 umainstalação completa, evitando assim que componentes críticos deixem de ser instaladoscausando um impacto significativo no funcionamento das VM’s. A nível de conhecimento, foiselecionada a opção de instalação customizada para visualizar os componentes instaladosonde, dentre eles, nota-se (visualizar Figura 10) que a VMM e a interface de controle sãocomponentes distintos, possibilitando o acesso remoto as VMM e facilitando seugerenciamento. Figura 10 – Instalando o VMWARE Terminada a instalação, também será solicitado que a máquina física seja reiniciada eapós estes passos a ferramenta estará pronta para utilização. 26
  27. 27. Conforme a Figura 11, ao acessarmos a interface de controle, esta solicita se desejaacesso local ou remoto e se solicitado acesso remoto deverá ser informado o endereço de IPda VMM, o usuário e a senha para acesso. Neste caso, é preciso verificar as configurações dofirewall 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 fatordá se ao fato de que todas as funções estão localizadas em menus e nem sempre suadisposição é intuitiva, o que obriga o utilizador a gastar um pouco mais de tempo para sefamiliarizar 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-sedizer para cada VM individualmente, a ação a ser tomada em caso de uma parada crítica damá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. 28. 3.6 Instalação do VIRTUALSERVER Esta ferramenta é a mais complicada de ser configurada em relação às demais, comvárias particularidades que devem ser consideradas. Uma delas é a necessidade de que oserviço IIS da Microsoft esteja instalado na máquina física. Porém este procedimento é muitosimples e foi realizado pelo Painel de Controle do Windows 2003 Server sem maioresproblemas. 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çãopadrão sugerida pelo assistente de instalação onde, é apresentada uma confirmação da porta aser utilizada pela ferramenta para acesso remoto e se deve ser adicionada uma exceção noFirewall do Windows para tal porta. (Figura 14) Figura 14 – Instalando o VIRTUALSERVER 28
  29. 29. Foi verificado que, dentre todas as ferramentas, esta foi a que apresentou melhoracessibilidade e usabilidade a primeiro momento, mesmo porque o gerenciamento daferramenta é feita pelo browser IE 6 (ou mais recente) e todas as principais funções ficambem visíveis ao usuário. Ao acessar o console da ferramenta é solicitado um usuário e senhaque 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 cadaVM 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 nomomento da parada existiam 3 VM’s em funcionamento e 1 desligada, ao reinicializar, oauditor somente iniciará as 3 VM’s e manterá a outra desligada. 29
  30. 30. 3.7 Preparação das VM’s Os passos para se criar uma VM no VMWARE, VIRTUALBOX e VIRTUALSERVERnã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 ospassos necessários para se criar uma VM. Configuração das VMs 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 utilizandoimagens ISO mapeadas pelas VMM’s e configurado a ferramenta PCMARK, comentadaanteriormente. Também foram instalados pequenos softwares complementares nas VM’s queproporcionam melhor interatividade entre ela e o SO HOST, onde este é foi fornecido pelaspróprias VMM’s que gerenciam a VM. Embora estes procedimentos sejam simples, foinecessário um pouco mais de atenção durante o processo. Após a instalação do sistema, todacomunicação foi feita pela rede, visto que para outras estações, não há diferença lógica entreum 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, eefetuado 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 umsistema não virtualizado. Logo depois de finalizado o teste, novamente foi adicionado toda a memória namáquina física e sob o Sistema Servidor, efetuamos o mesmo teste com o PCMARK, uma porvez, em cada VM das VMM’s configuradas. Outros fatores foram analisados e comparados entre Sistema Desktop e VMM’s, comotempo levado para cópia de arquivos em rede, tempo de boot do sistema e tempo que osistema levou para ser instalado. 30
  31. 31. Os resultados dos testes foram relatados na Tabela 5. DADOS COMPARATIVOS ENTRE VMMs 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 aferramenta PCMARK onde, o VMWARE foi o que chegou mais próximo do SistemaDesktop. Nas outras VMM’s podemos visualizar que a perca de desempenho, segundo oPCMARK, é 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 melhordesempenho foi o VMWARE. 31
  32. 32. 3.9 Teste final Selecionado a VMM de melhor desempenho, o último teste tem como objetivo extrair omá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, quedemonstra a estrutura dos testes. Figura 6 – Teste Comparativo Final Para realizar este ultimo teste, reduzimos a memória da máquina física para 512MBquando testado o Sistema Desktop e foi adicionada mais uma VM no VMWARE onde, umadelas ficou com 160MB de memória e a outra com 384MB. Estas alterações garantem que oambiente virtualizado proverá de recursos similares ao do Sistema Desktop, garantindo umteste mais eficaz e um resultado mais coerente. No Sistema Desktop e no Sistema GUEST 1, foi configurado um servidor FTP rodandosob IIS, com objetivo de medir o tempo de resposta da máquina ao receber um arquivo comaproximadamente 50MB. O procedimento utilizado pode ser visualizado na Figura 17. Figura 17 – Envio de arquivo via FTP 32
  33. 33. Também no Sistema Desktop, foi configurado um pequeno Banco de Dados, com oobjetivo de verificar o tempo que uma QUERY, inserindo 25000 linhas, leva para serexecutada. 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 deum 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. 34. Não-simultâneo: Primeiramente foi analisado o tempo que o Sistema Desktop e oSistema 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 aQUERY 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 mesmotempo, assim como, o Sistema GUEST 1 e GUEST 2, ambos ligados, tiveram que cada umprocessar a tarefa a eles designada num mesmo momento. Podemos visualizar os resultadosdos 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. 35. Analisando os resultados, nota-se que houve pequena perda de desempenho nassolicitações FTP, quase que insignificante. O que era de se esperar para este serviço, já que onível de processamento gerado por ele é muito pequeno. Porém, nas solicitações SQL, vê-seuma grande perda de desempenho, principalmente nos testes simultâneos. Mesmo o VMWARE sendo o que melhor aproveitou os recursos de hardware nos testescomparativos, este resultado já era esperado. Acredito que a explicação para tal perda dedesempenho nas solicitações SQL é que, não é recomendável configurar este tipo de servidorsob um ambiente de virtualização que, naturalmente oferece redução de desempenho asVM’s. A princípio, um banco de dados, quando processando uma QUERY, utiliza muitosrecursos de hardware, como Memória e HD, sendo que qualquer perda de desempenho em umdestes dispositivos causará grande impacto no tempo de execução. Ressalto ainda que, nestecaso, o desempenho poderia ser melhorado se estivesse ao meu alcance aquisitivo, adicionarmais recursos na máquina física, como por exemplo, Memória RAM. Mesmo assim foi demonstrado que é possível configurar um ambiente complexo comoeste sob uma VMM, basta que seu SO HOST disponha de muitos recursos de hardware paraatender as requisições da ferramenta, que no caso era o VMWARE. 35
  36. 36. 4 CONCLUSÃO A virtualização, sem dúvidas, é uma tecnologia impressionante. A solução definitivapara 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 equipamentosrequer menos mão de obra para gerenciá-la. É claro, nem tudo é perfeito. Nos testes, foi possível visualizar que existe perdaconsiderável de desempenho quando se virtualiza determinados serviços. Porém, basta quevocê tenha um equipamento robusto e que a configuração das VM’s seja estruturada, que osriscos 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 deevitar problemas com desempenho das aplicações que dependam deste serviço. Por fim, podemos concluir que a tecnologia de virtualização de sistemas, vem evoluindomuito 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. 37. 5 REFERÊNCIAS BIBLIOGRÁFICASCANDIDO, C.História da Virtualização - 2007Disponível em: http://caiocandido.wordpress.com/2007/05/19/conceitos-de-virtualizacao/ -Acessado em: 04/05/2008KING, 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, 2007Microsoft Virtual Server 2005.Disponível em: http://www.microsoft.com.br/downloads - Acessado em: 25/05/2008CHIUEH , N.; BARHAM, P.Máquinas virtuais - 2006Disponível em: http://www.guiadohardware.net/dicas/maquinas-virtuais-introducao.html -Acessado em: 03/06/2008NETWORK WORLD 2007Os oito principais desafios da virtualização em data centersDisponível em:http://idgnow.uol.com.br/computacao_corporativa/2007/04/27/idgnoticia.2007-04-27.3291222006/ - Acessado em: 28/05/2008TANENBAUM, 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 - 2007Disponível em: http://www.clubedohardware.com.br/artigos/1144 - Acessado em: 31/05/2008VMWARE, 2008VMware Server DATASHEETDisponível em: http://www.vmware.com/br/pdf/server_datasheet_br.pdf - Acessado em:05/06/2008 37
  38. 38. 6 ASSINATURAS________________________________ ________________________________JORGE HENRIQUE BARUCHI PROF. CARLOS VIVIANI 38

×