virtualização de servidores e principais ferramentas

64
ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM SISTEMAS DE TELECOMUNICAÇÕES FÁBIO MASSALINO VIRTUALIZAÇÃO DE SERVIDORES E SUAS PRINCIPAIS FERRAMENTAS VILA VELHA ES 2012

Upload: asdasd

Post on 15-Nov-2015

35 views

Category:

Documents


19 download

DESCRIPTION

Virtualização de servidores e principais ferramentas. TCC Fabio Massalino

TRANSCRIPT

  • ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE PS-GRADUAO LATO SENSU EM SISTEMAS DE

    TELECOMUNICAES

    FBIO MASSALINO

    VIRTUALIZAO DE SERVIDORES E SUAS PRINCIPAIS FERRAMENTAS

    VILA VELHA ES 2012

  • FBIO MASSALINO

    VIRTUALIZAO DE SERVIDORES E SUAS PRINCIPAIS FERRAMENTAS

    Monografia apresentada ao Curso de Ps-Graduao em Sistemas de Telecomunicaes da Escola Superior Aberta do Brasil como requisito para obteno do ttulo de Especialista em Sistema de Telecomunicaes, sob orientao da Profa. Me. Janaina Costa Binda.

    VILA VELHA ES 2012

  • DEDICATRIA

    Dedico este trabalho a Zeliha Taner Massalino, minha amada esposa (in memoriam),

    cuja docilidade e companheirismo foram fontes de inspirao para a concluso

    deste.

  • LISTA DE FGURAS

    Figura 1 Arquitetura de um sistema tradicional ...................................................... 12

    Figura 2 Arquitetura de um sistema virtualizado hosted ...................................... 13

    Figura 3 Arquitetura de um sistema virtualizado bare-metal ............................... 14

    Figura 4 Particionamento por hardware ................................................................. 24

    Figura 5 Particionamento por software do tipo hosted ........................................... 27

    Figura 6 Particionamento por software instalado nativamente no hardware .......... 28

    Figura 7 Particionamento de aplicao .................................................................. 29

    Figura 8 Particionamento de recursos .................................................................... 30

    Figura 9 Particionamento de servios .................................................................... 31

    Figura 10 Os componentes da arquitetura do VMware ESXi ................................. 36

    Figura 11 A console de administrao DCUI.......................................................... 38

    Figura 12 A tela inicial do vSphere Client ............................................................... 39

    Figura 13 A tela de configurao do ESXi .............................................................. 40

    Figura 14 Os componentes do VMware VirtualCenter Server ................................ 41

    Figura 15 Hyper-V como um recurso do Windows Server 2008 ............................. 45

    Figura 16 Ferramenta de gerenciamento do Windows Server 2008 ...................... 48

    Figura 17 Ferramenta de gerenciamento do Hyper-V ............................................ 49

    Figura 18 Ferramenta System Center Virtual machine Manager SCVMM 2008 . 51

  • RESUMO A virtualizao de servidores na plataforma x86 tem sido a soluo na maioria das

    empresas para a consolidao de servidores, utilizando-se melhor os recursos

    disponveis e simplificando seu gerenciamento e as solues comerciais de

    empresas como VMware, Microsoft, Citrix, RedHat e Oracle garantem alta-

    disponibilidade em ambientes virtualizados, alm de diversas ferramentas que

    permitem executar tarefas rotineiras como ligar/desligar servidores, como mais

    complexas como mover estes servidores virtuais entre servidores fsicos,

    balanceamento de cargas e backup destes. Neste trabalho apresenta-se um

    levantamento da bibliografia que trata deste assunto apresentando as caractersticas

    deste processo, apresentando suas vantagens e desvantagens, a origem da

    virtualizao e os tipos principais. Aps, apresenta as caractersticas das solues

    comerciais mais utilizadas para virtualizao na plataforma x86: VMware vSphere,

    Microsoft Hyper-V, Citrix Xen e outras disponveis, tais como as solues da

    empresa RedHat e Oracle. Esta analise visa apresentar os pontos fortes e fracos de

    cada soluo procurando identificar onde cada soluo apresenta-se como a melhor

    escolha.

    Palavra-chave: Virtualizao. Hypervisor. Servidores.

  • SUMRIO

    LISTA DE FGURAS ................................................................................................... 4

    RESUMO..................................................................................................................... 5

    INTRODUO ............................................................................................................ 8

    1 O QUE VIRTUALIZAO .................................................................................. 11

    1.1 PORQUE VIRTUALIZAR? .............................................................................. 14

    1.2 BENEFCIOS DA VIRTUALIZAO ............................................................... 15

    1.3 QUANDO UTILIZAR A VIRTUALIZAO ...................................................... 15

    1.4 QUANDO NO UTILIZAR A VIRTUALIZAO .............................................. 17

    1.5 HISTRIA DA VIRTUALIZAO ................................................................... 17

    2 TIPOS DE VIRTUALIZAO ................................................................................ 23

    2.1 PARTICIONAMENTO DE HARDWARE ......................................................... 23

    2.1.1 Vantagens ............................................................................................... 24

    2.1.2 Desvantagens ......................................................................................... 25

    2.2 PARTICIONAMENTO LGICO ...................................................................... 25

    2.2.1 Particionamento por software ............................................................... 26

    2.2.2 Particionamento de aplicaes ............................................................. 28

    2.2.3 Particionamento de recursos ................................................................ 30

    2.2.4 Particionamento de servios................................................................. 31

    2.2.5 Sistemas Operacionais e ambientes Runtime ..................................... 32

    3 A PLATAFORMA VMWARE SPHERE .................................................................. 34

    3.1 A ARQUITETURA ESXI .................................................................................. 36

    3.2 FERRAMENTAS DE GERENCIAMENTO ...................................................... 39

    3.3 VMWARE VIRTUALCENTER SERVER ......................................................... 41

    3.3.1 Recursos do ESX/ESXi com o uso do vCenter .................................... 42

    3.3.2 Recursos disponveis no vCenter atravs de plug-ins ....................... 43

    4 A PLATAFORMA MICROSOFT HYPER-V ........................................................... 45

    4.1 CARACTERSTICAS DO HYPER-V ............................................................... 46

    4.2 GERENCIANDO O HYPER-V ........................................................................ 47

    4.3 SYSTEM CENTER VIRTUAL MACHINE MANAGER 2008 ............................ 49

    4.3.1 Componentes do SCVMM ...................................................................... 50

  • 4.4 Ambiente de alta-disponibilidade com Hyper-V .............................................. 51

    5 PLATAFORMA XEN .............................................................................................. 53

    5.1 CARACTERSTICAS DO XEN ....................................................................... 54

    5.2 PARAVIRTUALIZAO COM XEN ................................................................ 55

    6 OUTRAS PLATAFORMAS DISPONVEIS ............................................................ 57

    6.1 RED HAT ........................................................................................................ 57

    6.2 KERNEL-BASED VIRTUAL MACHINE ........................................................... 59

    6.3 ORACLE VM SERVERS ................................................................................. 60

    6.3.1 Caractersticas do Oracle ...................................................................... 60

    CONCLUSO ........................................................................................................... 62

    REFERNCIAS ......................................................................................................... 64

  • 8

    INTRODUO

    A virtualizao de servidores na plataforma X86 um dos assuntos mais abordados

    entre os gestores de TI nas empresas, independente de seu tamanho ou setor que

    atua. Garantir disponibilidade dos recursos computacionais o maior tempo possvel,

    facilidade no gerenciamento, melhor utilizao de hardware, economizar, tanto em

    investimentos na compra de equipamentos quanto na manuteno dos mesmos, tm

    sido a grande preocupao destes. As solues comerciais de virtualizao de

    servidores disponveis atendem as necessidades das empresas?

    A consolidao de vrios servidores em um mesmo hardware fsico; a capacidade

    de servidores serem automaticamente transferidos para outros servidores fsicos; a

    reduo de consumo de energia e de custos com equipamentos fsicos so os

    motivadores para a elaborao do presente trabalho, que busca apresentar como a

    virtualizao de servidores pode ser uma vantagem competitiva para as empresas.

    O objetivo deste trabalho apresentar os conceitos referentes virtualizao de

    servidores e as solues comerciais disponveis atualmente e apresentando as

    vantagens e desvantagens deste ambiente e quando utilizar. Os objetivos

    especficos so: explicar o que a virtualizao e as semelhanas e diferenas em

    relao a servidores fsicos; apresentar os recursos que tornam a virtualizao um

    diferencial competitivo, tais como alta-disponibilidade, gerenciamento centralizado e

    as solues comerciais mais utilizadas no mercado.

    Neste contexto apresentado o que virtualizao; justificando o porqu de se

    virtualizar, os benefcios, quando utilizar ou no e a historia da virtualizao de

    servidores na plataforma x86.

    A partir do entendimento do que virtualizao, apresentam-se os tipos de

    virtualizao mais comuns: por particionamento de hardware e particionamento

    lgico.

  • 9

    Em seguida, apresenta as solues comerciais mais utilizadas no mercado para

    virtualizao de servidores na plataforma x86.

    A primeira plataforma a ser analisada a VMware vSphere, apresentando sua

    arquitetura, caractersticas que garantam recursos como alta-disponibilidade,

    balanceamento de carga entre os servidores fsicos (hosts), gerenciamento

    centralizado atravs da ferramenta VMware vCenter e outros recursos possveis

    atravs do uso de plug-ins, tais como converso P2V (fsica para virtual) e

    gerenciador de atualizao de software

    O Hyper-V da Microsoft apresentado como uma soluo para ambientes com

    servidores com o sistema operacional Windows Server, pois o mesmo permite uma

    melhor integrao e atravs do System Center Virtual Machine Manager, gerencia-

    se de forma centralizada no somente maquinas virtuais sobre esta plataforma, mas

    tambm de outras como o VMware..

    A plataforma Citrix Xen uma soluo voltada para o mundo open-source, com

    produtos desenvolvidos tanto pela comunidade open-source quanto pela Citrix, com

    recursos de alta-disponibilidade, balanceamento de cargas e outras caractersticas

    encontradas nos concorrentes. Vale ressaltar o esforo dos desenvolvedores deste

    produto no sentido de garantir que as maquinas virtuais possuam desempenho

    semelhante ao modo nativo, atravs da tcnica da paravirtualizao.

    Outras plataformas disponveis so apresentadas, tais como o Red Hat Enterprise

    Virtualization for Server, indicado para empresas que utilizam como base para seus

    sistemas operacionais o Red Hat, pois embora o Red Hat Enterprise Virtualization

    for Server permite hospedar maquinas virtuais de diversos sistemas operacionais; as

    maquinas virtuais com este SO apresentam desempenho prximo ao do servidor

    fsico; e o Oracle VM Servers, cuja soluo a nica plataforma de virtualizao

    homologada para o famoso servidor de banco de dados Oracle, pois foi

    desenvolvido para prover o melhor desempenho para altas cargas de entrada/sada.

  • 10

    Atravs da consulta de livros dedicados aos temas acima, elaborou-se a reviso

    bibliogrfica, onde foram apresentadas as caractersticas de cada soluo comercial,

    no intuito de fazer comparativos entre as mesmas e suas similaridades.

  • 11

    Captulo 1

    1 O QUE VIRTUALIZAO

    Segundo Buytaert et al. (2007), virtualizao um framework ou metodologia da

    diviso de recursos de um hardware de computador em mltiplos ambientes de

    execuo, aplicando um ou mais conceitos ou tecnologias tais como particionamento

    de hardware ou software, tempo compartilhado, simulao de maquina completa ou

    parcial, emulao, qualidade de servio e muitos outros.

    A tecnologia da virtualizao consiste em fazer um computador fsico comportar-se

    como se fosse um ou mais computadores, onde cada um destes computadores

    virtualizados acessem a mesma arquitetura bsica de um computador fsico

    genrico (BUYTAERT et al., 2007). Existem vrios meios de se realizar isto, cada

    um com seus prs e contras. A nfase deste trabalho consiste em analisar a

    virtualizao de servidores baseada em software, embora existam outras formas,

    conforme mencionado no paragrafo anterior.

    Para permitir que um computador fsico se comporte como sendo mais de um

    computador, as caractersticas fsicas do hardware precisam ser recriadas atravs

    do uso de software. Pode-se dizer que a virtualizao consiste ento, em

    transformar o hardware em software. Isto realizado atravs de uma camada de

    software chamada abstrao.

    Um exemplo do uso desta camada de abstrao o HAL (Windows Hardware

    Abstraction Layer); atravs desta camada, o sistema operacional Microsoft Windows

    prov um meio comum em que todos os drivers e softwares possam se comunicar

    com o hardware em um formato comum. Isto torna mais fcil o desenvolvimento de

    drivers e softwares, pois no preciso desenvolver verses especificas para cada

    fabricante de hardware.

  • 12

    Em um ambiente de virtualizao, a camada de abstrao que ir recriar as

    caractersticas fsicas do hardware, para tornar possvel vrios computadores

    utilizar-se dos mesmos recursos fsicos (MARSHALL; REYNOLDS; MCCRORY,

    2006).

    Conforme Buytaert et al. (2007), virtualizao um conceito que permite que os

    recursos do computador sejam divididos ou compartilhados em vrios ambientes

    simultaneamente. Estes ambientes podem interagir-se ou serem totalmente isolados

    entre si. Este ambiente pode estar consciente ou no de que esteja sendo

    executado em um ambiente virtual.

    Estes ambientes so conhecidos como Mquinas Virtuais (VMs virtual machines).

    VMs so ambientes em que neles executem sistemas operacionais - SO (Linux,

    Windows, etc.). De acordo com Buytaert et al. (2007), estes sistemas operacionais

    so conhecidos como sistemas operacionais convidados. Algo a ressaltar que

    geralmente as instrues para a VM so passadas diretamente para o hardware

    fsico, o que torna o ambiente muito mais rpido e mais eficiente do que emulao.

    Para melhor entendimento de um ambiente virtualizado, primeiramente necessrio

    entender como funciona um tpico computador fsico, conforme Marshall, Reynolds e

    Mccrory (2006). Este possui um conjunto de dispositivos de hardware em que

    instalado um sistema operacional (Windows, Linux, etc.) e uma ou mais aplicaes

    so instaladas neste SO. A figura 1 ilustra este ambiente.

    Figura 1 Arquitetura de um sistema tradicional Fonte: Marshall, Reynolds e Mccrory (2006)

  • 13

    Em um ambiente virtualizado, o arranjo ligeiramente diferente, pois o SO tem uma

    plataforma virtualizada em que um ou mais VMs so criadas, cada uma com um

    conjunto de hardware separado e capaz de ter um SO e aplicaes instaladas

    conforme mostra a figura 2. Esta arquitetura conhecida como arquitetura hosted

    (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Figura 2 Arquitetura de um sistema virtualizado hosted Fonte: Marshall, Reynolds e Mccrory (2006)

    Solues comerciais que utilizam este tipo de arquitetura so o VMware Server,

    VMware Fusion, Parallel Inc. Parallels Workstation, Oracle VM VirtualBox e Microsoft

    Windows Virtual PC.

    Outro arranjo em ambiente virtualizado um em que a plataforma de virtualizao

    instalada diretamente em um hardware de computador. Esta forma de virtualizao

    prov uma plataforma em que uma ou mais maquinas virtuais possam ser criadas,

    cada uma sendo capaz de ter seu sistema operacional e aplicaes sendo

    executadas sobre este (MARSHALL; REYNOLDS; MCCRORY, 2006). A figura 3

    ilustra este exemplo.

  • 14

    Figura 3 Arquitetura de um sistema virtualizado bare-metal Fonte: Marshall, Reynolds e Mccrory (2006)

    Esta arquitetura conhecida como arquitetura bare-metal ou hypervisor, e a mais

    utilizada em ambientes de produo, pois apresenta um desempenho superior em

    relao ao tipo hosted, pois atua diretamente no hardware fsico (MARSHALL;

    REYNOLDS; MCCRORY, 2006). Solues comerciais que utilizam este tipo de

    arquitetura so: VMware ESX/ESXi, Microsoft Hyper-V, Cytrix XenServer e Oracle

    VM Server.

    1.1 PORQUE VIRTUALIZAR?

    A razo mais comum para virtualizar, segundo Victor et al. (2011), a consolidao

    de servidores. Hoje em dia o gerenciamento de servidores apresenta grandes

    desafios: Devem permitir adicionar capacidade de processamento enquanto deve

    minimizar custos operacionais, que inclui energia eltrica e sistemas de refrigerao.

    Em datacenters que esto realmente cheios, estes requerimentos obrigam utilizar a

    capacidade de processamento ociosa nos servidores e aumentar a densidade da

    carga de trabalho de novos sistemas (VICTOR et al., 2011).

  • 15

    A consolidao de servidores no o mesmo conceito da utilizao de vrios

    programas em um nico servidor, onde apenas um programa executado por vez.

    Vrios servidores executando ao mesmo tempo, permite a utilizao de vrias

    aplicaes ao mesmo tempo. Qual custo maior: Cinco computadores executando

    cinco aplicaes ou apenas um computador executando cinco aplicaes ao mesmo

    tempo? Obviamente, um computador executando cinco aplicaes ao mesmo tempo

    ter um custo maior e levar mais tempo para a concluso do que a outra opo.

    1.2 BENEFCIOS DA VIRTUALIZAO

    O uso da virtualizao de servidores de acordo com Buytaert et al. (2007), traz os

    seguintes benefcios:

    a) reduo de custos: com o uso da virtualizao, vrios servidores utilizando o

    mesmo hardware fsico impactam em reduo de custos com equipamentos,

    gastos com energia eltrica, refrigerao, etc.;

    b) portabilidade: capacidade de ter uma plataforma de hardware consistente ao

    invs de ter hardware real de diferentes fabricantes;

    c) gerenciamento: ambientes virtuais podem ser gerenciados facilmente e

    oferece acesso ao hardware virtual; e

    d) eficincia: quando a virtualizao implantada correta.

    1.3 QUANDO UTILIZAR A VIRTUALIZAO

    De acordo com Buytaert et al. (2007), utiliza-se a virtualizao de servidores para:

  • 16

    a) consolidao de servidores: Permite que muitos servidores fsicos sejam

    virtualizados e hospedados em poucos servidores fsicos. Muitos servidores

    hoje possui uma utilizao baixa de seus recursos, em faixa de 8 a 12% de

    sua utilizao;

    b) suporte a aplicaes legadas: Permite que sistemas operacionais e

    aplicaes que foram descontinuadas e sem suporte a hardwares novos,

    possam ser facilmente migrados para hardwares mais recentes sem riscos de

    incompatibilidade;

    c) suporte a sistemas operacionais mltiplos: este um beneficio em ambientes

    onde o desenvolvimento e testes em vrios sistemas operacionais so

    necessrios;

    d) demostrar softwares: Realizar demonstrativos de softwares que podem ser

    executados de uma maneira eficiente e sem grandes esforos para sua

    implantao;

    e) desenvolvimento, testes e depurao: Devido ao fato do forte isolamento

    entre os vrios SO em um ambiente virtualizado, torna-se fcil executar

    testes em softwares e anlise de erros;

    f) treinamento tcnico e E-Learning: Em muitas salas de aulas avanadas,

    tornam-se necessrios diversos computadores para cada estudante. Com o

    uso da virtualizao, companhias podem reduzir o numero de computadores

    exigidos para cada sala de aula e o tempo necessrio para prepar-los para a

    prxima turma;

    g) continuidade de negcios: Virtualizao pode ajudar uma empresa a alcanar

    os 99,999% de disponibilidade, ajudando a eliminar os downtimes

    planejados, entregando alta-disponibilidade, solues de recuperao de

    desastres e ajudar com as solues de backup;e

    h) HoneyPot: Mquinas virtuais podem ser facilmente configuradas para serem

    HoneyPot, ou seja, mquinas com o objetivo especifico de serem alvos para

    ataques que a rede ou determinadas aplicaes podem sofrer, prevenindo

    com isto, que aplicaes de produes possam ser comprometidas.

  • 17

    1.4 QUANDO NO UTILIZAR A VIRTUALIZAO

    Segundo Buytaert et al. (2007), no se utiliza a virtualizao quando:

    a) testes em virtualizao da plataforma x86: No se pode testar virtualizao

    dentro de um ambiente virtualizado. Isto ir tornar o ambiente no usvel.

    Esta uma limitao da plataforma x86;

    b) jogos no computador: Os requerimentos para execuo de jogos de

    computador so extremamente grandes e ter a camada de virtualizao entre

    o hardware e o jogo pode impactar no desempenho do mesmo;

    c) hardware e perifricos especializados: No h meios de poder colocar em

    ambientes virtualizados perifricos de hardware customizado. Isto porque no

    h emulao ou representao destes dispositivos em ambiente virtualizado;

    d) testes de performance: A sobrecarga devido a camada de virtualizao ir

    causar resultados errneos na execuo de testes de performance; e

    e) depurar drivers de hardware: Devido ao fato de todas as maquinas virtuais

    terem o mesmo hardware, no h como testar ou depurar drivers de hardware

    nesta plataforma.

    1.5 HISTRIA DA VIRTUALIZAO

    Segundo Marshall, Reynolds e Mccrory (2006), o conceito de virtualizao vem

    sendo discutido desde a dcada de 1950, embora se tornou de fato uma tendncia

    com o uso na plataforma x86, na dcada de 1980. No inicio da dcada de 1960, a

    IBM introduziu o conceito de Time Sharing (tempo compartilhado), que foi a direo

    inicial para a virtualizao.

    Hoje muitas pessoas associam o termo Time Sharing com mainframes, mas

    possivelmente a plataforma x86 foi introduzida a virtualizao neste mesmo

  • 18

    conceito, mas sobre o nome de computao On-Demand. Em 1964, IBM introduziu

    o IBM System/360, que tinha capacidade limitada de virtualizao e foi arquitetada

    pelo legendrio Gene Amdahl. Mais tarde em 1964, o CP-40 foi lanado e houve a

    primeira meno de mquinas virtuais e memria virtual. Em 1965, o System/360

    Modelo 67 foi desenvolvido, juntamente com o TSS (Time Sharing System). Este foi

    seguido em 1967 por outro lanamento do CP-40 e CMS, que colocou em produo

    um sistema suportando 14 VMs, cada uma com 256k de memria virtual

    (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Uma nova iterao do CP-40 chamada CP-67 Verso 1 foi lanada em 1968. Esta

    possua uma capacidade e estabilidade superior em relao ao antecessor. O CP-67

    Verso 2 em 1969 ganhou um novo agendador e suporte a PL/I. Em 1970 a verso

    3 do CP-67 tinha suporte a reserva de armazenamento que garantia melhor

    performance e adio de instruo SLT (MARSHALL; REYNOLDS; MCCRORY,

    2006). Finalmente em 1971, a verso 3.1 do CP-67 foi liberada com melhorias no

    desempenho de I/O.

    Em 1972, o System/370 Advanced Function foi liberado e possua um novo

    hardware de relocao de endereos e suporte a quatro novos sistemas

    operacionais: VM/370, DOS/VS, OS/VS1 e OS/VS2. Como a tecnologia da

    virtualizao comeou a tornar-se popular na comunidade IBM, a MVMUA

    (Associao Metropolitana de Usurios de Maquinas Virtuais) foi fundada em Nova

    York, em 1973. A introduo do VM/370 Release 2 em 1974 continha a primeira

    iterao do VMA (Virtual machine Assist) Microcode. Tambm em 1974, Gerald J.

    Popek e Robert P. Goldberg criou um conjunto de requerimentos formais para

    arquiteturas, intitulado Formal Requirements for Virtualizable Third Generation

    Architectures (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Durante o perodo de 1974 a 1987, no houve avanos nesta rea. Mas com o

    avano da internet houve grande necessidade pelo suporte TCP/IP. Em 1987, a VM

    TCP/IP tambm conhecida como FAL tornou o TCP/IP disponvel para mquinas

    virtuais (MARSHALL; REYNOLDS; MCCRORY, 2006). Durante as dcadas de 1980

    a 1990, a necessidade de virtualizao foi abandonada devido ao fato do

    crescimento da plataforma x86, com o uso de minicomputadores e de baixo-custo

  • 19

    (MARSHALL; REYNOLDS; MCCRORY, 2006). Ao invs de compartilhar recursos de

    forma centralizada, baseada no modelo de mainframes, as organizaes passaram

    a adotar os sistemas distribudos de baixo custo (MARSHALL; REYNOLDS;

    MCCRORY, 2006).

    De acordo com Buytaert et al. (2007), a grande adoo do Linux e Windows como

    sistemas operacionais emergentes em servidores estabilizou a plataforma x86 como

    um novo padro da indstria. Entretanto, a crescente demanda e o forte crescimento

    de servidores x86 e ambientes desktop apresentou um novo conjunto de

    infraestrutura de TI e desafios operacionais para este cenrio.

    Em 1988, uma pequena companhia chamada Connectix Corporation foi fundada e

    provia solues para sistemas da Apple Macintosh (MAC). A Connectix comeou a

    tornar-se conhecida por suas solues inovadoras para resolver problemas que a

    Apple no podia ou no queria resolver (BUYTAERT et al., 2007).

    A experincia com a plataforma MAC e PC levou a Connectix a criar um produto

    chamado Connectix Virtual PC 1.0 para MAC. O Virtual PC 1.0 foi uma verdadeira

    faanha de programao que incorporou um mecanismo de traduo de binrios

    para traduzir instrues de um processador Intel x86 virtual para um processador

    PowerPc fsico utilizado no MAC (BUYTAERT et al., 2007). Este exemplo de

    emulao levou a Connectix tecnologia da virtualizao.

    Em 1998, uma companhia chamada VMware foi fundada por Diane Greene e seu

    marido, Dr. Mendel Rosenblum junto com dois estudantes da Universidade de

    Stanford e um colega de trabalho de Berkley (MARSHALL; REYNOLDS;

    MCCRORY, 2006).. Em outubro de 1998, estes fundadores patentearam uma nova

    tecnologia de virtualizao baseadas em pesquisas conduzidas na universidade de

    Stanford. Esta patente foi obtida em 28 de maio de 2002 (MARSHALL; REYNOLDS;

    MCCRORY, 2006).

    A VMware introduziu a plataforma VMware Virtual Plataform em 8 de fevereiro de

    1999. Este produto considerado por muitos como sendo o primeiro produto

  • 20

    comercial para virtualizao na plataforma x86. Mais tarde, este produto tornou-se o

    VMware Workstation (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Em 2000, a VMware lanou sua primeira plataforma de virtualizao para servidores,

    o VMware GSX Server 1.0. Este produto era instalado sobre sistemas operacionais

    Windows ou Linux. No ano seguinte, com o lanamento do VMware ESX Server 1.0,

    houve uma melhoria significativa, pois este era instalado diretamente no bare-metal

    e provia maior estabilidade e alta-performance por possuir um nativo hypervisor,

    tambm conhecido como Virtual machine Monitor (VMM). De 2002 at os dias

    atuais, o VMware continuou a liberar verses de atualizaes de ambos os

    produtos: GSX Server (ultimamente chamado de VMware Server) e plataforma ESX,

    adicionando novas capacidades e aumento de performance (MARSHALL;

    REYNOLDS; MCCRORY, 2006)..

    A Connectix criou um relacionamento com a Microsoft que consistia na incluso de

    pacotes do sistema operacional Microsoft com o Connectix Virtual PC para produtos

    Mac. E mais tarde, eles providenciaram a tecnologia de emulao PocketPC

    embutida na aplicao Visual StudioNET da Microsoft. No comeo de 2003, ela

    entrou no campo da virtualizao de servidores x86 com sua verso release

    candidate do Connectix Virtual Server. Entretanto, o Connectix Virtual Server nunca

    entrou no mercado, porque a Microsoft adquiriu os direitos de propriedade intelectual

    do Virtual PC para Mac e Windows como tambm do Connectix Virtual Server

    (MARSHALL; REYNOLDS; MCCRORY, 2006)..

    O plano de virtualizao da Microsoft focava-se no suporte a aplicaes legadas,

    consolidao de servidores e automao de desenvolvimento de softwares e

    ambientes de teste. Eles liberaram seus primeiros produtos de virtualizao, o

    Microsoft PC 2004, no dia 02 de dezembro de 2003. Devido ao fato de aprimorar a

    segurana, o projeto acabou tendo atrasos e em meados de 2004 foi liberadas duas

    verses, o Microsoft Virtual Server 2005 Standard Edition e o Microsoft Virtual Server

    2005 Enterprise Edition (MARSHALL; REYNOLDS; MCCRORY, 2006)..

    Assim como Connectix, a VMware tambm foi adquirida. A companhia foi adquirida

    pela EMC Corporation em nove de janeiro de 2004, embora continuasse atuando

    como uma subsidiaria independente, sendo ainda dirigida pela CEO Diane Greene.

  • 21

    Em agosto de 2007, a EMC tornou a VMware pblica e vendeu cerca de 10 % da

    companhia, ganhando algo em torno de um bilho de dlares (MARSHALL;

    REYNOLDS; MCCRORY, 2006)..

    Enquanto isto, outra tecnologia de virtualizao de servidores estava sendo

    desenvolvida: a Xen (MARSHALL; BEAVER; MCCARTY, 2009). Este projeto foi

    descrito primeiramente em um ensaio apresentado na SOSP em 2003. Em outubro

    do mesmo ano, a verso 1.0 foi liberada. Originalmente, a Xen foi desenvolvida pelo

    Systems Research Group no laboratrio de computao da universidade de

    Cambridge, como parte do projeto XenoServers, e foi fundada pelo UK-EPSRC.

    Desde ento, Xen ganhou maturidade e se tornou um projeto que possibilitou

    pesquisas para melhorar tcnicas para virtualizar recursos tais como CPU, memoria,

    discos e redes. Ian Pratt, professor snior de Cambridge, liderou o projeto e ajudou a

    fundar a XenSource, Inc., uma companhia responsvel pelo desenvolvimento do

    projeto Xen open-souce e tambm criou e vendeu uma verso do software comercial

    e empresarial. Contribuidores deste projeto incluem empresas como AMD, HP, IBM,

    Intel, Novell, RedHat e XenSource (MARSHALL; REYNOLDS; MCCRORY, 2006)..

    Conforme Williams e Garcia (2007), em 2006, XenSource liberou a primeira verso

    do XenEnterprise 3.0, um produto baseado no Xen v3.0.3 e criado para competir

    diretamente com o produto VMware ESX. Em agosto de 2007, XenSource Anunciou

    a liberao do XenEnterprise v4, baseada no Xen 3.1, que estava mais estvel e

    tentou ser competitiva com produtos concorrentes como o VMware ESX. Neste

    mesmo ms, a Citrix anunciou que iria fazer como a EMC e a Microsoft em relao

    plataforma de virtualizao e adquiriu a XenSource por aproximadamente 500

    milhes de dlares.

    Com a tecnologia de hypervisor como VMware ESX e Xen comeou a dominar a

    plataforma de virtualizao de servidores, a Microsoft passou a focar em algo mais

    competitivo do que o Microsoft Virtualx Server. Com o desenvolvimento do Longhorn

    ou Windows Server 2008, a companhia iniciou o desenvolvimento da sua prpria

    tecnologia de hypervisor, originalmente chamada Viridian e depois chamada Hyper-

    V (MORIMOTO; GUILLET, 2009).

  • 22

    Fabricantes de chips como Intel e AMD continuaram a introduzir novas tecnologias

    para prover melhor suporte para virtualizao na camada de hardware. Estas

    tecnologias incluem processadores multincleos, tecnologia de virtualizao Intel

    (originalmente conhecida como Vanderpool e Silvervale), e AMD-V/SVM

    (originalmente conhecida como Pacifica). Estas tecnologias de virtualizao no nvel

    de hardware permitiram plataformas de virtualizao tornarem-se mais eficientes. As

    tecnologias Intel-VT e AMD-V interceptaram estas instrues e passaram a controlar

    o hypervisor para no haver a necessidade de uma camada de software complexa

    podendo ocasionar problemas de desempenho. As instrues de virtualizao

    adicionadas nos processadores AMD e Intel tm ajudado a criar novas plataformas

    de virtualizao desde que tecnologias adicionais tm removido uma das barreiras

    de entrar no mercado da virtualizao (MARSHALL; REYNOLDS; MCCRORY,

    2006).

  • 23

    Captulo 2

    2 TIPOS DE VIRTUALIZAO

    Atualmente existem diversas tecnologias e formas de virtualizao na plataforma

    x86 (VICTOR et al., 2011). O conjunto de tecnologias de virtualizao utilizado nos

    sistemas de servidores empresariais geralmente referido como tecnologias de

    particionamento. Como mencionado no capitulo anterior, o foco deste trabalho a

    virtualizao de servidores atravs de software (partitioning software), mas

    importante salientar que existem outras formas, tais como hadware partitioning, por

    aplicao, recursos e servios, assim como tipos de virtualizao por sistema

    operacional em ambientes runtime.

    2.1 PARTICIONAMENTO DE HARDWARE

    Segundo Marshall, Reynolds e Mccrory (2006), particionamento de hardware refere-

    se tecnologia de hardware altamente especializado, que permitem que os recursos

    de um nico computador sejam divididos em mltiplas parties, as chamadas hard

    partitions, onde cada uma pode hospedar uma instncia de um sistema operacional.

    A figura 4 ilustra como funciona a virtualizao por particionamento por hardware.

    Particionamento por hardware existe a um bom tempo, originando dos sistemas

    mainframes da IBM. Nos dias atuais existem diversas tecnologias de

    particionamento por hardware disponveis, cada qual implementao proprietria e

    requer hardware e software especficos para serem utilizados. Em algumas

    implementaes, somente um ou dois sistemas operacionais muito especficos

    possui suporte. Geralmente todos os componentes requeridos so disponveis de

  • 24

    um nico fornecedor, devido a sua natureza proprietria (MARSHALL; REYNOLDS;

    MCCRORY, 2006).

    Figura 4 Particionamento por hardware Fonte: Marshall, Reynolds e Mccrory (2006)

    2.1.1 Vantagens

    As vantagens, de acordo com Marshall, Reynolds e Mccrory (2006), do

    particionamento de hardware em relao ao por software, so:

    a) grande eficincia no compartilhamento de recursos e gerenciamento de

    capacidade. Estes sistemas so mais eficientes do que o particionamento por

    software porque o gerenciamento de recursos entre as hard partitions so

    mantidos utilizando componentes de hardware separados (memory, storage,

    chips, etc.);

    b) o software especializado (geralmente chamado de microcode) que executa o

    gerenciamento de recursos reside em componentes de hardware gerenciados

    por recursos especializados. Com isto, o desempenho disponvel em cada

    hard partition maximizada e no ocorre sobrecarga;

  • 25

    c) isolamento eltrico: Esta caracterstica de isolamento eltrico entre as hard

    partitions permite que falhas ocorridas em uma partio no afetem as

    demais;e

    d) alta escalabilidade: Pelo fato de somente hardware altamente especializado

    permitir o particionamento por hardware, estes mesmos apresentam uma alta

    escalabilidade e robustez.

    2.1.2 Desvantagens

    Segundo Marshall, Reynolds e Mccrory (2006), as desvantagens do particionamento

    de hardware em relao ao por software, so:

    a) preo alto: Devido a possuir hardware e software proprietrio, os custos de

    aquisio, suporte so elevados e o cliente acaba sendo refm do

    fornecedor;

    b) suporte limitado de vrios sistemas operacionais;

    c) baixa portabilidade: Devido a cada fornecedor possuir tecnologia proprietria,

    a portabilidade de bases instaladas nas hard partitions fica limitada a

    somente hardwares do mesmo proprietrio.

    Alguns fornecedores e suas tecnologias atuais.

    - HP nPartition

    - IBM LPAR e DLPAR

    - Sun Microsystem Dynamic System Domain

    - Unisys Dynamic Partitioning

    2.2 PARTICIONAMENTO LGICO

  • 26

    Particionamento lgico refere-se separao de ambientes de execuo em um

    sistema computacional usando software (MARSHALL; REYNOLDS; MCCRORY,

    2006). Particionamento lgico inclui particionamento por software, particionamento

    de recursos e particionamento de servios.

    2.2.1 Particionamento por software

    Conforme Marshall, Reynolds e Mccrory (2006), particionamento por software uma

    tecnologia baseada em software que permite um computador fsico ser dividido em

    mltiplas parties (chamadas de soft partitions ou mquinas virtuais), cada qual,

    hospedando sua prpria e isolada instncia de um sistema operacional. Seu

    comportamento semelhante ao particionamento de hardware, pois mltiplas

    instncias podem coexistir em um nico servidor fsico, com a diferena que, pelo

    particionamento por software, o isolamento de cada partio e o gerenciamento dos

    recursos compartilhados realizado por uma camada especial de software chamada

    Virtual machine Monitor (VMM) ou Hypervisor (MARSHALL; REYNOLDS;

    MCCRORY, 2006).

    O VMM, assim como os sistemas operacionais de cada soft partition, consomem

    recursos do mesmo conjunto de hardware, ou seja, a VMM utiliza-se de recursos de

    hardware, o que ocasiona degradao de desempenho, se comparado com o

    particionamento de hardware. Esta degradao varia de acordo com cada

    implementao, mas sempre causa impacto no desempenho de cada Mquina

    Virtual (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Existem dois tipos de particionamento por software de acordo com Marshall,

    Reynolds e Mccrory (2006):

    a) hosted: Neste tipo de implementao (conforme figura 5), a camada de

    virtualizao um aplicativo que instalado em um sistema operacional. As

  • 27

    vantagens deste tipo de implementao utilizar a capacidade de

    gerenciamento de recursos do sistema operacional utilizado, sua

    compatibilidade de hardware, APIs e desenvolvimento relativamente mais

    simples, assim como seu suporte. Como desvantagens, ir apresentar as

    mesmas deficincias e ineficincias do sistema operacional em que a mesma

    est hospedada; degradao de desempenho devido ao consumo de

    recursos que o sistema operacional que hospeda este apresenta. Algumas

    tecnologias deste tipo de implementao inclui Microsoft Virtual Server,

    Oracle VM VirtualBox e VMware GSX Server, em ambiente Windows e o

    VMware GSX Server e Oracle VM VirtualBox para Linux;

    Figura 5 Particionamento por software do tipo hosted Fonte: Marshall, Reynolds e Mccrory (2006)

    b) bare-metal ou Hypervisor: Conforme ilustra a figura 6, neste tipo, a camada de

    virtualizao instalada diretamente no hardware, com isto, apresenta um

    melhor desempenho, pois por no apresentar um sistema operacional

    intermediando, o gerenciamento dos recursos computacionais se torna mais

    eficiente. Atualmente, o VMware ESX Server a implementao mais madura

    de um sistema de particionamento por software instalado nativamente em

    arquitetura baseada em x86, embora podemos citar outras tecnologias como

    Cytrix XenServer, Microsoft Hyper-V e Oracle VM Server.

  • 28

    Figura 6 Particionamento por software instalado nativamente no hardware Fonte: Marshall, Reynolds e Mccrory (2006)

    Sistemas de particionamento por software utiliza-se de combinao de emulao,

    simulao e pass-through (passar atravs) em seus mtodos de abstrao de

    hardware. Cada mquina virtual enxerga seu prprio conjunto de recursos de

    hardware que ir consumir.

    2.2.2 Particionamento de aplicaes

    Particionamento de aplicaes uma tecnologia baseada em software que permite

    que recursos do sistema operacional em que uma aplicao dependa de estar

    executando em um ambiente alternativo em um sistema operacional sem o

    conhecimento da mesma (MARSHALL; REYNOLDS; MCCRORY, 2006).

    O aplicativo isolado pode ser executado em mltiplas instncias simultaneamente

    em um mesmo sistema operacional, por um ou mais usurios, sem uma instncia de

    aplicao interferindo em outra. Cada instncia no tem conhecimento da existncia

    de outras, e esta implementao no requer nenhuma mudana no aplicativo para

    que possa ser hospedado em um sistema de particionamento de aplicaes.

  • 29

    A grande vantagem de um sistema de particionamento de aplicaes, segundo

    Marshall, Reynolds e Mccrory (2006), que qualquer aplicao, independente de ser

    usada por um ou mais usurios, pode ser gerenciada de forma centralizada e ser

    disponvel de forma distribuda. Um nico servidor pode executar muitas instncias

    desta aplicao e cada estado da instncia desta aplicao escrito em um

    container separado. Cada container automaticamente controlado pelo sistema de

    particionamento de aplicaes.

    O particionamento de aplicaes pode consolidar uma nica aplicao para

    mltiplos computadores desktops e servidores em um nico servidor e a aplicao

    pode ser gerenciada como uma nica instncia desta aplicao. O prprio sistema

    operacional no completamente abstrado desta aplicao, somente certos

    subcomponentes, tais como sistema de arquivos, portanto somente aplicaes

    executam normalmente em um sistema operacional comeando a usar so

    permitidos para ser hospedado em um sistema de particionamento de aplicaes. A

    figura 7 ilustra este exemplo (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Figura 7 Particionamento de aplicao Fonte: Marshall, Reynolds e Mccrory (2006)

  • 30

    2.2.3 Particionamento de recursos

    De acordo com Marshall, Reynolds e Mccrory (2006), particionamento de recursos

    uma tecnologia baseada em software que abstrai como certos recursos do sistema

    operacional so alocados para instncias de aplicaes ou processos individuais

    executando em um sistema operacional (A figura 8 ilustra este tipo de

    particionamento). Esta tecnologia usada para controlar consumo de recursos de

    aplicaes e processos, permitindo maior controle granular que os providos pelo

    sistema operacional (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Figura 8 Particionamento de recursos Fonte: Marshall, Reynolds e Mccrory (2006)

    Os sistemas de particionamento de recursos permitem tambm que o consumo de

    recursos possa ser controlado no somente no nvel de aplicaes ou recursos, mas

    tambm por uma combinao de aplicaes ou processos e contas de usurios

    (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Este tipo de virtualizao permite tambm habilitar qualidade de servio no sistema

    operacional, pois as instncias de aplicaes ou processos podem passar

    parmetros, que permitem nveis mnimos e mximos de utilizao de recursos tais

    como CPU, memoria e I/O de discos para serem efetivamente controladas e

    gerenciadas (MARSHALL; REYNOLDS; MCCRORY, 2006). Assim, como o

    particionamento de aplicaes, este no abstrai o sistema operacional inteiro, ao

  • 31

    invs disto, somente aplicaes que devam ser controladas pelo sistema de

    particionamento de recursos so abstradas.

    2.2.4 Particionamento de servios

    Conforme Marshall, Reynolds e Mccrory (2006), o particionamento de servios

    uma tecnologia baseada em software em que uma nica instncia da aplicao

    prove mltiplas e isoladas instncias de um servio (conforme figura 9).

    Figura 9 Particionamento de servios Fonte: Marshall, Reynolds e Mccrory (2006)

    Cada instncia do servio aparece para os consumidores do servio como sendo

    uma instncia de aplicao dedicada (e geralmente oferece uma instncia de

    servidor dedicada) (MARSHALL; REYNOLDS; MCCRORY, 2006). Neste tipo de

    virtualizao, a abstrao ocorre no topo da instncia da aplicao, que permite que

    mltiplas instncias desta aplicao possam coexistir.

    De acordo com Marshall, Reynolds e Mccrory (2006), o nvel de isolao entre estas

    instncias pode variar conforme a implementao; ocorrendo casos em que h

    completo isolamento entre as instncias at o caso em que no h isolamento.

  • 32

    Exemplos comuns deste tipo de virtualizao so servidores de banco de dados e

    web. Em um servidor de banco de dados, uma nica instncia executada em um

    sistema operacional. Esta instncia pode conter diversos bancos de dados. Com o

    particionamento de servios, cada banco de dados pode ser configurado para

    aparecer para os consumidores do servio somente como o nico do servidor,

    embora possa ter mais de vinte bancos de dados sendo executados

    simultaneamente (MARSHALL; REYNOLDS; MCCRORY, 2006).

    Outro exemplo so os servidores web modernos que permitem mltiplos web sites

    virtuais para serem criados e hospedados simultaneamente de uma nica instncia

    da aplicao (MARSHALL; REYNOLDS; MCCRORY, 2006). Cada web site

    isolado um do outro e aparece como se estivesse hospedado em seu prprio

    servidor dedicado, quando na realidade podem ter mais de cem web sites rodando

    simultaneamente de uma instncia de aplicao de servidor web.

    2.2.5 Sistemas Operacionais e ambientes Runtime

    Embora no seja usualmente descrito como um tipo de tecnologia de virtualizao,

    sistemas operacionais so na verdade um dos tipos mais comuns de tecnologias de

    virtualizao. Pode-se dizer que um sistema operacional uma maquina virtual

    implementada em software usada para abstrair os recursos do hardware do

    computador (MARSHALL; REYNOLDS; MCCRORY, 2006). Aplicativos que residem

    e executam dentro deste sistema operacional, utilizam-se das facilidades deste SO

    para acessar o hardware ao invs deste prprio acessar o hardware, geralmente

    atravs do modulo chamado driver de dispositivo (MARSHALL; REYNOLDS;

    MCCRORY, 2006).

    Alguns frameworks de programao incluem um ambiente runtime designado para

    rodar no topo do sistema operacional. Softwares escritos para serem executados

    neste ambiente rodam no topo do sistema operacional como tambm dependem

    deste ambiente runtime (ou maquinas virtuais como so chamados) para executar

  • 33

    as tarefas. Este tipo de virtualizao no prove um ambiente de execuo completo

    e depende do sistema operacional e seus recursos para executar seu trabalho

    (MARSHALL; REYNOLDS; MCCRORY, 2006). Exemplos incluem o framework

    Microsoft .Net e o Sun Java.

  • 34

    Captulo 3

    3 A PLATAFORMA VMWARE SPHERE

    A companhia VMware surgiu em 1998 para prover solues em virtualizao de

    servidores na plataforma x86 (MISHCHENKO, 2011). Em 1999, liberou a verso

    VMware Workstation, que permitia executar vrios sistemas operacionais sobre um

    sistema desktop. Isto permitia que algum do suporte tcnico que precisasse testar

    vrias verses de sistemas operacionais, tivesse como realizar isto sem a

    necessidade de diversos computadores ou estar reinstalando cada verso

    (MISHCHENKO, 2011).

    Em 2001, a VMware lanou duas verses: a VMware GSX Server e ESX Server. A

    VMware GSX Server era semelhante a VMware Workstation, ou seja, um aplicativo

    executado sobre um sistema operacional (Windows ou Linux), com a diferena que

    era instalada em um computador servidor ao invs de um computador desktop. Mais

    tarde, esta verso foi renomeada para VMware Server (MISHCHENKO, 2011).

    A VMware ESX Server tambm foi lanada como uma soluo centralizada para

    hospedar maquinas virtuais, mas com a arquitetura diferente em relao ao VMware

    GSX Server. De acordo com Mishchenko (2011), o ESX Server instalado

    diretamente no hardware do servidor, proporcionando uma maior performance, pois

    no h camadas intermediarias entre o hardware e a plataforma de virtualizao,

    elimina vulnerabilidades de segurana e a necessidade de um maior gerenciamento

    exigido por sistemas operacionais como Windows e Linux. A camada de

    virtualizao, ou hypervisor, do VMware denominada VMkernel, desenvolvida

    especificamente para hospedar maquinas virtuais, eliminando consumo significativo

    de recursos e potencias brechas de segurana (MISHCHENKO, 2011).

  • 35

    A VMware ESX tambm introduziu o formato de partio denominado VMFS:

    VMware Virtual machine File System. Em sua primeira verso, este formato apenas

    otimizava as operaes das mquinas virtuais. J na verso 2, conforme

    Mishchenko (2011), a VMware implementou capacidade de clusterizao. Com esta

    capacidade, o mesmo volume podia ser acessado por vrios hosts, implementando

    o bloqueio por arquivo. A capacidade do sistema de arquivos VMFS e as

    caractersticas da plataforma ESX permitiu o lanamento do VMware VirtualCenter

    Server, hoje conhecido por vCenter. O VirtualCenter Server possibilita o

    gerenciamento centralizado dos hosts ESX e inclui caractersticas inovadoras como

    o vMotion, que permite a migrao de maquinas virtuais entre os hosts ESX, sem

    interrupo e clusters de alta disponibilidade (MISHCHENKO, 2011).

    Em 2007, a VMware lanou a segunda gerao da plataforma de virtualizao bare-

    metal, denominada ESXi (ESX integrada). A ESXi 3.5 foi lanada na VMworld 2007,

    onde foi distribudo em um pen-drive de 1GB. O ESXi foi inicialmente desenvolvido

    para ser armazenado nas memrias de somente leitura, ROM, dos servidores, ou

    seja, de uma forma embutida, para tornar o nvel da camada de virtualizao livre de

    ataques, a instalao de patches menos frequentes e diminuio de consumo de

    energia, pois no necessitava de discos rgidos para serem instalados. Mas o uso da

    plataforma ESXi popularizou-se de duas formas: a embutida, em dispositivos de

    memoria flash, dentro dos servidores e a forma instalada (MISHCHENKO, 2011).

    A grande diferena em relao verso ESX, que esta no possui a console de

    servio baseada em Linux, que era necessria para gerenciar o ESX. Isto

    proporcionou uma reduo significativa no tamanho da instalao do ESX, que

    exigia cerca de 1.1 gigabyte de espao em disco para cerca de 90 megabyte, na

    ESXi, por isto a opo de se instalar em memorias flash (MISHCHENKO, 2011).

  • 36

    3.1 A ARQUITETURA ESXI

    Segundo Mishchenko (2011), a tecnologia por trs da arquitetura VMware ESXi

    representa a nova gerao da plataforma de virtualizao do VMware, que a

    fundao dos produtos de virtualizao da VMware. Atravs de funcionalidades

    equivalentes do ESX, esta plataforma elimina a necessidade de uma console de

    servio baseada em Linux, reduzindo significativamente seu tamanho.

    O ponto central do ESXi o VMkernel, como mostrado na figura 10. Este o

    responsvel por controlar o acesso do hardware para o host ESXi. Todos os demais

    processos so executados sobre o VMkernel (MISHCHENKO, 2011).

    Figura 10 Os componentes da arquitetura do VMware ESXi Fonte: Mishchenko (2011)

    O VMkernel um sistema operacional baseado em POSIX (acrnimo para o nome

    denominado: Portable Operating System Interface, que pode ser traduzido

    como Interface Portvel entre Sistemas Operacionais), que uma famlia

    de normas definidas pelo IEEE e designada formalmente que tem como objetivo

    garantir a portabilidade do cdigo-fonte de um programa a partir de um sistema

    operacional que atenda as normas POSIX para outro sistema POSIX, desta forma

  • 37

    as regras atuam como uma interface entre sistemas operacionais distintos

    (MISHCHENKO, 2011).

    O VMkernel foi desenvolvido pela VMware e similar a qualquer outro sistema

    operacional em que este usa a criao de processos, sistemas de arquivos e

    threads, mas com a diferena de que o objetivo do VMkernel somente executar

    maquinas virtuais, ou seja, o hypervisor foca no agendamento de recursos, drivers

    de dispositivos e pilhas de Entrada/Sada (MISHCHENKO, 2011).

    A comunicao com o VMkernel feita atravs de APIs VSphere. De acordo com

    Mishchenko (2011), as ferramentas utilizadas para este gerenciamento so o

    vSphere Client, vCenter Server, vCLI e outras aplicaes, desenvolvidas por

    terceiros, que se comunicam atravs destas APIs.

    Numerosos processos so executados sobre o VMkernel, que provem

    gerenciamento de acesso, monitoramento de hardware, assim como tambm um

    compartimento de execuo em que uma maquina virtual opera (MISHCHENKO,

    2011). Estes processos so conhecidos como processos user world, e operam

    similarmente como aplicaes em um sistema operacional qualquer, exceto que

    foram desenvolvidos para prover funo de gerenciamento especifica para a

    camada de virtualizao (MISHCHENKO, 2011).

    O processo VMM (Virtual machine Monitor, que pode ser livremente traduzido como

    monitor de maquina virtual) o responsvel por fornecer um ambiente de execuo

    em que o sistema operacional convidado opera e interage com o conjunto de

    hardware virtual que apresentado a este (MISHCHENKO, 2011). Cada processo

    VMM tem um processo ajudante correspondente conhecido como VMX e cada

    mquina virtual tem um de cada processo .

    O processo hostd prov uma interface programtica para o VMkernel. Esta usada

    pela API do vSphere e para o vSphere Client quando utilizado para se conectar

    diretamente ao host. Este processo gerencia usurios e grupos locais como tambm

    avalia os privilgios para os usurios que interagem com o host. O hostd tambm

  • 38

    funciona como proxy reverso para todas as comunicaes com o host ESXi

    (MISHCHENKO, 2011).

    Conforme Mishchenko (2011), o VMware ESXi conta com o sistema CIM (Commom

    Information Model, que pode ser traduzido como modelo de informao comum)

    para monitorar o status do hardware. Este prov um conjunto de APIs para

    aplicaes remotas poderem consultar o status do hardware do host ESXi. Com isto,

    fornecedores de hardware so aptos a desenvolver seu plug-in CIM especifico para

    realizar este monitoramento.

    O processo DCUI (Direct Console User Interface) prove uma console de

    gerenciamento local para ESXi. O DCUI aparece como uma interface parecida com

    a BIOS, como mostrada na figura 11 (MISHCHENKO, 2011).

    Figura 11 A console de administrao DCUI Fonte: Mishchenko (2011)

    O processo vpxa responsvel pela comunicao com o vCenter Server. Este

    processo roda dentro de um contexto de segurana do vpxuser. Comandos e

    consultas realizadas do vCenter Server so recebidas por este processo antes de

    ser encaminhadas ao processo hostd. O processo agente instalado e executado

    quando o host ESXi ligado em um cluster de alta disponibilidade (MISHCHENKO,

    2011).

  • 39

    3.2 FERRAMENTAS DE GERENCIAMENTO

    Como mencionado anteriormente, a arquitetura ESXi uma plataforma bem enxuta,

    onde somente processos indispensveis ao funcionamento do host so executados

    neste. O gerenciamento local feito pela DCUI, que permite realizar operaes

    bsicas no host: configurar senha do administrador (root), configurar endereo IP da

    placa de rede para gerenciamento de trafego, reiniciar servios de gerenciamento do

    host, reiniciar ou desligar o host.

    Para poder interagir com o ambiente de virtualizao, utilizar os recursos disponveis

    da plataforma ESXi, necessrio aplicaes que so executadas remotamente para

    realizar este gerenciamento. Independente se ir gerenciar diretamente o host ESXi,

    ou este gerenciamento ir ser feito atravs do vCenter Server, a ferramenta mais

    utilizada para tal, o vSphere Client. A figura 12 mostra a tela principal do vSphere

    Client.

    Figura 12 A tela inicial do vSphere Client Fonte: Mishchenko (2011)

  • 40

    Atravs desta console, possvel verificar as informaes e status referentes aos

    componentes de hardware do host (processador, disco, memria, etc), acessar e

    gerenciar as mquinas virtuais. A maioria dos elementos disponveis para configurar

    o host est na aba Configuration (figura 13). Estas opes esto disponveis tanto

    acessando diretamente o host como pelo vCenter Server (MISHCHENKO, 2011).

    Figura 13 A tela de configurao do ESXi Fonte: Mishchenko (2011)

    Esta aba permite verificar o status dos diversos componentes do hardware do host.

    As opes so exibidas de acordo com o Common Information Model (CIM)

    instalado no host. Tambm permite obter informaes sobre o processador, tais

    como o modelo deste, o numero de soquetes, ncleos por soquete, e se o recurso

    Hyperthreading est habilitado (MISHCHENKO, 2011). Exibe tambm algumas

    sobre a placa-me do host, incluindo o nome do fabricante, modelo, e a verso da

    BIOS assim como, o total de memria disponvel para o host, as configuraes

    atuais das redes e armazenamento, gerenciamento de energia, licenciamento,

    sincronizao do relgio do host com os servidores de tempo disponveis na internet,

    alm de configuraes avanadas (MISHCHENKO, 2011).

  • 41

    3.3 VMWARE VIRTUALCENTER SERVER

    O VMware VirtualCenter, a console de gerenciamento centralizado utilizado em

    ambientes VMware para configurar, provisionar e gerenciar ambientes virtualizados

    nas empresas. Atravs do vCenter, tecnologias como vMotion, alta disponibilidade e

    agendador de distribuio de recursos so habilitadas, assim como outras

    tecnologias, como segue abaixo (KHNASER, 2011):

    a) VMware Update Manager: Uma ferramenta automatizadora utilizada para

    gerenciar atualizaes dos hosts ESX/ESXi e mquinas virtuais;

    b) VMware vCenter Converter: Ferramenta de converso que permite migrar um

    servidor fsico ou virtual para uma mquina virtual;

    c) VMware vCenter Guided Consolidation: Ferramenta utilizada para analisar

    uma infraestrutura de servidores fsicos e recomendar os servidores fsicos

    que so bons candidatos para serem convertidos para mquinas virtuais.

    A estrutura do vCenter exibida conforme a figura 14:

    Figura 14 Os componentes do VMware VirtualCenter Server Fonte: Khnaser (2011)

  • 42

    Os componentes do VMware VirtualCenter Server so (KHNASER, 2011):

    a) ncleo: O mdulo principal do vCenter, o ncleo permite as mquinas virtuais

    serem provisionadas, agendador de tarefas, registra eventos, etc.;

    b) servios distribudos: O modulo que habilita recursos como vMotion, alta

    disponibilidade e agendador de distribuio de recursos;

    c) servios adicionais: O modulo onde mdulos independentes atuam, tais como

    VMware Converter Enterprise e Update Manager;

    d) interface do banco de dados: O canal que conecta ao servidor de banco de

    dados que prove ao vCenter um repositrio central para todos seus dados;

    e) gerenciamento de host ESX/ESXi: A interface que permite ao vCenter

    conectar aos hosts ESX/ESXi e gerencia-los;

    f) interface do Active Directory: O canal que estabelecido com um domnio do

    active directory para estender suporte a usurios e grupos para o vCenter;

    g) vSphere Application Programming Interface (API) e vSphere Software

    Development Kit (SDK): O cdigo de programao que prove um framework

    para desenvolver aplicaes customizadas.

    3.3.1 Recursos do ESX/ESXi com o uso do vCenter

    De acordo com Khnaser (2011), o vCenter permite:

    a) gerenciamento em larga escala: Na verso 4.1, um vCenter capaz de

    gerenciar at 1000 host e at 10000 mquinas virtuais ligadas;

    b) implantao com o uso de assistentes: Possui assistentes que auxiliam na

    criao de mquinas virtuais, tornando o trabalho fcil;

    c) modelos de mquinas virtuais editveis: Permite salvar uma mquina virtual

    como um modelo (template), o que facilita na criao de novas mquinas

    virtuais utilizando este padro. O modelo permite atualizaes e correes de

    falhas;

  • 43

    d) clonagem de mquinas virtuais: Permite clonar uma mquina virtual para

    realizar um backup completo ou criar um novo servidor quando necessrio;

    e) migrao ao vivo vMotion: vMotion uma tecnologia que permite migrar

    uma mquina virtual de um servidor fsico para o outro, sem interrupo dos

    servios, ou seja, usurios que estejam utilizando esta mquina virtual nem

    percebero esta migrao;

    f) Distributed Resource Scheduler (DRS): O DRS, agendador de recursos

    distribudos, um recurso que monitora constantemente os servidores fsicos

    do VMware ESXi cluster, balanceando as cargas entre todos os servidores,

    atravs do vMotion, para migrar mquinas virtuais de um host para outro host

    para manter o balanceamento. Pode ser configurado de diversas formas,

    desde uma simples recomendao de migrao at para uma politica de

    migrao automatizada agressiva;

    g) Distributed Power Management (DPM): O gerenciamento de energia

    distribuda monitora a carga das mquinas virtuais, verificando quando

    possvel distribuir as mquinas virtuais atravs do cluster DRS, de maneira

    que, quando a carga for baixa, possa desligar servidores fsicos ociosos, para

    diminuir o consumo de energia eltrica, ligando automaticamente, quando a

    carga aumentar e for necessrio religar estes servidores fsicos; e

    h) alta disponibilidade (HA High availability): O HA um recurso que permite

    reiniciar todas as mquinas virtuais em um host que teve falha em outro

    membro deste cluster.

    3.3.2 Recursos disponveis no vCenter atravs de plug-ins

    Os recursos disponveis no vCenter, de acordo com Khnaser (2011) so:

    a) converso fsica para virtual: Esta funcionalidade permite gerenciar mltiplas

    converses de mquinas fsicas para virtuais utilizando o vCenter Console;

  • 44

    b) plug-in para consolidao: Atravs do uso de assistentes, o plug-in de

    consolidao ir automaticamente descobrir servidores fsicos e analisar sua

    performance para verificar a viabilidade de converso para mquina virtual; e

    c) plug-in para gerenciamento de atualizao: Esta funcionalidade

    automaticamente escaneia e atualiza os servidores ESX/ESXi como tambm

    mquinas virtuais Linux e Windows. Esta funcionalidade tambm reduz o

    downtime atravs da realizao de snapshots antes de executar, com a opo

    de desfazer as atualizaes. A integrao do DRS com o Update Manager

    proporciona um downtime igual a zero quando atualiza hosts ESX/ESXi.

  • 45

    Captulo 4

    4 A PLATAFORMA MICROSOFT HYPER-V

    Segundo Morimoto e Guillet (2009), a tecnologia Hyper-V foi apresentada com o

    lanamento do Windows Server 2008, para concorrer com outras tecnologias de

    virtualizao, tais como VMware e XenServer. O kernel do Windows Server 2008 foi

    reescrito para que esta verso do sistema operacional provesse melhorias em

    relao tecnologia de virtualizao.

    A Microsoft, conforme Morimoto e Guillet (2009), com o Hyper-V, simplificou o

    processo de adio de virtualizao no ambiente corporativo, pois para adicionar

    este recurso, basta abrir a ferramenta de gerenciamento do servidor e adicionar esta

    opo, sem a necessidade de instalao de programas adicionais (figura 15).

    Figura 15 Hyper-V como um recurso do Windows Server 2008 Fonte: Morimoto e Guillet (2009)

  • 46

    4.1 CARACTERSTICAS DO HYPER-V

    Segundo Morimoto e Guillet (2009), as caractersticas do Hyper-V so:

    a) executado em ambiente Windows: Diferente de outras plataformas de

    virtualizao, que so executadas em plataformas proprietrias ou outros

    sistemas operacionais, como o Linux, o Hyper-V executado na plataforma

    Windows, familiar para a maioria dos administradores de redes. Isto torna

    rpido o aprendizado desta ferramenta, pois no necessita de aprender um

    novo sistema operacional, ferramentas de gerenciamento ou especializadas.

    A ferramenta de gerenciamento do Hyper-V simplesmente como qualquer

    outra ferramenta administrativa no Windows. Portanto, a criao de mquinas

    virtuais, o monitoramento destas e o seu gerenciamento um processo

    familiar para os administradores de TI;

    b) suporte de aplicaes Microsoft nesta plataforma de virtualizao: Uma

    preocupao quando se virtualiza o ambiente o suporte que eles recebero

    de seus fornecedores de software (Microsoft, IBM, Oracle, etc). Enquanto

    todos dao suporte a suas aplicaes em sistemas de hardware fsico, no

    necessariamente garantem este suporte em sistemas virtualizados;

    c) com o lanamento do Hyper-V, a Microsoft anunciou suporte total de suas

    aplicaes em ambientes sendo executado sobre o Hyper-V. Produtos como

    o Exchange 2007 SP1, Microsoft Office SharePoint 2007 SP1 so diretamente

    suportados;

    d) Microsoft Hyper-V prove suporte a mquinas virtuais no-Windows: Com o

    lanamento do Hyper-V, a Microsoft preocupou-se em garantir que o Hyper-V

    no ir prover suporte somente para mquinas virtuais com o Windows (como

    Windows Server 2003 e 2008), mas tambm VMs com o Linux. Garantindo

    suporte para VMs com um variado tipo de sistemas operacionais, a Microsoft

    est permitindo que organizaes para consolidar seus sistemas tanto

    Windows como no-Windows em poucos servidores hosts Hyper-V;

    e) Hyper- V uma plataforma de virtualizao bare-metal: Antes do Hyper-V, as

    tecnologias de virtualizao do Microsoft eram plataforma de virtualizao

    baseada em host, ou seja, eram executadas sobre o sistema operacional e os

  • 47

    recursos exigidos pelas mquinas virtuais eram compartilhados com os

    recursos do sistema operacional host, ou seja, um evento no servidor host

    que causasse uma falha era repassada para as mquinas virtuais tambm.

    Com a adoo do Hyper-V, os sistemas operacionais das VMs comunicam-se

    diretamente com o hardware sem ter que passar pelo sistema operacional

    host. Isto garante maior independncia, escalabilidade, melhor performance e

    maior confiabilidade; e

    f) disponvel somente em plataforma x64 bits: O Hyper-V foi lanado na verso

    do Windows Server 2008, na plataforma de x64 bits, disponvel somente nas

    verses Standard, Enterprise e Datacenter.

    4.2 GERENCIANDO O HYPER-V

    O Hyper-V possui diversas ferramentas que gerenciam e administram os servidores

    host e as VMs (MORIMOTO e GUILLET, 2009). Estas ferramentas incluem a

    console de administrao do Hyper-V e a console de gerenciamento de servidor do

    Windows 2008. A ferramenta de gerenciamento de servidor uma interface que

    permite centralizar toda a administrao dos servios do Windows server 2008

    (MORIMOTO e GUILLET, 2009).

    Nesta console, esto acessveis no somente as configuraes do Hyper-V, mas de

    outros servidores, como DNS. DHCP, arquivos, etc., como possvel verificar na

    figura 16.

  • 48

    Figura 16 Ferramenta de gerenciamento do Windows Server 2008 Fonte: Morimoto e Guillet (2009)

    A console de administrao do Hyper-V dedicada somente ao gerenciamento do

    Hyper-V (conforme ilustra a figura 17). possvel realizar o gerenciamento tanto do

    servidor local, como de forma remota, bastando informar o endereo do servidor que

    se pretende gerenciar (MORIMOTO; GUILLET, 2009).

  • 49

    Figura 17 Ferramenta de gerenciamento do Hyper-V Fonte: Morimoto e Guillet (2009)

    Atravs destas ferramentas, pode-se configurar os switches virtuais de rede, os

    hosts e o gerenciamento das mquinas virtuais, tais como discos, memria, CPU,

    etc.

    4.3 SYSTEM CENTER VIRTUAL MACHINE MANAGER 2008

    O System Center Virtual machine Manager 2008(SCVMM 2008) prope ser uma

    interface de gerenciamento comum para o datacenter virtualizado (MORIMOTO e

    GUILLET, 2009). Isto porque permite no somente gerenciar ambientes Microsoft,

    mas tambm VMware e XenServer, atravs de plug-ins de terceiros.

    De acordo com Morimoto e Guillet (2009), o SCVMM 2008 utiliza uma abordagem

    holstica para gerenciar a infraestrutura virtual, examinando e classificando os hosts

    de virtualizao. Atravs de uma srie de critrios, indica qual o melhor host para

  • 50

    hospedar determinada mquina virtual. Este uma aplicao que administradores

    podem usar para gerenciar um grande numero de VMs atravs de uma infraestrutura

    virtual (MORIMOTO; GUILLET, 2009).

    4.3.1 Componentes do SCVMM

    Conforme Morimoto e Guillet (2009), o SCVMM composto por uma srie de

    componentes, como mostrados a seguir:

    a) servio VMM: O ncleo do SCVMM. Uma aplicao que instalada em

    verses do Windows Server 2003 SP1 ou posterior;

    b) banco de dados SQL Server. Este banco contem todos os objetos do VMM.

    c) agente local: Componente instalado nos servidores hosts do Hyper-V,

    responsvel por comunicar-se com o servio VMM;

    d) Library Servers: Servidores que funcionam como repositrios de recursos

    para o ambiente VMM; e

    e) console administrativa: Interface em que o administrador interage com o

    servio VMM. Pode-se interagir atravs de interface grfica ou linha de

    comando para gerenciar a infraestrutura fsica e virtual. O administrador pode

    gerenciar hosts rodando Hyper-V, VMware ESX e Microsoft Virtual Server. A

    console do VMM 2008 (figura 18) possui o padro de outros produtos

    Microsoft de gerenciamento de sistemas, como o System Center

    Configuration Manager 2007 (SCMM 2007) e o System Center Operation

    Manager 2007 (SCOM 2007).

  • 51

    Figura 18 Ferramenta System Center Virtual machine Manager SCVMM 2008 Fonte: Morimoto e Guillet (2009)

    4.4 AMBIENTE DE ALTA-DISPONIBILIDADE COM HYPER-V

    Para garantir a disponibilidade dos servios em um ambiente virtualizado, torna-se

    necessrios mecanismos de preveno a falhas e recuperao de desastres. Em

    ambientes Hyper-V, existem quatro formas de se garantir que no haja interrupo

    conforme Morimoto e Guillet (2009):

    a) utilizando funcionalidades de alta-disponibilidade nativas nas aplicaes a

    serem protegidas: Algumas aplicaes possuem recursos que garanta alta-

    disponibilidade, no sendo necessrio investir em outras opes. Por

    exemplo, controladores de domnios Windows replicam informaes entre si,

    ou seja, no h a necessidade de implantar mecanismos que protejam um

    servidor controlador de domnio, pois caso este pare de funcionar, outro

    controlador assume esta funo. Outras aplicaes que possui este

  • 52

    comportamento so: servidores de catalogo global do Active Directory,

    servidores web com balanceamento de carga, servidores DNS, etc;

    b) clusterizao da mquina virtual. Existe a opo de clusterizar aplicaes tais

    como servidores de correio Exchange, SQL Server. Estas aplicaes so

    instaladas em mquinas virtuais dispersas em hosts diferentes, e caso algum

    host pare de funcionar, a aplicao clusterizada passa a funcionar

    automaticamente em outro host, garantindo alta-disponibilidade;

    c) clusterizao do host: Atravs da criao de cluster do host, ou seja, a criao

    de um cluster Hyper-V, garante que todas as mquinas virtuais de um host

    que apresente falhas, seja automaticamente reiniciada em outro host. Isto

    possvel atravs do uso de um storage compartilhado. Esta soluo

    indicada para aplicaes que no possuam mecanismos de alta-

    disponibilidade nativos; e

    d) adquirindo uma aplicao de terceiros para alta-disponibilidade e recuperao

    de desastres: Esta uma estratgia utilizada quando h uma necessidade de

    disponibilidade mais alta do que as solues apresentadas anteriormente e

    necessria a aquisio de ferramentas especializadas para este caso.

  • 53

    Captulo 5

    5 PLATAFORMA XEN

    O Xen um hypervisor de plataforma aberta (open-source), para arquiteturas de

    processadores de 32 ou 64 bits (BUYTAERT et al., 2007). uma plataforma de

    virtualizao tipo bare-metal, que habilita executar diversos tipos de sistemas

    operacionais em um mesmo computador host ao mesmo tempo. As mquinas

    virtuais so executadas com segurana e eficincia com desempenho prximo do

    nativo.

    Conforme Buytaert et al. (2007), o projeto Xen originou-se de um projeto de

    pesquisa do Grupo de Pesquisa de sistemas (Systems Research Group) no

    Laboratrio de Computao da Universidade de Cambridge e foi baseado no

    XenoServers do Conselho de Pesquisas dos Engenheiros e Cientistas de Fsica do

    Reino Unido.

    O objetivo do projeto foi prover uma infraestrutura publica a nvel global e acessvel

    para propsitos de computao distribuda, com uma dedicao especial para

    pesquisas de sistemas, e liderados pelo pesquisador snior Ian Pratt, o projeto

    produziu o hypervisor Xen como uma tecnologia de ncleo (BUYTAERT et al.,

    2007).

    O Xen foi liberado para o pblico utilizando uma abordagem de dois passos:

    Primeiramente, Ian Pratt, juntamente com outros colaboradores liberaram um ensaio

    intitulado Xen and the Art of Virtualization (em traduo livre seria Xen e a Arte da

    Virtualizao), no Simpsio bi-anual de Princpios de Sistemas Operacionais,

    descrevendo o hypervisor e a abordagem para trazer virtualizao para a arquitetura

    x86 em outubro de 2003 (BUYTAERT et al., 2007). Ao mesmo tempo, a verso 1.0

    tornou-se disponvel para download. Desde ento, Xen cresceu e tornou-se maduro,

  • 54

    sendo pea-chave em muitas implementaes. Xen tambm tecnologia base para

    uma abordagem de mudana para modelos de hospedagem e Software como um

    servio (SaaS) (WILLIAMS; GARCIA, 2007).

    O desenvolvimento do Xen na comunidade open-source agora liderada pela

    XenSource, fundada por Pratt. Atravs de um canal para solues comerciais para

    empresas baseadas na tecnologia Xen, XenSource muito comprometida para o

    crescimento da comunidade Xen, promovendo e inspirando desenvolvedores para

    que o hypervisor Xen tenha este estado atual, e dedicando esforos prprios para o

    desenvolvimento deste tambm (BUYTAERT et al., 2007).

    5.1 CARACTERSTICAS DO XEN

    O Xen oferece um conjunto de funcionalidades a nvel empresarial, tornando-o um

    excelente candidato para implementaes grandes executando aplicaes criticas

    como tambm em pequenos e mdios negcios. Para Williams e Garcia (2007),

    estas caractersticas incluem:

    a) mquinas virtuais com performance comparada a nativa;

    b) suporte a convidados Linux, Windows e Solaris;

    c) converso P2V (Fsica para Virtual) e V2V (Virtual para Virtual);

    d) suporte a storage compartilhado do tipo SAN , iSCSI e NAS;

    e) gerenciamento de multi-servidores centralizado;

    f) arquitetura de gerenciamento distribuda flexvel;

    g) suporte total em plataforma x86 (32 bits), x86 (32 bits) com PAE Extenso

    de endereo fsico (Physical Address Extension), e x86 com extenses 64

    bits;

    h) gerenciamento dinmico de memria - Controle automtico de alocao de

    memria entre as mquinas virtuais evitando o uso de swap;

    i) scheduler BVT Balanceamento de CPU para cada mquina virtual no

    processador central. O XEN toma decises de balanceamento de carga

  • 55

    otimizando o processamento, se uma mquina virtual estiver ociosa o XEN

    transfere a carga do processador para uma outra mquina virtual, conforme o

    peso atribudo para cada mquina virtual;

    j) transferncia de disco e parties para as mquinas virtuais: com o XEN

    possvel exportar dispositivos (HDs, parties, etc..) para as mquinas virtuais

    de forma simples e segura, atravs dos protocolos de rede padro (NFS,

    iSCSI, NBD, etc.);

    k) VBD: No XEN possvel transformar espao livre, partio, LVM e NFS em

    discos rgido para as mquinas virtuais; e

    l) migrao de Mquina Virtual para Mquina Real : XEN realizao a migrao

    de mquinas virtuais, para um mquina fsica em tempo real, no havendo a

    necessidade de parar ou reinicializar sua mquina ou servio.

    O Xen foi inicialmente desenvolvido para a arquitetura x86, mas foi feito suporte

    para arquiteturas como Itanium e Itanium 2 (IA-64) e IBM PowerPC.

    5.2 PARAVIRTUALIZAO COM XEN

    De acordo com Williams e Garcia (2007), o Xen possui uma maneira simples de

    trabalhar em uma arquitetura complexa como o x86. Uma das maneiras para

    conseguir isto, foi separar os Como, Quando e O que. Outras implementaes

    de hypervisor da plataforma x86 colocam a carga toda por conta do hypervisor;

    enquanto oferecem um alto grau de flexibilidade e sucesso, sacrificam a

    performance. Entretanto, os desenvolvedores do Xen preocuparam-se em otimizar o

    hypervisor no sentido de possuir um baixo nvel de complexidade, tais como

    agendador de CPU e controle de acesso (WILLIAMS; GARCIA, 2007)

    Como resultado desta metodologia da arquitetura, conforme Williams e Garcia

    (2007), o ponto de demarcao comeou a ser a questo de controle e

    gerenciamento. O foco do hypervisor so as operaes de controle bsico (o

    mecanismo, ou o Como), deixando o poder de deciso (as politicas, ou O que ou

  • 56

    Quando) para os sistemas operacionais convidados. Isto se adequa bem com a

    natureza do monitor da mquina virtual (VMM), onde o hypervisor somente se

    encarrega das tarefas que requerem acesso privilegiado direto. Resumindo, o Xen

    apresenta uma abstrao da mquina virtual que muito semelhante plataforma

    de hardware, sem criar uma copia exata disto. Esta tcnica o ncleo do que

    chamado de paravirtualizao (WILLIAMS; GARCIA, 2007).

  • 57

    CAPTULO 6

    6 OUTRAS PLATAFORMAS DISPONVEIS

    Alm das plataformas de virtualizao apresentadas anteriormente: VMware

    vSphere, Microsoft Hyper-V e Citrix Xen, existem outras plataformas disponveis

    comercialmente. Neste capitulo ir apresentar trs solues: a Red Hat Virtualization

    for Server, Kernel-Based Virtual Machine e a Oracle VM Server.

    6.1 RED HAT

    Segundo Victor et al. (2011), a Red hat um sistema operacional da plataforma

    Linux e sua primeira verso foi lanada em 1994 e o seu ciclo de vida encerrou-se

    em 2003 (a ultima verso foi a 9). Foi substitudo pelo Red hat Enterprise Linux

    (RHEL), atualmente na verso 6.

    Assim como a maioria dos sistemas operacionais modernos, o Red hat Enterprise

    Linux possui suporte para virtualizao. Este suporte era provido na forma de KVM

    ou do Xen. Com o lanamento do RHEL 6 o suporte ao Xen foi removido, deixando

    somente o KVM como opo inclusa no RHEL. Em adio ao KVM, outras solues

    de terceiros so disponveis para esta plataforma, tais como VMware e Oracle

    VirtualBox (VICTOR et al., 2011).

    O Red hat Enterprise Virtualization for Server, conforme Victor et al. (2011),

    consiste de dois componentes:

  • 58

    a) Red hat Enterprise Virtualization Manager for Servers: Um completo sistema

    de gerenciamento para virtualizao de servidores que prove capacidades

    avanadas para hosts e convidados (figura 19); e

    b) Red hat Enterprise Virtualization Hypervisor: Um hypervisor moderno

    baseado no KVM kernel-based Virtual machine virtualization technology,

    que pode ser implementado tanto como um hypervisor do tipo bare-metal, ou

    como um aplicativo do RHEL 5.4 ou posterior (tipo hosted).

    Conforme Red Hat (2011), o Red hat oferece suporte para dois tipos de mquinas

    virtuais: convidados para-virtualizados e convidados com virtualizao completa. No

    primeiro caso, a performance prxima do servidor fsico, mas somente VMs com o

    Red hat Enterprise Linux verso 4 ou posteriores, tm suporte a este tipo de

    virtualizao. No segundo caso, permite uma gama maior de sistemas operacionais

    sendo executados como convidados.

    Algumas caractersticas do Red hat Enterprise Virtualization for Servers de acordo

    com Red Hat (2011):

    a) compatvel com o formato OVF (Open Virtualization Format). Permite importar

    e exportar VMs do Red hat no formato OVF, com isto, possvel utilizar VMs

    de outras plataformas de virtualizao ou exportar VMs para estes;

    b) ferramentas de converso Fsica-Para-Virtual (P2V) e Virtual-Para-Virtual

    (V2V): Importa convidados Red hat Enterprise Linux de outras plataformas:

    Xen ou VMware;

    c) a habilidade para realizar migrao a quente (live migration) das mquinas

    virtuais, sem interrupo dos servios;

    d) alta-disponibilidade: Mquinas virtuais criticas reiniciam automaticamente em

    um outro host em caso de falha de hardware. possvel priorizar as VMs para

    em caso dos hosts que permanecerem ligados no conseguirem executar

    todas as VMs, as criticas terem prioridade de execuo;

    e) controle de manuteno: Permite hosts serem atualizados e realizarem

    manuteno enquanto mquinas virtuais esto sendo executadas;

    f) agendador do sistema: Permite migrar mquinas virtuais entre os hosts para

    balanceamento de carga;

  • 59

    g) economia de energia: Permite consolidar as VMs em um numero pequeno de

    hosts em horrio de pouca carga e desligar hosts ociosos, economizando com

    isto energia;

    h) realizar backups e restauraes de forma fcil das mquinas virtuais;

    i) a capacidade de executar mquinas para-virtualizadas de 32 bits em

    hardware baseado na arquitetura x86 rodando em modo de 64 bits;

    j) a habilidade de gerenciar facilmente mquinas virtuais e sistemas

    operacionais convidados atravs do uso de ferramentas em modo grfico; e

    k) virtualizao completa prov abstrao completa entre o hardware e o

    sistema operacional convidado. Neste cenrio, o sistema operacional prove

    um ambiente fsico completo.

    6.2 KERNEL-BASED VIRTUAL MACHINE

    O KVM Kernel-based Virtual machine, conforme Victor et al. (2011), uma soluo

    de virtualizao completa (full virtualization) para Linux na plataforma x86, que

    precisa de suporte de instruo de hardware para virtualizao (Intel CT ou AMD-V).

    Usando KVM, possvel executar mltiplas mquinas virtuais rodando imagens no

    modificadas do Linux ou Windows. Cada mquina virtual tem seu hardware privado

    virtualizado: placa de rede, discos, adaptadores grficos, etc (VICTOR et al, 2011).

    O projeto KVM representa a mais recente gerao de virtualizao open-source. O

    KVM est implementado como um mdulo do kernel carregvel que converte o

    kernel do Linux em um hypervisor do tipo bare-metal. O KVM depende de recursos

    de virtualizao do processador, tais como Intel VT-X ou AMD-V habilitados e usa as

    caractersticas para virtualizao da CPU (VICTOR et al, 2011).

    Em uma arquitetura KVM, conforme Victor et al. (2011), uma mquina virtual

    implementada em um processo Linux e, portanto, agendado pelo agendador do

  • 60

    Linux. A emulao dos dispositivos gerenciada por uma verso modificada do

    QEMU que prove BIOS emulada, barramento PCI, USB e um conjunto padro de

    dispositivos tais como IDE, controladoras de disco SCSI e placas de rede.

    Para prover a segurana e isolao para a mquina virtual executando como um

    processo Linux, o modelo de segurana padro do Linux (SELinux) usado. O

    kernel do Linux utiliza o SELinux para adicionar controle de acesso obrigatrio e

    segurana multi-nvel e multi-categoria como tambm prove aplicao de politica

    (VICTOR et al, 2011).

    6.3 ORACLE VM SERVERS

    Segundo Victor et al. (2011), Oracle VM Server uma plataforma de virtualizao

    de baixo-custo e soluo de gerenciamento da Oracle que utiliza o hypervisor

    Xen.Foi desenvolvido para prover a melhor performance para altas cargas de

    Entrada/Sada. O gerenciador desta plataforma de virtualizao uma mquina

    para-virtualizada Oracle Enterprise Linux.

    O Oracle VM prove uma soluo de gerenciamento via browser que permite criar,

    clonar, compartilhar, configurar, iniciar e migrar VMs entre pools de Oracle VM

    servers (VICTOR et al, 2011).

    A plataforma Oracle VM o nico hypervisor certificado pela Oracle para softwares

    dela, como o banco de dados Oracle, Cluster Oracle Real Aplication (RAC), etc

    (VICTOR et al, 2011).

    6.3.1 Caractersticas do Oracle

  • 61

    Segundo Victor et al. (2011), o Oracle VM Server:

    a) permite convidados das plataformas Windows, Linux e Solaris;

    b) rpido desenvolvimento de aplicaes Oracle utilizando modelos de mquinas

    virtuais pr-configuradas;

    c) caractersticas avanadas de alta-disponibilidade tais como gerenciamento de

    alta-disponibilidade das VM, migrao quente segura e balanceamento de

    carga entre os hosts;

    d) gerenciamento de recursos de Entrada/Sada das mquinas virtuais;

    e) converso P2V (Fsico para Virtual) e V2V (Virtual para Virtual);

    f) certificao oficial para produtos Oracle baseados em testes do mundo real;

    g) suporte a nvel empresarial;

    h) gerenciamento de multi-servidores centralizado com Oracle VM ou

    gerenciador Oracle Enterprise; e

    i) suporte a storage compartilhado SAN, iSCSI e NAS.

  • 62

    CONCLUSO

    As solues comerciais de virtualizao de servidores disponveis atendem as

    necessidades das empresas? Analisando as solues comerciais mais difundidas:

    VMware, Citrix Xen e Microsoft Hyper-V, nota-se o esforo de cada uma delas no

    sentido de garantir as seguintes funcionalidades:

    Melhor utilizao dos recursos de hardware: Atravs da consolidao dos

    servidores, a utilizao dos recursos de hardware otimizada, garantindo um

    melhor aproveitamento dos recursos.

    Disponibilidade: Atravs de recursos que estas solues apresentam, o tempo

    de indisponibilidade dos recursos tem se tornado o menor possvel,

    g