Implementacao e desempenho da virtualizacao no dcomp ufs

974 views

Published on

TCC no DCOMP/UFS do aluno Anderson de Paula Casssimiro, em Dezembro de 2010

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
974
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
67
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Implementacao e desempenho da virtualizacao no dcomp ufs

  1. 1. UNIVERSIDADE FEDERAL DE SERGIPECENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO ANDERSON DE PAULA CASSIMIROIMPLEMENTAÇÃO E DESEMPENHO DA VIRTUALIZAÇÃO NO DCOMP/UFS São Cristóvão 2010
  2. 2. UNIVERSIDADE FEDERAL DE SERGIPECENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO ANDERSON DE PAULA CASSIMIRO IMPLEMENTAÇÃO E DESEMPENHO DA VIRTUALIZAÇÃO NO DCOMP/UFS Monografia apresentada ao Departamento de Computação da Universidade Federal de Sergipe, como requisito parcial para obtenção do título de bacharel em Ciência da Computação. Orientador: Prof. Dr. Edward David Moreno Ordonez. São Cristóvão Novembro de 2010
  3. 3. Cassimiro, Anderson. Implementação e Desempenho da Virtualização noDCOMP/UFS / Anderson de Paula Cassimiro – SãoCristóvão: UFS, 2010. 82f. Trabalho de Conclusão do Curso de Graduação –Universidade Federal de Sergipe, Curso de Ciência daComputação, 2010. 1. Informática. 2. Virtualização. 3. Máquinas Virtuais. I. Título.
  4. 4. ANDERSON DE PAULA CASSIMIRO IMPLEMENTAÇÃO E DESEMPENHO DA VIRTUALIZAÇÃO NO DCOMP/UFS Trabalho de Conclusão de Curso submetido ao corpo docente doDepartamento de Computação da Universidade Federal de Sergipe (DCOMP/UFS)como parte dos requisitos para obtenção do grau de Bacharel em Ciência daComputação. São Cristóvão, 26 de novembro de 2010. Professor Doutor Edward David Moreno Ordonez Orientador – DCOMP/UFS Professor Doutor Carlos Alberto Estombelo Montesco DCOMP/UFS Professor Doutor Leonardo Nogueira Matos DCOMP/UFS
  5. 5. Dedico este trabalho a todos aqueles quecontribuíram de forma direta ou indireta paraconclusão do mesmo.
  6. 6. Agradeço primeiramente a Deus...
  7. 7. "O analfabeto do século XXI não será aqueleque não sabe ler e escrever, mas aquele que nãoconsegue aprender, desaprender e aprendernovamente". Alvin Tofler
  8. 8. CASSIMIRO, Anderson. Implementação e Desempenho daVirtualização no DCOMP/UFS. 2010. Trabalho de Conclusão de Curso – Cursode Ciência da Computação, Departamento de Computação, UniversidadeFederal de Sergipe, São Cristóvão, 2010. RESUMOA utilização das técnicas de virtualização tem ganhado notoriedade nos últimosanos. Por esse motivo este trabalho discorre sobre os vários conceitos queenvolvem a virtualização, mostrando as possibilidades com o uso da mesma ealgumas vantagens e desvantagens. O trabalho também trata sobre as principaisferramentas para consolidação de servidores disponíveis no mercado e apresentaum breve comparativo sobre elas. Os conhecimentos sobre virtualização sãoaplicados usando um estudo de caso que tem por objetivo principal a consolidaçãode servidores no Departamento de Computação da Universidade Federal de Sergipe(DCOMP/UFS). No desenvolvimento deste estudo de caso optou-se pela utilizaçãodas ferramentas disponibilizadas pela Microsoft, uma vez que o departamento jápossui acordo de licenciamento com a mesma. Ao final, o trabalho mostra os váriosbenefícios obtidos com a virtualização e também mostra como alguns problemasforam evitados na implementação utilizada.Palavras-chave: consolidação de servidor; hipervisor; virtualização.
  9. 9. ABSTRACTThe use of virtualization techniques has gained notoriety in recent years. That is whythis work discusses several concepts involving virtualization, showing the possibilitieswith its use and some advantages and disadvantages. The work also addresses themain tools for consolidating servers available on the market and provides a briefcomparison with them. Knowledge about virtualization is applied using a case studywhich mainly aims to provide server consolidation at Computing Department of theFederal University of Sergipe (DCOMP/UFS). In the development of this case studythe tools provided by Microsoft were chosen, since the department has a licensingagreement with the same. In the end, the work shows the various benefits obtainedwith virtualization and also shows how some problems were avoided in theimplementation used.Keywords: server consolidation; hypervisor; virtualization.
  10. 10. LISTA DE FIGURASFigura 1. História da Virtualização - Linha do Tempo (Quevedo, 2008) .................. 18Figura 2. Diagrama de uma máquina virtual (Laureano, 2006) .............................. 20Figura 3. Uma máquina virtual (Laureano e Maziero, 2008) .................................. 21Figura 4. Diferença entre abstração e virtualização. (Laureano e Maziero, 2008) ... 24Figura 5. Hipervisor ou monitor de tipo I (Laureano, 2006) .................................... 26Figura 6. Hipervisor ou monitor de tipo II (Laureano, 2006) ................................... 27Figura 7. Abordagem híbrida para tipo I (Laureano, 2006) .................................... 28Figura 8. Abordagem híbrida para tipo II (Laureano, 2006) ................................... 29Figura 9. Virtualização total (Laureano, 2006) ...................................................... 31Figura 10. Para-virtualização (Laureano, 2006) .................................................... 32Figura 11. Uso dos níveis de privilégio da arquitetura x86 (Maziero, 2008) ............ 34Figura 12. Visão geral da arquitetura Intel VT (Maziero, 2008) .............................. 35Figura 13. Datacenter virtual (Vmware, 2010a) .................................................... 41Figura 14. Arquitetura das versões ESX e ESXi (Vmware, 2010b)......................... 42Figura 15. Hipervisor Xen (Laureano e Maziero, 2008) ......................................... 44Figura 16. Produtos e Tecnologias de Virtualização Microsoft (Microsoft, 2010a) ... 45Figura 17. Arquitetura do Hyper-V (Microsoft, 2010d) ........................................... 46Figura 18. Cenário inicial dos servidores do DCOMP (Elaboração própria) ............ 53Figura 19. Cenário da solução proposta (Elaboração própria) ............................... 57Figura 20. Utilização de CPU em % (Elaboração própria) ..................................... 65Figura 21. Utilização de CPU em % (Elaboração própria) ..................................... 66Figura 22. Utilização de CPU em % (Elaboração própria) ..................................... 66Figura 23. Utilização de CPU em % (Elaboração própria) ..................................... 67Figura 24. Utilização de CPU em % do servidor MANAGER (Elaboração própria) .. 67Figura 25. Memória disponível em MB (Elaboração própria) ................................. 68Figura 26. Memória disponível em MB (Elaboração própria) ................................. 68Figura 27. Memória disponível em MB (Elaboração própria) ................................. 69Figura 28. Memória disponível em MB (Elaboração própria) ................................. 69
  11. 11. LISTA DE TABELASTabela 1. Serviços em cada servidor .................................................................. 53Tabela 2. Configuração dos servidores ............................................................... 54Tabela 3. Configuração dos servidores reais nesta solução ................................. 58Tabela 4. Serviços em cada servidor migrado ou criado ...................................... 61Tabela 5. Comparação de características dos hipervisores .................................. 76Tabela 6. Comparação de funções incluídas nas versões gratuitas para servidor do Xen e do VMware............................................................................... 78Tabela 7. Comparação entre máquinas virtuais e emuladores .............................. 79
  12. 12. LISTA DE SIGLASAMD-V AMD Virtualization – Virtualização AMDBIOS Basic Input/Output System – Sistema Básico e Entrada e SaídaCMS Console Monitor System – Console Monitor de SistemaCP Control Program – Programa de ControleCPU Central Processing Unit – Unidade Central de ProcessamentoDCOMP Departamento de ComputaçãoDHCP Dynamic Host Configuration Protocol – Protocolo de ConfiguraçãoDinâmica de HostsDNS Domain Name System – Sistema de Nomes de DomíniosE/S Entrada e SaídaHAL Hardware Abstraction Layer – Camada de Abstração de HardwareIntel VT Intel Virtualization Technology – Tecnologia de Virtualização da IntelISA Instruction Set Architecture – Conjunto de Instruções da ArquiteturaJVM Java Virtual Machine – Máquina Virtual JavaNAT Network Address Translation – Tradução de Endereço de RedePC Personal Computer – Computador PessoalQoS Quality of Service – Qualidade de ServiçoROI Return on Investment – Retorno sobre InvestimentoSCCM System Center Configuration ManagerSCDPM System Center Data Protection ManagerSCOM System Center Operations ManagerSCVMM System Center Virtual Machine ManagerSPOF Single point of failure – Ponto único de falhaSVM Secure Virtual Machine – Máquina Virtual SeguraTCC Trabalho de Conclusão de CursoTCO Total Cost of Ownership – Custo Total de PropriedadeTI Tecnologia da InformaçãoTSS Time Sharing System – Sistema de Compartilhamento de TempoUFS Universidade Federal de SergipeVM Virtual Machine – Máquina VirtualVMM Virtual Machine Monitor – Monitor de Máquina Virtual
  13. 13. SUMÁRIO1 INTRODUÇÃO ..................................................................................... 131.1 Motivações e objetivos ............................................................................. 131.2 Organização do trabalho........................................................................... 152 VIRTUALIZAÇÃO – HISTÓRICO E CONCEITOS.......................... 162.1 Histórico .................................................................................................. 172.2.1 Emulador e máquina virtual....................................................................... 232.2.2 Abstração e virtualização .......................................................................... 232.3 Hipervisores............................................................................................. 242.3.1 Tipos de hipervisores ............................................................................... 252.3.2 Classificação dos hipervisores .................................................................. 262.4 Formas de virtualização ............................................................................ 292.5 Técnicas de virtualização e emulação........................................................ 302.5.1 Virtualização total ..................................................................................... 312.5.2 Para-virtualização .................................................................................... 322.5.3 Tradução dinâmica ................................................................................... 332.6 Processadores com virtualização nativa .................................................... 332.7 Usos da virtualização ............................................................................... 352.7.1 Vantagens ............................................................................................... 372.7.2 Desvantagens .......................................................................................... 383 FERRAMENTAS PARA MÁQUINAS VIRTUAIS ............................ 393.1 VMware ................................................................................................... 393.2 Citrix ....................................................................................................... 423.3 Microsoft.................................................................................................. 443.4 Comparação entre as ferramentas ............................................................ 474 ESTUDO DE CASO ............................................................................504.1 Sobre o DCOMP ...................................................................................... 504.2 Situação anterior ...................................................................................... 52
  14. 14. 4.3 Solução proposta ..................................................................................... 554.3.1 Configuração dos servidores ..................................................................... 564.3.2 Aplicações dos servidores ........................................................................ 594.4 Resultados .............................................................................................. 624.4.1 Desempenho ........................................................................................... 635 CONCLUSÕES.................................................................................... 705.1 Trabalhos futuros ..................................................................................... 70REFERÊNCIAS BIBLIOGRÁFICAS........................................................... 72ANEXOS ........................................................................................................75ANEXO A – Tabela comparativa de características do VMware,Hyper-V e Xen............................................................................................... 76ANEXO B – Tabela comparativa do XenServer e VMware ESXi .......78ANEXO C – Comparação entre máquinas virtuais e emuladores ....79
  15. 15. 131 INTRODUÇÃO O conceito de máquinas virtuais surgiu na década de 1960 pela necessidadedo compartilhamento de recursos em mainframes. Mas na década de 1980 a partirda diminuição do custo do hardware este conceito perdeu importância, pois o custodos mainframes que eram utilizados na virtualização eram maiores que os de várioscomputadores que forneciam o ambiente desejado (Laureano e Maziero, 2008). Com isto, durante muitos anos, a virtualização era um termo que ficavarestrito aos membros de departamentos de TI. Atualmente ela passou a oferecersoluções de vanguarda para organizações em busca de otimização dosinvestimentos em TI. Estas soluções são disponibilizadas por um grande número defornecedores, o que tem permitido uma economia de custos e outros benefícios(Ribas, 2008). De uma maneira generalizada pode-se definir a virtualização como acapacidade de criar diversas máquinas lógicas (máquinas virtuais) com um únicohardware (Gonçalves e Vahl Junior, 2009). Em um sistema virtualizado temos um software host sendo executado namáquina física, chamado Virtual Machine Monitor (VMM), ou hipervisor. Estesoftware é responsável pela criação de ambientes simulados de computação, quesão as máquinas virtuais (VMs). Sistemas operacionais inteiros podem serexecutados nessas máquinas virtuais como se estivessem sendo executados em umhardware real (Seo, 2009).1.1 Motivações e objetivos A virtualização está sendo cada vez mais utilizada, também, por causa daspráticas da TI verde. Em (Hess, 2009) TI verde é definida como um conjunto depráticas para tornar mais sustentável e menos prejudicial o nosso uso dacomputação. As práticas de TI verde buscam reduzir o desperdício e aumentar aeficiência de todos os processos e fenômenos relacionados à operação doscomputadores. A maior vantagem da utilização de virtualização neste caso é a
  16. 16. 14economia de energia, pois menos computadores e equipamentos serão necessáriospara execução de diversos serviços. A virtualização também traz vantagens no maior aproveitamento dacapacidade dos servidores, facilidade para gerenciamento das máquinas e nasegurança (Quevedo, 2008). A capacidade de isolamento oferecida peloshipervisores oferece uma boa camada de proteção, já que não é necessária autilização de mais de um hardware para garantir que um sistema não afete outro.Esta capacidade também permite que sejam testadas alterações em sistemas deprodução antes de colocá-las em prática. A capacidade de restaurar estadosanteriores e a migração ao vivo de máquinas virtuais ajuda a prover uma maiordisponibilidade para os serviços oferecidos pela TI. Neste trabalho é realizado um estudo de caso e respectiva análise daimplementação da virtualização no Departamento de Computação (DCOMP) daUniversidade Federal de Sergipe (UFS). Este departamento utiliza a TI com a funçãode auxiliar na administração e em suas atividades de ensino, pesquisa e extensão.Possui três cursos de graduação e um de pós-graduação, que contam comaproximadamente 650 alunos matriculados e ministra aulas para aproximadamente1.000 alunos de outros cursos da universidade. O objetivo desta implementação é facilitar a administração e monitoramentodos servidores e equipamentos do departamento de computação, além de ampliar onúmero de serviços e aplicações oferecidas à comunidade acadêmica sem ter queinvestir no aumento do número de servidores. Mas a virtualização não traz somente vantagens, por isto este trabalhobusca, também, minimizar as desvantagens que possam ser introduzidas devido aouso da virtualização. Dentre as desvantagens é possível citar (Quevedo, 2008;Hansen e Schaeffer, 2009): a perda de desempenho se comparado ao hardwarefísico; a necessidade de alterações no núcleo do sistema hóspede em alguns casos;a indisponibilidade de um equipamento físico pode causar indisponibilidade dediversas aplicações; e a exigência de um hardware com uma maior capacidade deprocessamento e armazenamento.
  17. 17. 151.2 Organização do trabalho Este trabalho está dividido em cinco capítulos, sendo o primeiro de introduçãodo trabalho. No capítulo dois são apresentados os conceitos teóricos sobrevirtualização, no capítulo três são apresentadas algumas soluções de virtualização.O capítulo quatro mostra o estudo de caso do DCOMP e o capítulo cinco apresentaas conclusões obtidas com este trabalho.
  18. 18. 162 VIRTUALIZAÇÃO – HISTÓRICO E CONCEITOS Neste capítulo mostra-se o histórico da virtualização, seus conceitos e suasdiversas aplicações, vantagens e desvantagens. Mas antes disto é importante sabero que significa o termo “virtual”. Segundo o dicionário Michaelis: virtual.vir.tu.al adj m+f (lat virtuale) 1 Que não existe como realidade, mas sim como potência ou faculdade. 2 Que equivale a outro, podendo fazer as vezes deste, em virtude ou atividade. 3 Que é suscetível de exercer-se embora não esteja em exercício; potencial. 4 Que não tem efeito atual. 5 Possível. 6 Diz-se do foco de um espelho ou lente, determinado pelo encontro dos prolongamentos dos raios luminosos (Weiszflog e Silva, 2010). O oposto de virtual não é o que é real como muitos podem imaginar. Seuantônimo é o que é concreto, físico, tangível, com limites bem definidos. O virtualexiste somente como potência, como uma simulação de algo concreto, nãopossuindo limites (Nascimento, 2009). O autor Pierre Lévy em “O que é o virtual?” diz que o virtual faz oposição aoatual: Contrariamente ao possível, estático e já construído, o virtual é como o complexo problemático, o nó de tendências ou de forças que acompanha uma situação, um acontecimento, um objeto ou uma entidade qualquer, e que chama um processo de resolução: a atualização (Lévy, 2003). Ele exemplifica isto através de uma semente, explicando que ela é umavirtualização da árvore, ela “conhece” a forma que deverá se expandir e a partir dascircunstâncias que encontrar ela vai ser a encarregada de inventar, de coproduzir, amesma. Ele define a virtualização como o movimento inverso ao da atualização. Éuma passagem do atual ao virtual, uma “elevação à potência” da entidadeconsiderada. Ele cita o caso da “virtualização” de uma empresa, onde umaorganização comum reúne os empregados num mesmo edifício ou em conjunto dedepartamentos, onde cada empregado ocupa um posto já determinado e possuihorários de trabalho específicos. Já numa empresa virtual o tele trabalho substitui anecessidade da presença física e são utilizados recursos e programas quefavoreçam a colaboração. O autor diz que neste caso a organização deixa de ser umconjunto de departamentos, postos de trabalho e livros de ponto e passa a se
  19. 19. 17preocupar com soluções não estáveis, que contribuam para a colaboração entre osempregados a partir de diversas exigências. Por meio destes e outros conceitos, Nascimento (2009) conclui: [...] “o virtual é algo real com uma natureza intangível e pode torna-se [sic] tangível através do uso de recursos tecnológicos tangíveis, como os computadores e intangíveis, como os sistemas por eles processados. Proporcionando uma experiência real como os simuladores de vôo para treinamento de pilotos, entre outros exemplos” (Nascimento, 2009).2.1 Histórico A virtualização, mesmo só tendo difundido nos últimos anos, já existe desdea década de 1960. De acordo com Laureano e Maziero (2008) ela surgiu pelanecessidade de oferecer a cada usuário um ambiente monousuário completo,independente e desvinculado de outros usuários para os mainframes da época. O primeiro sistema que fez uso da virtualização foi desenvolvido pela IBM, osistema operacional experimental M44/44X (Creasy, 1981). Ele se baseava noconceito do sistema de tempo compartilhado ou TSS (Time Sharing System), criadopela IBM, e foi a partir dele que a mesma começou a desenvolver seus sistemascomerciais. O primeiro computador comercial com suporte a tecnologia foi lançadoem 1964, o mainframe System/360, com um suporte limitado a virtualização. Nomesmo ano foi criado o projeto CP-40 cujo objetivo era a disponibilização de umamáquina virtual System/360 completa para cada usuário. Foi neste projeto quesurgiu a primeira menção às memórias virtuais e às máquinas virtuais, que na épocaeram chamadas de pseudo-máquinas (Quevedo, 2008). A partir daí a IBM desenvolveu o sistema CP/CMS que era constituído pordois componentes principais, o Control Program (Programa de Controle ou CP) e oConsole Monitor System (Console Monitor de Sistema ou CMS). O CP eraresponsável por simular um computador System/360 e o CMS era um sistemaoperacional “leve” monousuário para uso no compartilhamento de tempo interativo.Ao executar várias cópias do CMS em máquinas virtuais CP o esforço da máquinaera menor por cada usuário se comparado ao uso de sistemas operacionaismultitarefas comuns (Creasy, 1981).
  20. 20. 18 O conceito de máquinas virtuais CP/CMS foi importante, pois isola osusuários uns dos outros, com isto aumenta a segurança do sistema, além deaumentar o desempenho no uso de um sistema de compartilhamento de tempo e aosimular um computador completo para cada usuário elimina a necessidade deescrever aplicações específicas para sistemas de tempo compartilhado, já que todasas aplicações já escritas para o sistema original funcionam (Creasy, 1981). Na Figura 1 são listados acontecimentos importantes para a área de TIdesde 1954, nela os fatos que contribuíram para o desenvolvimento da virtualizaçãoestão destacados. Figura 1. História da Virtualização - Linha do Tempo (Quevedo, 2008) A partir da adoção de plataformas de menor custo, como o PC, na décadade 1980 a virtualização perdeu sua importância devido ao custo de um mainframenão compensar o custo necessário para o fornecimento de um PC a cada usuário(Laureano e Maziero, 2008). O conceito voltou a se popularizar a partir do aumento de desempenho efuncionalidade dos computadores pessoais e pelo desenvolvimento da linguagemJava na década de 1990, uma vez que esta possui uma máquina virtual cujo objetivo
  21. 21. 19é tornar possível a execução de um mesmo aplicativo em várias plataformasdiferentes (Laureano e Maziero, 2008). Desde 1997 surgiram várias soluções de virtualização no mercado para tirarproveito das máquinas virtuais, é possível citar o VirtualPC, VMware, Xen, Hyper-V eo VirtualBox dentre outras. De acordo com Mattos (2008), a plataforma PC x86 não possui instruçõesque permitem a virtualização de forma nativa, por isto vários fabricantesdesenvolveram soluções para tornar possível a execução de máquinas virtuais nestaplataforma como o VMware, Xen e VirtualPC. Segundo Laureano e Maziero (2008)estas soluções possuem um desempenho inferior ao de soluções que usam avirtualização nativa. Atualmente vários processadores da Intel e AMD já incluem suporte nativo avirtualização com o objetivo de aumentar o desempenho das máquinas virtuais quesão executadas neles através das tecnologias Virtualization Technology (VT) da Intele Secure Virtual Machine (SVM) da AMD (Quevedo, 2008), como exemplo pode-secitar os processadores da série Core i3 (Intel, 2010). Na década de 2000 a virtualização passou a ser adotada por diversasorganizações em busca da consolidação de servidores. A consolidação deservidores consiste na utilização de um servidor físico com vários servidores virtuais,isto permite um melhor aproveitamento dos recursos, a possibilidade de umambiente mais flexível, diminuição do espaço físico e um menor gasto com energia emanutenção de hardware (Mattos, 2008; Fragni, 2009).2.2 Conceitos Segundo Quevedo (2008) “A virtualização pode ser definida como umametodologia que permite a divisão de um único computador físico em diversoscomputadores virtuais independentes entre si”. Um computador real, computador físico, máquina real, sistema nativo ouhospedeiro (host), possui cinco componentes básicos: processador, memória,dispositivos de entrada e saída (E/S), armazenamento em disco e programas
  22. 22. 20aplicativos. Sendo os quatro primeiros componentes classificados como hardware eo último como software (Norton, 1996). Uma máquina real é formada por vários componentes físicos que fornecem operações para o sistema operacional e suas aplicações. Iniciando pelo núcleo do sistema real, o processador central (CPU) e o chipset da placa- mãe fornecem um conjunto de instruções e outros elementos fundamentais para o processamento de dados, alocação de memória e processamento de E/S. Olhando mais detalhadamente um sistema físico, temos ainda os dispositivos e os recursos, tais como a memória, o vídeo, o áudio, os discos rígidos, os CD-ROMs e as portas (USB, paralela, serial). Em uma máquina real, a BIOS ou devices drivers específicos fornecem as operações de baixo nível para que um sistema operacional possa acessar os vários recursos da placa-mãe, memória ou serviços de E/S (Figura 2) (Laureano, 2006). Figura 2. Diagrama de uma máquina virtual (Laureano, 2006) Já uma máquina virtual ou VM (Virtual Machine) pode ser definida como“uma duplicata eficiente e isolada de uma máquina real” (Laureano, 2006), mas deacordo com este autor com o passar do tempo o termo passou a englobar várias
  23. 23. 21abstrações já que, por exemplo, a Java Virtual Machine (JVM) não virtualiza umsistema real. A Figura 3 mostra um hipervisor executando sobre a plataforma Sparc epermitindo a execução do sistema operacional Windows que foi desenvolvido para aplataforma x86. Figura 3. Uma máquina virtual (Laureano e Maziero, 2008) A partir da Figura 3 é possível verificar as três partes básicas que compõemum ambiente de máquina virtual (Laureano e Maziero, 2008): a) Sistema hospedeiro: contém recursos reais de hardware e software. b) Sistema virtual, ou sistema convidado (guest system): executa sobre osistema virtualizado. c) Monitor de máquina virtual, ou hipervisor: constrói as interfaces virtuais apartir da real. A criação de ambientes virtuais pode acontecer utilizando-se diversosconceitos e tecnologias, como o particionamento de hardware e software, o TSS, asimulação total ou parcial e a emulação (Quevedo, 2008). O monitor de máquina virtual (VMM) é o software responsável por forneceruma interface idêntica ao hardware em que ele funciona, usando a multiplexação devárias máquinas virtuais em um só hardware, e pela criação e controle das máquinasvirtuais (Laureano, 2006). As máquinas virtuais possuem as mesmas características de uma máquinareal, incluindo a BIOS que provê uma interface entre o sistema operacional e o
  24. 24. 22hardware, e os dispositivos de entrada e saída. Mas o VMM pode fornecer umambiente diferente do real, com diferenças no armazenamento em disco equantidade de memória (Quevedo, 2008). Popek e Goldberg (1974) enunciaram três propriedades necessárias paraum sistema computacional oferecer suporte a virtualização de forma eficiente: a) Eficiência: todas as instruções de máquina que não comprometem ofuncionamento do sistema devem ser executadas diretamente no hardware semintervenção da máquina virtual. b) Controle de recursos: um monitor de máquina virtual deve ter controlecompleto sobre os recursos virtualizados sendo estritamente proibido que umprograma executando sobre a máquina virtual os acesse diretamente. c) Equivalência: um programa executando sobre uma máquina virtual deveexibir um comportamento idêntico àquele apresentado caso a máquina virtual nãoexistisse e o programa acessasse diretamente uma máquina física equivalente.Duas exceções são consideradas. Primeira, eventualmente, algumas instruçõespodem ter seu tempo de execução aumentado. Segunda, pode haver problemas deconflito de acesso a recursos, os quais devem ser resolvidos de forma apropriada. Estas propriedades classificaram a ISA (Conjunto de Instruções daArquitetura ou Instruction Set Architecture) em três grupos (Carissimi, 2008): asprivilegiadas se executadas por um programa em modo usuário causam exceções;as sensíveis de controle permitem a alteração de recursos do sistema; e assensíveis comportamentais cujo comportamento dependem da configuração derecursos, como conteúdo de registradores internos ou modos de execução doprocessador. A partir disto Popek e Goldberg (1974) enunciaram e provaram o seguinteteorema sobre a possibilidade de construção de um hipervisor em uma determinadaplataforma: Para qualquer computador convencional de terceira geração, um hipervisor pode ser construído se o conjunto de instruções sensíveis daquele computador for um subconjunto de seu conjunto de instruções privilegiadas.
  25. 25. 23 De acordo com Carissimi (2008) o teorema pode ser traduzido no fato deque qualquer instrução que possa afetar o controle do hipervisor deve passar peloseu controle.2.2.1 Emulador e máquina virtual Um emulador simula um computador real, ele é desenvolvidoespecificamente para transcrever instruções do um processador alvo para oprocessador no qual ele está sendo executado. O emulador implementa asoperações da máquina real em software, ou seja, ele interpreta ou recompila umcódigo que foi desenvolvido para outra plataforma (Laureano, 2006). Enquanto na emulação o software simula um computador real traduzindotodas as instruções, na virtualização ele é responsável por multiplexar um hardwarereal, o que possibilita que máquinas virtuais sejam consideradas cópias idênticas eisoladas do hardware real (Quevedo, 2008). O Bochs (Lawton, Denney et al., 2010), o Crusoe (Klaiber, 2000) e o QEMU(Qemu, 2010) são exemplos de emuladores segundo Laureano e Maziero (2008).2.2.2 Abstração e virtualização Existe uma diferença entre abstração e virtualização. A abstração provêalguns recursos específicos de hardware, enquanto a virtualização provê umconjunto completo de recursos. Na Figura 4 é possível visualizar esta diferença, naabstração o software pode acessar os arquivos para operações específicas, comoread ou write, enquanto a virtualização fornece um sistema de arquivos montadosobre um arquivo, onde é possível realizar outras operações, como mkdir (Laureano,2006).
  26. 26. 24 Figura 4. Diferença entre abstração e virtualização. (Laureano e Maziero, 2008)2.3 Hipervisores Como já vimos o hipervisor, ou monitor de máquinas virtuais (VMM), é acamada de software que faz a criação e controla o ambiente simulando o acessodireto ao hardware. Laureano e Maziero (2008) afirmam que um hipervisor deveatender a três requisitos básicos: prover um ambiente de execução basicamenteidêntico ao da máquina real; o hipervisor deve ter controle total sobre os recursos damáquina real; e, no pior caso, os programas em execução nas máquinas virtuaisdevem apresentar leves degradações de desempenho. Segundo Quevedo (2008) e Laureano e Maziero (2008) as seguintespropriedades, enunciadas por Popek e Goldberg (1974), devem ser atendidas porum hipervisor ideal: a) Equivalência: o hipervisor deve prover um ambiente de execução quaseidêntico ao da máquina real original. Possibilitando um comportamento idêntico aoda sua execução sobre a máquina real. b) Controle de recursos: o hipervisor deve possuir controle completo dosrecursos da máquina real. Nenhum programa executado na máquina virtual deve teracesso a recursos que não tenham sido alocados explicitamente pelo hipervisor. c) Eficiência: a maior parte das instruções do processador virtual devem serexecutadas diretamente pelo processador da máquina real, sem intervenções do
  27. 27. 25hipervisor. Este deve somente interpretar instruções que não possam serexecutadas pelo processador real. Quevedo (2008) também cita as seguintes propriedades frequentementeassociadas à hipervisores: a) Isolamento: um software ao ser executado em máquina real não pode ver,influenciar ou modificar outro software que esteja em execução no hipervisor ou emoutra máquina virtual. b) Inspeção: o hipervisor pode controlar e acessar todas as informações doestado interno da máquina virtual. c) Gerenciabilidade: a administração de várias instâncias de máquinasvirtuais sobre um mesmo hipervisor é simplificada e centralizada. O hipervisor écapaz de gerenciar os recursos entre os sistemas convidados. d) Encapsulamento: através da inspeção o hipervisor é capaz de salvarestados de uma máquina virtual, isto permite o retorno a um estado anterior,análises em casos de falha e migração entre hipervisores executando emcomputadores diferentes. e) Recursividade: deve ser possível executar um hipervisor dentro de umamáquina virtual, produzindo um novo nível de máquinas virtuais.2.3.1 Tipos de hipervisores De acordo com Quevedo (2008) os hipervisores podem ser divididos emdiferentes classes: a) Complete Software Interpreter Machine (CSIM): as instruções passam poruma tradução através do software antes de serem executadas na CPU através datécnica de tradução dinâmica, que consiste em traduzir e guardar blocos de código.
  28. 28. 26 b) Hybrid Virtual Machine (HVM): quando todas as instruções privilegiadassão executadas por software, é utilizada quando a CPU não suporta hipervisores dotipo I ou II, estes serão tratados na próxima seção. c) Hipervisor simples: a maior parte das instruções é executada diretamenteno hardware. Os hipervisores desta classe normalmente possuem um melhordesempenho se comparado a hipervisores das outras classes.2.3.2 Classificação dos hipervisores A seguir são detalhados os hipervisores pela abordagem utilizada na suaconstrução segundo Laureano (2006) e Quevedo (2008).2.3.2.1 Hipervisores do tipo I Hipervisores do tipo I, também conhecido como abordagem clássica ouhipervisores nativos, executam diretamente sobre o hardware da máquina real, comas máquinas virtuais sendo criadas na camada acima. O hipervisor é executado commaior prioridade e as VMs executam no modo usuário, possibilitando que ohipervisor intercepte e emule todas as operações do sistema convidado quenecessitem de recursos do hardware. Este tipo está exemplificado na Figura 5 e éutilizado pelo VMware ESX Server e o ambiente Xen. Figura 5. Hipervisor ou monitor de tipo I (Laureano, 2006)
  29. 29. 272.3.2.2 Hipervisores do tipo II Hipervisores do tipo II, também conhecido como abordagem hospedada ouhipervisores convidados, executam sobre o sistema operacional hospedeiro, comouma aplicação do sistema real que utiliza os drivers do sistema operacional paraacesso ao hardware. Este tipo simula todas as operações que o sistema hospedeirocontrola. Ele está exemplificado na Figura 6 e é utilizado pelo VMware Workstation,o QEMU e o VirtualBox. Figura 6. Hipervisor ou monitor de tipo II (Laureano, 2006)2.3.2.3 Hipervisores híbridos Os hipervisores de tipo I e II não são muito utilizados em sua formaconceitual, na prática são inseridas várias otimizações que tem como objetivomelhorar o desempenho. Como as otimizações levam a arquiteturas diferenciadaselas são chamadas de abordagens híbridas. Como as operações de E/S são pontos cruciais no desempenho doshipervisores, as principais otimizações são feitas nestas operações. É possível listarquatro otimizações mais usadas: a) Em hipervisores de tipo I:
  30. 30. 28 1. O sistema convidado acessa diretamente o hardware hospedeiro, para permitir isto são necessárias mudanças no núcleo do sistema convidado e no hipervisor. A Figura 7 ilustra este caso. Figura 7. Abordagem híbrida para tipo I (Laureano, 2006)b) Em hipervisores de tipo II, ilustrado pela Figura 8: 1. O sistema convidado acessa diretamente o sistema hospedeiro, oferecendo partes da API do sistema hospedeiro. 2. O sistema convidado acessa diretamente o hardware, isto é feito por meio de uma implementação parcial no hipervisor e no sistema convidado através de um driver específico. 3. O hipervisor acessa diretamente o hardware. Implementado a partir da instalação de um driver no sistema hospedeiro.
  31. 31. 29 Figura 8. Abordagem híbrida para tipo II (Laureano, 2006)2.4 Formas de virtualização Existem várias formas possíveis de classificação para a virtualização, aquisão tratadas as formas utilizadas em Laureano (2006) e Quevedo (2008). A classificação de acordo com o tipo de sistema convidado suportado(Rosenblum, 2004) é dividida em virtualização do hardware, virtualização do sistemaoperacional e virtualização de linguagens de programação. a) A virtualização do hardware exporta o sistema físico como uma abstraçãodo hardware, possibilitando o funcionamento de qualquer software escrito para aarquitetura. b) A virtualização do sistema operacional exporta um sistema operacionalcomo abstração de um sistema específico, permitindo a execução de aplicativosdesenvolvidos para outro sistema operacional. c) A virtualização de linguagens de programação consiste em uma aplicaçãoque é executada no sistema operacional, suas máquinas virtuais são desenvolvidaspara computadores fictícios projetados para uma finalidade específica. A camada da
  32. 32. 30aplicação é responsável por exportar a abstração para execução dos programas queforam desenvolvidos para ela. Já na outra classificação, de Chiueh (2005), os sistemas são classificadoscomo Hardware Abstraction Layer (HAL), abstração da Instruction Set Architeture(ISA), nível de sistema operacional, nível de aplicação e biblioteca de interface dousuário. a) Na virtualização HAL o hipervisor simula uma arquitetura completa para osistema convidado, fazendo com que o sistema convidado acredite estar executandosobre um sistema completo. b) Na Abstração da ISA a virtualização faz a emulação completa da ISA,com isto o emulador executa as instruções do sistema convidado através datradução das instruções para o sistema nativo. c) A virtualização de nível de sistema operacional é obtida utilizando umachamada de sistema específica, o seu principal benefício é a criação de umacamada de isolamento de processos. d) A virtualização pelo nível de aplicação é obtida através da abstração dacamada de execução, com uma aplicação utilizando esta camada para execuçãodas instruções do programa. Isto permite que um aplicativo seja executado emvárias plataformas. e) E, por fim, a virtualização da biblioteca de interface para o usuário é feitacom a abstração do topo do sistema operacional, permitindo que aplicações queusam o conjunto de bibliotecas disponibilizadas por um sistema consigam executarem outro sistema.2.5 Técnicas de virtualização e emulação Para construção de hipervisores é necessário definir algumas estratégiaspara a virtualização. As estratégias mais utilizadas são a virtualização total (full
  33. 33. 31virtualization), a para-virtualização (paravirtualization) e a recompilação dinâmica(dynamic recompilation).2.5.1 Virtualização total Na virtualização total o hipervisor fornece uma estrutura completa dehardware virtualizada, que corresponde a uma máquina real existente. Destamaneira os sistemas operacionais convidados não precisam sofrer nenhumaalteração ou ajuste para execução dentro do ambiente virtual. Esta abordagem éutilizada na maioria dos hipervisores de sistema clássicos como o QEMU e VMwaree está ilustrada na Figura 9 (Laureano e Maziero, 2008). A maior vantagem desta estratégia é que os sistemas operacionaisconvencionais podem ser executados sem necessidade de modificações, mas ele éexecutado mais lentamente já que todos os acessos ao hardware são intermediadospelo hipervisor. O hipervisor também é o responsável por implementar alternativaspara que as operações privilegiadas sejam executadas em processadores que nãosuportam a virtualização nativamente (Laureano, 2006). Figura 9. Virtualização total (Laureano, 2006)
  34. 34. 322.5.2 Para-virtualização Na para-virtualização, ilustrada na Figura 10, o sistema convidado sofremodificações para obter uma interação mais eficiente com o monitor de máquinasvirtuais. Esta estratégia permite que o sistema convidado acesse alguns recursos dohardware, como processador e memória, diretamente, sendo este acesso somentemonitorado pelo hipervisor que fornece seus “limites”, como os endereços dememória que podem ser utilizados e endereçamento em disco (Laureano, 2006;Quevedo, 2008). O desempenho obtido com esta técnica compensa as modificaçõesnecessárias aos sistemas convidados. A complexidade para desenvolvimento doshipervisores é reduzida com esta estratégia, já que a maioria dos processadores nãosuporta nativamente a para-virtualização. O Denali (Whitaker, Shaw et al., 2002) e oXen (Clark, 2002) foram os primeiros ambientes a adotar a para-virtualização(Laureano e Maziero, 2008). Figura 10. Para-virtualização (Laureano, 2006)
  35. 35. 332.5.3 Tradução dinâmica A tradução dinâmica, ou recompilação dinâmica, traduz, em tempo deexecução do programa, as instruções de um formato para outro. Nela as solicitaçõesde um sistema convidado são analisadas, reorganizadas e traduzidas em novassequências durante a execução (Quevedo, 2008). Ela tem vários objetivos: detectar e tratar instruções sensíveis nãoprivilegiadas; traduzir as instruções geradas pelo sistema convidado para a interfaceISA do hospedeiro; ou analisar, reorganizar e otimizar sequências de instruçõesgeradas pelo sistema convidado com objetivo de melhorar o desempenho. Amáquina virtual Java implementa esta estratégia usando o JIT (Just-in-TimeBytecode Compiler). Outros hipervisores implementam esta técnica por meio dabusca e troca de instruções sensíveis para outras rotinas em processadores que nãosuportam virtualização nativamente (Laureano e Maziero, 2008). Esta estratégia é composta por sete passos (Laureano, 2006): agrupamentode bits, desmontagem (disassembling), geração de código intermediário,decompilação, compilação, montagem (assembling) e armazenagem dos bits.2.6 Processadores com virtualização nativa A arquitetura x86 possui quatro níveis de privilégio, ou modos de operação,chamados anéis (rings) que são numerados de 0 a 3, sendo o nível 0 o de maiorprivilégio na execução de intruções (Mattos, 2008). Os sistemas operacionais convencionais, como Microsoft Windows e asvariações do UNIX, usam dois níveis do processador, o nível 0 usado pelo sistemaoperacional e o nível 3 que possui o menor privilégio e é usado nos processos dousuário, como é possível verificar na Figura 11. Quando um processo de usuáriotenta executar uma instrução privilegiada ocorre uma exceção que poderá sertratada, mas a arquitetura x86, em especial a família de processadores Intel PentiumIV e seus predecessores (Laureano e Maziero, 2008), possui dezessete instruçõesnão privilegiadas que são sensíveis, ou seja, violam o teorema estabelecido porPopek e Goldberg (1974) (Carissimi, 2008).
  36. 36. 34 Ainda assim é possível implementar máquinas virtuais para as arquiteturasque não respeitam o teorema, mas existe um custo no desempenho. Neste caso avirtualização é feita por meio das estratégias de para-virtualização e traduçãodinâmica. Os fabricantes de processadores AMD e Intel desenvolveram extensõespara a arquitetura x86 para suportarem a virtualização, elas são denominadas AMD-V (AMD-Virtualization) e Intel VT (Intel Virtualization Technology). Mesmo sendosimilares elas são incompatíveis entre si. Figura 11. Uso dos níveis de privilégio da arquitetura x86 (Maziero, 2008) De acordo com Carissimi (2008), a AMD implementa este suporte por meiode funções especiais no processador que são executadas por um hipervisor econtrolam, através do hipervisor, se os acessos do sistema hóspede são permitidos. Ainda segundo este autor a Intel possui mecanismos similares. Estesmecanismos completam a ideia do conceito de anéis de proteção adicionando doismodos, o root e o não-root. O hipervisor, que executa em modo root, controla os doismodos, podendo transferir a execução de um sistema operacional convidado para omodo não-root, onde as instruções do anel 0 são executadas sem risco para osistema. Este comportamento pode ser verificado na Figura 12. Com o suporte oferecido pelos processadores os hipervisores podemcombinar a virtualização completa ou a para-virtualização com técnicas deaceleração de E/S. Ela tem o melhor desempenho de CPU, memória e E/S de todosos tipos de virtualização na arquitetura x86 (Quevedo, 2008).
  37. 37. 35 Figura 12. Visão geral da arquitetura Intel VT (Maziero, 2008)2.7 Usos da virtualização Vistos os conceitos envolvidos na virtualização esta seção trata dos seususos, vantagens e desvantagens. Segundo Quevedo (2008) a utilização de máquinas virtuais pode ajudar nadiminuição da complexidade dos ambientes de TI. Ela facilita os trabalhos da equipede suporte, aumenta a portabilidade dos ambientes, diminui os custos e aumenta asegurança e disponibilidade dos recursos para os usuários. Principais usos para máquinas virtuais (Laureano, 2006; Laureano eMaziero, 2008; Quevedo, 2008; Seo, 2009): consolidação de servidores, laboratóriosde ensino, execução de software legado, debug e monitoração de aplicações,sandboxing1, honeypots2 e honeynets3, facilitar a migração de aplicações e1 “A técnica de sandboxing consiste na criação de um ambiente de execução totalmente isolado deforma a garantir que o mau-funcionamento de um sistema não interfira nos demais.” Quevedo (2008)2 Sistema preparado para ser atacado e invadido. (Laureano e Maziero, 2008)
  38. 38. 36servidores, permitir a simulação de um hardware específico, desenvolvimento desistemas e planos de contingência e continuidade de negócios. A consolidação de servidores, que consiste em consolidar a carga dediversos servidores em poucos ou apenas um servidor, é um dos principais atrativosda virtualização, pois reduz custos com o gerenciamento de servidores, a utilizaçãode espaço físico, o consumo de energia elétrica, entre outros, auxiliando assim naredução do Custo Total de Propriedade4 (TCO) (Quevedo, 2008). O princípio da consolidação de servidores é a utilização de um servidor demaior capacidade em substituição a vários servidores de menor capacidade. Peladiminuição da quantidade de servidores ela cria um ponto único de falha (SPOF), oque aumenta os riscos da indisponibilidade de vários serviços ao mesmo tempo. As máquinas virtuais, quando utilizadas no ensino, facilitam a aplicação deaulas práticas e laboratórios multidisciplinares e reduz o custo de manutenção. Jáque é possível criar máquinas virtuais com sistemas operacionais e aplicaçõesespecíficas a depender do tipo da aula, neste caso elas poderiam ficar disponíveisem um servidor e serem executadas somente quando forem necessárias. Aplicações ou sistemas operacionais legados podem ser executados a partirda simulação de um hardware compatível com a mesma, sem necessidade de umhardware dedicado a estas funções. Ela auxilia na criação de ambientes múltiplos de execução, ajudando aaumentar a Quality of Service (QoS) e a disponibilidade dos recursos. Também épossível executar mais aplicações em um mesmo hardware já que uma máquinavirtual não interfere em outras. Permite que aplicações sejam distribuídas com todo um ambiente deexecução já configurado. É possível também testar o comportamento de aplicaçõesem diversos sistemas operacionais utilizando somente o computador dodesenvolvedor. Ela é útil na aplicação da técnica de sandboxing pela possibilidade doisolamento para execução de aplicações não confiáveis. Elas também auxiliam na3 Coleção de honeypots com diferentes sistemas operacionais, configurações e serviços de rede.(Laureano e Maziero, 2008)4 “É o custo de manter a tecnologia.” Ribas (2008)
  39. 39. 37criação de honeypots e honeynets já que é possível criar várias máquinas isoladascom diferentes configurações para que sejam atacadas (Laureano e Maziero, 2008). Facilita a criação e aplicação de planos de contingência já que um servidorcom problemas pode ser restaurado rapidamente, sem envolver nenhumareinstalação física de equipamentos ou de sistema operacional.2.7.1 Vantagens A partir destes usos podem ser citadas as seguintes vantagens no uso davirtualização (Laureano, 2006; Quevedo, 2008; Ribas, 2008; Nascimento, 2009): a) Instalação de diversos sistemas operacionais, de diferentes plataformas,usando somente um computador; b) Portabilidade de aplicações, principalmente aplicações legadas; c) Facilidade no gerenciamento de servidores, pela diminuição daquantidade necessária; d) Facilidade na criação de ambientes operacionais em plataformasdiferentes para demonstração de sistemas, testes de novos aplicativos, testes desistemas operacionais, aplicação de atualizações, etc.; e) Diminuição de custos com equipamentos, com espaço físico e comenergia elétrica através da consolidação de servidores, auxiliando a conformidadede práticas de TI Verde; f) Melhor utilização dos recursos disponíveis; g) Agilidade na criação de backups; h) Simplificação do ambiente de desenvolvimento e testes de novosaplicativos; i) Isolamento de falhas de software, provendo maior segurança; j) Conter ataques usando o isolamento;
  40. 40. 38 k) Simular diferentes situações do mundo real, sem a necessidade decompra de equipamentos específicos; l) Simular alterações e falhas de hardware; m) Prover serviços dedicados a clientes com segurança e confiabilidade.2.7.2 Desvantagens Podem ser citadas as seguintes desvantagens no uso da virtualização(Laureano, 2006; Quevedo, 2008; Ribas, 2008; Nascimento, 2009): a) Desempenho limitado, se comparado ao ambiente real, e consumo derecursos pela camada de virtualização; b) Necessidade de alterações no sistema hóspede para melhorar odesempenho; c) A criação de um ponto único de falha (SPOF), o que aumenta a criticidadedo ambiente, pois um servidor hospedeiro indisponível pode significar aindisponibilidade de diversas aplicações; d) Necessidade de hardware específico para obtenção de um melhordesempenho, como é o caso dos processadores; e) Compatibilidade de hardware para algumas soluções, como dispositivosUSB, interfaces de rede e armazenamento; f) Para garantir uma maior segurança do ambiente os sistemas hospedeirosnão devem ser esquecidos, eles também devem estar seguindo todas as políticas desegurança estabelecidas pela organização. Este capítulo apresentou os principais conceitos envolvidos na virtualizaçãoe fez um resumo de seus principais usos, vantagens e desvantagens. O próximocapítulo irá mostrar as principais ferramentas de virtualização disponíveis nomercado.
  41. 41. 393 FERRAMENTAS PARA MÁQUINAS VIRTUAIS Depois de discorrer sobre os diversos conceitos que envolvem avirtualização, este capítulo mostra as características das principais ferramentas devirtualização utilizadas para consolidação de servidores e apresenta uma brevecomparação das mesmas. Ele está dividido entre os principais fornecedores (Nascimento, 2009) desoluções para virtualização de servidores: VMware, Citrix e Microsoft. Segue umpequeno histórico destes: A VMware fundada em 1998, disponibilizou seu software de virtualização em 1999, desde então, mantém a liderança do mercado e atualmente esta bem a frente dos seus principais concorrentes diretos, Microsoft e Citrix (Xen). A Microsoft disponibilizou seu software de virtualização em 2006 após adquirir a Connectix, uma pequena e promissora empresa especializada em produtos para virtualização. Desde então, tem investido nessa tecnologia para se tornar a líder de mercado e atualmente ocupa o segundo lugar. A Xen disponibilizou seu software de virtualização em 2003, em 2007 foi adquirida pela Citrix, líder de mercado na virtualização de aplicações, assim o software da Xen ganhou mais destaque no mercado. Porém, sua participação é pequena e a empresa ocupa a terceira posição na liderança do mercado (Nascimento, 2009).3.1 VMware De acordo com Quevedo (2008), o VMware foi a primeira solução devirtualização para a arquitetura x86, fornecendo uma implementação completa aosistema convidado. A VMware Inc. é a empresa que desenvolve o software e possuiuma linha completa de produtos voltados a virtualização, alguns sem custo delicenciamento, que vão desde desktops a datacenters (Mattos, 2008). Ele provê uma interface x86 extremamente genérica para o sistemaconvidado, o que faz seu hipervisor mais complexo já que ele deve emular certasinstruções para representar corretamente um processador virtual em cada máquinavirtual. Esta emulação ocorre através da tradução dinâmica. Ele também fornece umdriver, o VMdriver, para permitir que as máquinas virtuais acessem drivers dosistema hóspede diretamente e assim diminuir a perda do desempenho (Carissimi,2008).
  42. 42. 40 São disponibilizados produtos em três categorias: gerenciamento eautomação, infraestrutura virtual e plataformas de virtualização. Os produtos degerenciamento e automação permitem a gerência de todos os recursos dainfraestrutura virtual de forma automatizada e centralizada, possibilitando amonitoração dos sistemas, conversão de máquinas físicas em máquinas virtuais,recuperação de desastres e outros (Carissimi, 2008). Os de infraestrutura virtual auxiliam na monitoração e alocação de recursosentre máquinas virtuais para o fornecimento de requisitos e regras de negócio. E osprodutos de virtualização são os destinados a criar máquinas virtuais, que são tantohipervisores nativos quanto convidados (Carissimi, 2008; Laureano e Maziero,2008). O principal produto oferecido pela VMware é o VMware vSphere. Ele écapaz de oferecer um datacenter virtual para ambientes de todos os tamanhosatendendo várias necessidades de flexibilidade, velocidade, resistência e eficiência,transformando os dados em uma “nuvem”, um sistema elástico, autogerido eautorecuperável, podendo ser associado a outras “nuvens” de computação externas.Ele garante níveis adequados de disponibilidade, escalabilidade e segurança paratodos os aplicativos, sem depender do hardware e da localização. Também forneceum gerenciamento de energia, desligando servidores fora de uso, ajudando a criarum datacenter verde (Nascimento, 2009). O VMware vSphere, como ilustrado na Figura 13, oferece: o ApplicationServices, que garantem os níveis adequados de disponibilidade, escalabilidade esegurança; e o Infrastructure Services, que resume, agrega e aloca servidores,armazenamento e rede para o máximo de eficiência da infraestrutura. Ele tambémse integra ao VMware vCenter Suite, que permite gerenciar o datacenter virtual e asaplicações que executam nele, além de poder ser integrado a outras “nuvens”externas (Vmware, 2010a). A seguir são listados os hipervisores da VMware: a) VMware ESX Server: é um hipervisor nativo para ser utilizado emdatacenters virtuais. Ele possui um kernel proprietário chamado VMkernel e utiliza oRed Hat Linux para fornecimento de outros serviços através do console de serviços,como gerência de usuários.
  43. 43. 41 Figura 13. Datacenter virtual (Vmware, 2010a) b) VMware ESXi Server: possui as mesmas características do VMware ESXServer mas não possui o console de serviços, fazendo que os agentes do VMwareexecutem diretamente no VMkernel. A diferença entre o ESX e o ESXi pode servisualizada na Figura 14. c) VMware Server: versão gratuita do ESX Server para permitir que osusuários testem o produto antes de adquirir. Não está disponível para esta versão aferramenta de configuração, sendo necessária a utilização de ambientes já pré-definidos. Ele é um hipervisor convidado. d) VMware Workstation: hipervisor convidado para ser utilizado emambientes desktop, foi a primeira versão comercializada. e) VMware Fusion: versão do VMware Workstation para o sistemaoperacional Mac OS com processadores Intel.
  44. 44. 42 f) VMware Player: versão gratuita do VMware Workstation, limitado aexecutar as máquinas criadas com versões comerciais do produto. Figura 14. Arquitetura das versões ESX e ESXi (Vmware, 2010b)3.2 Citrix A Citrix disponibiliza o Xen, que é um hipervisor de código aberto para aarquitetura x86 que utiliza a técnica de para-virtualização. Uma de suas vantagens éo melhor desempenho do que os produtos de virtualização total e seus principais
  45. 45. 43usos são para a consolidação de servidores, o suporte de aplicações legadas ecomputação em cluster (Mattos, 2008; Quevedo, 2008). O Xen requer, devido à para-virtualização, que o sistema hóspede sejaalterado. Em sistemas operacionais de código aberto, como o Linux, isto é possível,mas em sistemas proprietários, como o Windows, não é possível executar sobre oambiente Xen (Quevedo, 2008). O Xen também pode ser implementado utilizando a virtualização total,requerendo um hardware compatível como o Intel VT ou AMD-V, o que possibilita autilização de sistemas como o Windows, já que não são necessárias modificações,mas com um desempenho menor que o da para-virtualização (Laureano e Maziero,2008; Quevedo, 2008). A tecnologia de virtualização fornecida pela Xen, através da para-virtualização, fornece abstrações, como processador, memória e rede virtual, ondeos sistemas podem ser portados. Estas abstrações não precisam ser similares aohardware da máquina real (Mattos, 2008). Os principais conceitos do Xen são o de domínio e o de hipervisor. Osdomínios são as máquinas virtuais e podem ser de dois tipos, privilegiadas (domínio0) e não privilegiadas (domínio U). O hipervisor controla os recursos decomunicação, memória e processamento das máquinas virtuais, mas não possui osdrivers necessários para manipular os dispositivos (Carissimi, 2008; Mattos, 2008). Isto faz com que o Xen não suporte interação com os sistemas hospedes,sendo necessária a utilização de um sistema inicial, uma máquina virtual do domínio0, invocado pelo hipervisor. Esta máquina de domínio 0 acessa uma interface decontrole e executa as aplicações de gerenciamento, sendo que as máquinas dedomínio U só podem ser criadas, iniciadas e desligadas através do domínio 0(Carissimi, 2008; Mattos, 2008). Esta máquina de domínio 0 é executada em Linux com um núcleomodificado e este possui privilégios para acessar os recursos da máquina física e secomunicar com as máquinas virtuais de domínio U. Para isto ela possui os drivers dohardware da máquina física e dois drivers para tratar requisições de acesso à rede eao disco feitas pelas máquinas de domínio U. As máquinas de domínio U nãopossuem acesso ao hardware, sendo este feito utilizando-se a máquina de domínio0 através da abstração fornecida pelo hipervisor (Carissimi, 2008; Mattos, 2008). AFigura 15 ilustra o funcionamento do Xen.
  46. 46. 44 Figura 15. Hipervisor Xen (Laureano e Maziero, 2008) A partir da versão 3, onde foi introduzido o suporte a virtualização completa,o Xen distingue domínios U para-virtualizados, os domínios U-PV, dos domínios Uvirtualizados, domínios U-HVM (Hosted Virtual Machines). Os domínios U-PV sabemque não possuem acesso direto ao hardware e reconhecem a existência de outrasmáquinas virtuais, já os domínios U-HVM não sabem que não possuem acessodireto e nem reconhecem outras máquinas. Para este último caso o Xen fornece umemulador QEMU vinculado a cada domínio U-HVM, sendo o hardware fornecidopara estes através dele (Carissimi, 2008). O Xen também suporta as funções de Migration e Live Migration, onde épossível migrar um domínio de forma controlada ocorrendo interrupção da máquinavirtual, no caso da Migration, e sem a necessidade de interrupções, no caso da LiveMigration. Várias distribuições do Linux suportam o Xen de forma nativa e algumasainda fornecem ferramentas gráficas para a criação e manutenção de máquinasvirtuais neste hipervisor (Quevedo, 2008).3.3 Microsoft A Microsoft possui vários produtos voltados a virtualização de soluções denegócios, como é possível visualizar na Figura 16.
  47. 47. 45 Figura 16. Produtos e Tecnologias de Virtualização Microsoft (Microsoft, 2010a) Estes produtos têm como objetivo gerar maior eficiência, flexibilidade emelhor relação custo-benefício para toda a organização, como (Microsoft, 2010b; c):provisionamento e consolidação de servidores; implantação de aplicações;gerenciamento centralizado e baseado em diretivas; continuidade dos negócios/recuperação de desastres; menor TCO, maior ROI; computação dinâmica; teste edesenvolvimento; segurança; e hospedagem. Com estes produtos a Microsoft fornece um conjunto completo detecnologias, permitindo a integração da infraestrutura virtualizada, utilizandointerfaces familiares e consoles de gestão compartilhada, que simplificam a gestãoda infraestrutura. Os principais produtos de virtualização da Microsoft são: a) Virtualização de Servidores com o Windows Server 2008 R2 Hyper-V:hipervisor que funciona diretamente sobre o hardware, abaixo do sistemaoperacional. Algumas de suas características são: o suporte a arquiteturas x86 ex64, ambiente multiprocessador, switch virtual integrado, migração rápida demáquinas virtuais com o mínimo de downtime. Ele requer processador compatível
  48. 48. 46com Intel VT ou AMD-V. Sua arquitetura, que apresenta semelhanças com aarquitetura do Xen, pode ser visualizada na Figura 17. Figura 17. Arquitetura do Hyper-V (Microsoft, 2010d) b) Gerenciamento de Virtualização com o System Center Virtual MachineManager: gerencia a configuração dos servidores hospedeiros e das máquinasvirtuais, criação de máquinas virtuais, acompanhamento, alterações, recuperaçãorápida, auto provisionamento e automatização. c) Virtualização de Aplicações com o Microsoft Application Virtualization(App-V): transforma aplicações em serviços virtuais gerenciados que não precisamser instalados e não entram em conflito com outras aplicações e é capaz detransmitir estas aplicações para outros computadores por demanda.
  49. 49. 47 d) Virtualização da Estação de Trabalho com o Virtual PC: cria um ambientede sistema operacional separado na estação de trabalho, permitindo a execução deaplicações legadas em um sistema operacional não suportado ou ainda que doisambientes distintos sejam executados no mesmo computador. e) Virtualização de Apresentação com os Serviços de Terminal: permite queaplicações que executam no servidor sejam acessadas a partir de uma página dainternet e/ou diretamente em uma estação de trabalho local. Ela permite manter apropriedade intelectual protegida através da remoção de aplicações e dados daestação de trabalho dos usuários. f) Virtualização do Armazenamento com System Center Data ProtectionManager: protege máquinas virtuais sem tempo de inatividade, ele fornece backuprápido e retenção eficiente que não consome um espaço excessivo em disco. Outros produtos como o System Center Operations Manager e o SystemCenter Configuration Manager também podem trazer benefícios a virtualizaçãofacilitando o gerenciamento e a monitoração dos sistemas hospedeiros e asmáquinas virtuais hospedadas neles. Vale ressaltar que, assim como o Xen, o Hyper-V necessita que driverssejam instalados nos sistemas convidados para garantir um melhor desempenho,caso estes não sejam instalados as máquinas virtuais podem ter um desempenhoinferior.3.4 Comparação entre as ferramentas Entre as três ferramentas a VMware é a que tem a maior participação demercado (Nascimento, 2009). Seguem alguns dados obtidos no trabalho deNascimento (2009) em fevereiro de 2009: a) As vendas de licenças de virtualização, no mundo todo, cresceram 53%no segundo trimestre de 2008 em relação ao mesmo período de 2007.
  50. 50. 48 b) No segundo trimestre de 2008, a VMware foi líder em receitas no mercadode virtualização com 78% de participação, a Virtuozzo, da Parallels, ficou emsegundo lugar com 16% e a Microsoft apenas 1,1% da renda total. c) A VMware mantém sua liderança no mercado de virtualização x86, mas aMicrosoft está ganhando mercado com o Hyper-V. d) No ranking dos vendedores de servidores com funções de virtualizaçãotemos a HP com 34% do mercado, seguida pela Dell com 25% e IBM com 16%. e) A VMware possui 44% de participação no mercado por licenciamento(somando ESX e Server) contra 23% da Microsoft (somando Hyper-V e VirtualServer). Porém, não está claro o quanto desse mercado é representado porequipamentos em produção, teste, desenvolvimento. f) O preço do Hyper-V da Microsoft é de 28 dólares por servidor e as versõesde alta qualidade do Hyper-V também são gratuitas para os usuários do WindowsServer 2008. Uma licença padrão para o VMware ESX Server custa 3 mil dólares.Mesmo assim, a VMware possui uma participação no mercado bem maior que aMicrosoft. Tanto em faturamento quanto por licenciamento. Nos sites das três empresas foi possível encontrar comparações sobre qualproduto é melhor, todas as empresas tentam mostrar porque o seu produto é omelhor, mas isto depende muito do cenário de cada organização. As comparaçõesencontradas foram várias, dentre elas é possível citar as seguintes: VMwareESXi/ESX, Windows Server 2008 com Hyper-V e Citrix XenServer no site daVMware (Vmware, 2010c), XenServer versus a competição (VMware ESXi) no siteda Citrix (Citrix, 2010) e a comparação de custos de operação e manutenção entre oMicrosoft Hyper-V e VMware ESX & vSphere no site da Microsoft (Microsoft,2010e). O Anexo A e o Anexo B mostram as duas primeiras comparações decaracterísticas. Não foram encontradas durante esta pesquisa de TCC comparações entreas ferramentas da Microsoft e da Citrix nos sites das mesmas. No Anexo C é possível verificar a comparação entre várias máquinas virtuaise emuladores, onde é possível verificar as técnicas utilizadas e os seus principaisusos.
  51. 51. 49 Após análise das comparações encontradas foi possível verificar que aVMware possui um conjunto de produtos que são superiores ao fornecidos pelaCitrix e pela Microsoft, mas que também possui um custo mais alto de licenciamentoe manutenção. É bom notar também que, entre os três fabricantes, o produto daMicrosoft é o que é compatível com o menor número de distribuições do sistemaoperacional Linux. Como a escolha da ferramenta envolve várias questões, o maisrecomendável é que seja analisado primeiramente o cenário da implementação, paradecidir quais servidores serão virtualizados, os serviços que serão implantados e otipo de gerenciamento que a organização vai necessitar. Este capítulo apresentou as características das principais ferramentas devirtualização disponíveis no mercado. O próximo capítulo discorre sobre o estudo decaso feito neste trabalho, relacionado com os serviços de informática usados eoferecidos pelo DCOMP/UFS.
  52. 52. 504 ESTUDO DE CASO Este capítulo vai tratar do estudo de caso feito no Departamento deComputação da Universidade Federal de Sergipe (DCOMP/UFS). Ao final, sãoapresentados os resultados obtidos.4.1 Sobre o DCOMP O Departamento de Computação (DCOMP) é originário do Departamento deEstatística e Informática, o qual, na criação do Curso de Bacharelado em Ciência daComputação, contava com apenas cinco professores mestres e um graduado naárea de Computação. Em 2006, os professores de Estatística desvincularam-seformando um núcleo próprio. O Departamento de Computação foi então instituído econta hoje com vinte e um professores. Ele oferece atualmente três cursos de graduação e um de pós-graduaçãoalém de oferecer disciplinas para diversos outros cursos da universidade. Os cursos oferecidos pelo DCOMP são Ciência da Computação, comentrada de cinquenta alunos por semestre, Sistemas da Informação, que foi iniciadoem 2007 e conta com uma entrada de cinquenta alunos por ano, Engenharia daComputação, iniciado em 2009 e conta com uma entrada de cinquenta alunos porano, e o Mestrado em Ciência da Computação, que foi iniciado no segundosemestre de 2010 com uma entrada de quinze alunos por ano. O DCOMP conta com cinco laboratórios de ensino (Laboratório de EnsinoGeral, Laboratório de Ensino Avançado, Laboratório de Ensino Básico, Laboratóriode Ensino de Redes e Laboratório de Ensino de Hardware) e três laboratórios depesquisa (Laboratório de Projetos, INES e LABSOFT) equipados comcomputadores. Destes o DCOMP não é responsável pela administração dolaboratório do INES, que conta com a infraestrutura fornecida diretamente pelauniversidade.
  53. 53. 51 Também estão disponíveis computadores nas salas dos professores e nasecretaria do departamento. Estes computadores também são utilizados parafunções administrativas. O próprio departamento é responsável pela administração de toda aestrutura de TI interna ao mesmo. Atualmente ele não conta com nenhumfuncionário responsável pela área e não há previsão sobre quando haverá acontratação deste funcionário. Durante o ano de 2010 ocorreu uma renovação dos computadores utilizadosnos laboratórios, secretaria e salas dos professores. Devido ao DCOMP estar situado em uma instituição pública de ensino eleestá sujeito a toda a burocracia e falta de recursos comuns a este tipo dedepartamento, o que dificulta a aquisição de novos servidores e outrosequipamentos. Recentemente ocorreu a utilização da virtualização nos laboratórios doDCOMP em dois casos. O primeiro foi durante a 1ª Semana de Computação, ondefoi criada uma máquina virtual com softwares necessários para utilização durante asaulas dos minicursos oferecidos. E o segundo caso foi durante a etapa regional daMaratona de Programação onde foi disponibilizado aos participantes um ambienteem máquina virtual próprio para a competição. Em breve vai ser construído um novo prédio que irá abrigar novoslaboratórios para o departamento e irão utilizar a infraestrutura de servidores queestá sendo atualizada neste trabalho. Após uma análise da situação atual, que será apresentada na próximaseção, ficou decidido que este trabalho iria abordar somente a consolidação deservidores, já que as maiores deficiências foram encontradas nesta área. Outrostipos de virtualização que podem beneficiar o DCOMP são a virtualização deaplicações e a virtualização de apresentação, que permitiriam uma implantação denovos aplicativos mais rapidamente e a utilização de aplicativos temporários.
  54. 54. 524.2 Situação anterior O DCOMP contava com seis servidores que forneciam os serviços dearquivos, DNS5, DHCP6, diretório7, NAT8, Web e gerenciamento de configuração. Amaioria dos servidores contava com alguma versão do Windows Server e dois delesexecutavam uma distribuição do Linux. É possível visualizar este cenário na Figura18. Os hardwares de alguns destes servidores estavam apresentando defeito enenhum deles se encontrava mais no período de garantia, já que a maioria deles foiadquirido, pelo menos, há quatro anos. O servidor ITAIPU fornece o serviço de NAT e o SOBRADINHO os serviçosde servidor Web e DNS para clientes externos, os dois possuem acesso à internetatravés de endereços de internet válidos. Estes dois servidores vinhamapresentando diversos problemas, com travamentos constantes e indisponibilidadede alguns serviços. Era comum a falta de acesso à internet durante várias horas porsemana, pois o servidor NAT parava de funcionar, sendo necessária a reinicializaçãodo mesmo. Recentemente devido a travamentos no servidor SOBRADINHO osserviços de DNS e Web paravam de funcionar, prejudicando o recebimento de e-mails com o domínio do DCOMP e o acesso à página de internet do mesmo. O servidor DCFURNAS provia o serviço de diretório Active Directory, oDOCMACHADINHO o serviço de arquivos, o INFRALAJEADO os serviços de DHCPe DNS para os clientes da rede interna e o MANAGER os serviços de gerenciamentode atualizações, antivírus, softwares e sistemas operacionais. Os serviços de cadaservidor podem ser verificados na Tabela 1.5 Resolve nomes de domínios em endereços de rede.6 Oferece configuração dinâmica de terminais através da concessão de endereços IP de host e outrosparâmetros de configuração para clientes de rede.7 É um serviço que armazena e organiza informações sobre os recursos e os utilizadores de umarede de computadores, e que permite os administradores de rede gerenciar o acesso de utilizador esistemas a esses recursos.8 É uma técnica que consiste em reescrever os endereços IP de origem de um pacote que passampor um router ou firewall de maneira que um computador de uma rede interna tenha acesso a umarede externa.
  55. 55. 53 Figura 18. Cenário inicial dos servidores do DCOMP (Elaboração própria) Tabela 1. Serviços em cada servidor Servidor Serviços SOBRADINHO Web DNS externo DCFURNAS Domínio Active Directory Servidor de Arquivos DOCMACHADINHO Servidor de Arquivos INFRALAJEADO DHCP DNS interno ITAIPU NAT MANAGER Gerenciamento de configuração Gerenciamento de atualizações Gerenciamento do antivírus Gerenciamento de ativação do Windows Fonte: Elaboração própria Destes servidores o único que foi adquirido mais recentemente e possuisuporte a arquitetura de 64 bits é o MANAGER, ele também é o que possui o melhordesempenho entre estes seis servidores já que possui uma configuração mais atual. A média de utilização da CPU dos computadores com o Windows Server foianalisada durante um período de tempo, antes de propor a solução, e ficou
  56. 56. 54verificado que nos servidores DOCMACHADINHO, DCFURNAS e INFRALAJEADOesta média não chega a 5% durante os horários de funcionamento do departamento.Já o servidor MANAGER tem uma média de utilização de CPU de 50% com picos demais de 80% durante um dia normal. Nos servidores que executavam o Linux não foi feita uma análise dautilização de CPU, mas uma alta utilização da CPU pode ser o motivo dosconstantes travamentos. Alguns usuários chegaram a reportar que o servidorSOBRADINHO ficava muito lento em alguns horários, isto também pode significaruma utilização elevada da CPU e da memória. Não era utilizada nenhuma solução para backup dos sistemas, sendo que osservidores INFRALAJEADO, DOCMACHADINHO, DCFURNAS E SOBRADINHOtinham armazenamentos espelhados, pelo menos para suas partições principais, oque garantia a disponibilidade dos arquivos mesmo na falha de um dos discos. Aconfiguração de cada servidor pode ser verificada na Tabela 2. Tabela 2. Configuração dos servidores Servidor ConfiguraçãoDCFURNAS Processador com um núcleo; 1GB de memória; DoisINFRALAJEADO discos rígidos de 80GB em RAID 1, para espelhamentoSOBRADINHO dos dados; Duas placas de rede Fast Ethernet.DOCMACHADINHO Processador com um núcleo; 1GB de memória; Quatro discos rígidos de 80GB, sendo dois em RAID 1, para espelhamento dos dados; Uma placa de rede Fast Ethernet.ITAIPU Processador com um núcleo; 512MB de memória; Um disco rígido de 40GB; Duas placas de rede Fast Ethernet.MANAGER Processador de dois núcleos; 2GB de memória; Um disco rígido de 160GB; Uma placa de rede Fast Ethernet. Fonte: Elaboração própria Não existia nenhuma solução de gerenciamento destes servidoresimplantada, o que ocasionava a necessidade da presença de alguém parasolucionar diversos problemas, além de impossibilitar o acompanhamento do statusdos computadores de uma maneira mais fácil.
  57. 57. 55 Os serviços essenciais para o DCOMP, que são o acesso à internet(fornecido pelo NAT), o DNS e o diretório, não possuíam nenhuma redundância equando acontecia falha em um dos computadores o serviço fornecido por ele ficavaindisponível ao departamento.4.3 Solução proposta Tendo analisado a situação dos servidores foi decidido que a virtualizaçãono DCOMP deveria proporcionar:  Consolidação dos servidores, para aumentar a carga de utilização;  Diminuir o espaço necessário para armazenamento, devido às limitações de espaço físico;  Gerenciamento centralizado, para facilitar a administração;  Aumentar a QoS, provendo um maior tempo de disponibilidade para os serviços;  Diminuir o SPOF, que pode ser ampliado com a utilização da virtualização;  Plano de contingência, a partir da utilização de backups diários dos servidores;  Aumento da segurança da informação de uma maneira geral, com a implantação destas medidas. Primeiramente foram analisados os fornecedores de soluções devirtualização, como visto no capítulo 3, e optou-se por utilizar as soluções daMicrosoft já que o departamento possui atualmente um acordo de licenciamento, quediminui o custo com as licenças dos aplicativos a serem utilizados. Após isto foi necessário obter hardware compatível com estes produtos.Devido à limitação para aquisições do departamento foi necessária a utilização de
  58. 58. 56alguns computadores que seriam destinados a laboratórios de ensino. Mas tambémfoi possível adquirir, por meio de um convênio do DCOMP com a FAPESE9, doiscomputadores que foram utilizados nesta implementação.4.3.1 Configuração dos servidores Foi decidido que seriam utilizados ao final da implementação setecomputadores, todos ligados em nobreaks. Destes computadores o MANAGER foi oúnico que continuou a existir como uma máquina real, devido a sua maior utilizaçãoe a falta de um servidor com uma configuração mais adequada para receber estesistema como uma máquina virtual. Outros dois computadores reais foramadicionados para o gerenciamento de máquinas virtuais e backup dos servidoresvirtuais, estes devido as suas funções não poderiam ocupar máquinas virtuais. Osoutros quatro são os servidores hospedeiros. A Figura 19 ilustra o cenário dasolução proposta. Os computadores a serem utilizados como hospedeiros foram:  HYPERV-001 e HYPERV-002 com processador de quatro núcleos, 4GB de memória, uma placa de rede Gigabit Ethernet, três placas de rede Fast Ethernet e 500GB de armazenamento em um só disco;  HYPERV-003, com processador de quatro núcleos, 2GB de memória, três placas de rede com duas portas Gigabit Ethernet em cada, um disco rígido de 250GB para sistema e dois discos de 160GB espelhados para armazenamento dos discos virtuais;  HYPERV-004, com processador de quatro núcleos, 4GB de memória, três placas de rede Fast Ethernet, um disco rígido de 160GB para sistema e dois discos de 500GB espelhados para armazenamento dos discos virtuais.9 Fundação de Apoio à Pesquisa e Extensão de Sergipe.
  59. 59. 57 Figura 19. Cenário da solução proposta (Elaboração própria) Os quatro computadores hospedeiros podem receber máquinas virtuais queocupem até 3GB de memória, no caso dos servidores HYPERV-001, HYPERV-002 eHYPERV-004. O servidor HYPERV-003 só pode receber máquinas virtuais parautilizar até 1GB de memória, devido ao mesmo possuir menos memória que osoutros. Isto deve-se a utilização de até 1GB de memória pelo Windows Server 2008R2 que executa o Hyper-V. Os servidores para gerenciamento (SCVMM) e backup (SCDPM) possuem aseguinte configuração: o SCVMM conta com processador de dois núcleos, 4GB dememória, uma placa de rede Gigabit Ethernet e 320GB de disco rígido; já o SCDPMconta com processador de quatro núcleos, 4GB de memória, uma placa de rede FastEthernet, um disco rígido de 1TB e três discos rígidos de 160GB. A Microsoft recomenda que para cada servidor hospedeiro existam pelomenos duas placas de rede, uma para ser utilizada pelo sistema do hospedeiro egarantir o seu gerenciamento remoto, e a outra para ser utilizada pelas máquinasvirtuais. A Tabela 3 mostra a configuração do hardware de cada servidor físico.
  60. 60. 58 O motivo principal de a solução proposta utilizar o servidor HYPERV-003com somente uma máquina virtual, não fazendo uma consolidação, se deve ao fatodesta execução proporcionar a capacidade de backup e restauração do servidorvirtual em caso de falhas, o que não seria possível se o servidor estivesseexecutando diretamente sobre o servidor real. Outro motivo é que este servidor realsuporta até 24GB de memória, os outros que suportam até 8GB, possibilitando,mediante a compra de mais memória, a sua utilização por diversas máquinasvirtuais. Tabela 3. Configuração dos servidores reais nesta solução Servidor Configuração HYPERV-001 Processador de quatro núcleos; 4GB de memória; Um disco HYPERV-002 rígido de 500GB; Uma placa de rede Gigabit Ethernet; Três placas de rede Fast Ethernet. HYPERV-003 Processador de quatro núcleos; 2GB de memória; Um disco rígido de 250GB para sistema e dois discos de 160GB espelhados para armazenamento dos discos virtuais; Três placas de rede com duas portas Gigabit Ethernet. HYPERV-004 Processador de quatro núcleos; 4GB de memória; Um disco rígido de 160GB para sistema e dois discos de 500GB espelhados para armazenamento dos discos virtuais; Três placas de rede Fast Ethernet. SCVMM Processador de dois núcleos; 4GB de memória; Um disco rígido de 320GB; Uma placa de rede Gigabit Ethernet. SCDPM Processador de quatro núcleos; 4GB de memória; Um disco rígido de 1TB e três discos rígidos de 160GB, sendo um destes de 160GB destinados ao sistema operacional; Uma placa de rede Fast Ethernet. MANAGER Processador de dois núcleos; 2GB de memória; Um disco rígido de 160GB; Uma placa de rede Fast Ethernet. Fonte: Elaboração própria
  61. 61. 594.3.2 Aplicações dos servidores Foi decidida pela utilização do Windows Server 2008 R2 Enterprise noscomputadores hospedeiros com a opção Server Core de instalação, que provê umaversão mínima do Windows Server, sem interface gráfica, com necessidade deatualizações reduzidas e que oferece poucos recursos. Nestas instalações foramusadas somente a função Hyper-V, além do software antivírus e os agentes debackup e gerenciamento. Uma placa de rede é dedicada a este sistema e as outrassão configuradas para utilização pelo hipervisor. Toda a administração das máquinas virtuais e dos computadores reais éfeita a partir do servidor SCVMM que contém uma instalação completa do WindowsServer 2008 R2 Enterprise com o System Center Virtual Machine Manager 2008 R2,que monitora e gerencia as máquinas virtuais e os computadores hospedeiros, e oSystem Center Operations Manager 2007 R2, que, neste caso, monitora e gerenciao desempenho e tarefas de manutenção necessárias nos servidores. O servidor SCDPM possui uma instalação do sistema operacional WindowsServer 2008 R2 Enterprise em um dos discos de 160GB e possui também o SystemCenter Data Protection Manager 2010, que é responsável pelo backup de todos osservidores virtualizados. O SCDPM usa um disco de 1TB junto com os outros doisdiscos de 160GB para armazenar o backup dos servidores virtuais. Este backup érealizado diariamente às 23h, fica armazenado por um prazo de até cinco dias e éexecutado com o uso de agentes nos servidores hospedeiros. Os agentes sãoresponsáveis por identificar os dados que podem ser protegidos e recuperados coma utilização do SCDPM, eles também são responsáveis por monitorar as mudançasque ocorrem nos arquivos protegidos e enviar estas mudanças do computadorprotegido ao servidor do SCDPM. Feito esta configuração dos servidores hospedeiros e gerenciadores foidecidido que os servidores virtuais não sofreriam uma migração da máquina físicapara uma virtual. Todas as instalações são novas e o processo de migração deveriaser feito seguindo as instruções disponibilizadas pelos desenvolvedores dossoftwares. Pela familiaridade do autor com a plataforma Windows, este decidiu nãoutilizar um servidor NAT baseado em Linux fazendo a migração para um servidor
  62. 62. 60baseado em Windows Server. Isto trouxe o benefício da monitoração nativaoferecida pelo SCVMM. Para minimizar a possibilidade de indisponibilidade da internet e dosserviços de diretório foi decidido que duas máquinas virtuais iriam executar estesserviços, sendo cada uma em um servidor hospedeiro diferente, para evitar o SPOF.Com isto o NAT passou a contar com dois servidores virtuais, o NATITAIPU e oNATTRESMARIAS, e o servidor de serviços de diretório com os servidoresDCFURNAS e DCANGRA. Todos os servidores que executam Windows foram migrados para a versãomais atual, o Windows Server 2008 R2, com a edição Enterprise, a mesma ediçãoque os servidores Windows já possuíam instalada. De acordo com as práticas da Microsoft, o servidor de domínio passou aoferecer além do serviço de diretório o serviço de DNS, o que também resultou emuma maior disponibilidade deste último serviço já que o servidor de domínio passoua contar com um segundo servidor virtual. O servidor INFRALAJEADO, que fornecia o serviço de DHCP e DNS, passaentão a oferecer somente o serviço de DNS. E o servidor DOCMACHADINHOcontinua oferecendo o serviço de arquivos. Estes dois servidores não dispõem dereplicação pelo uso de uma segunda máquina virtual. Na Tabela 4 são mostrados osserviços oferecidos nos servidores que foram migrados e nos que foram criados. Com exceÀXy;

×