tcc_xen virtualização

Upload: franciscokapor

Post on 30-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 TCC_XEN virtualizao

    1/19

    Virtualizao com Xen e VirtualBox

    [email protected], [email protected], [email protected]

    franciscokapor.blogspot.com

    Resumo. Este meta-artigo descreve os conceitos de virtualizao, suas caractersticas e

    duas ferramentas utilizada para realizar a virtualizao Xen e VirtualBox.

    Xen, sistema opensource de virtualizao que emprega tcnicas de paravirtualizao evirtualizao completa. Surgiu como uma pesquisa liderada por Ian Pratt na Unisersidadede Cambridge, posteriormente ele fundou a empresa XenSource Inc. que alm de manter odesenvolvimento do projeto opensource fornecia solues comerciais envolvendo o XenVirtualBox um software de virtualizao desenvolvido pela Oracle que, como o VMwareWorkstation, visa criar ambientes para instalao de sistemas distintos. Ele permite ainstalao e utilizao de um sistema operativo dentro de outro, assim como seusrespectivos softwares, como dois ou mais computadores independentes, mascompartilhando fisicamente o mesmo hardware

    mailto:[email protected]:[email protected]://pt.wikipedia.org/wiki/Softwarehttp://pt.wikipedia.org/wiki/M%C3%A1quina_virtualhttp://pt.wikipedia.org/wiki/Oracle_Corporationhttp://pt.wikipedia.org/wiki/VMwarehttp://pt.wikipedia.org/wiki/VMwarehttp://pt.wikipedia.org/wiki/Sistema_operativomailto:[email protected]:[email protected]://pt.wikipedia.org/wiki/Softwarehttp://pt.wikipedia.org/wiki/M%C3%A1quina_virtualhttp://pt.wikipedia.org/wiki/Oracle_Corporationhttp://pt.wikipedia.org/wiki/VMwarehttp://pt.wikipedia.org/wiki/VMwarehttp://pt.wikipedia.org/wiki/Sistema_operativo
  • 8/9/2019 TCC_XEN virtualizao

    2/19

    1. Conceitos de Virtualizao

    Em uma definio simplificada, a virtualizao um processo que, atravs docompartilhamento de hardware, permite a execuo de inmeros sistemas operacionais emum nico equipamento. Cada mquina virtual criada neste processo um ambienteoperacional completo, seguro e totalmente isolado como se fosse um computadorindependente.Com a virtualizao, um nico servidor pode armazenar diversos sistemasoperacionais em uso. Como exemplo, um data center pode operar com muito mais agilidadee com um custo mais baixoAmpliando esse conceito, importante aprofundar o entendimento de como os ambientescomputacionais so independentes um dos outros. Alm do hardware do servidor quehospeda os sistemas virtualizados, esses ambientes virtuais no tm nada mais em comum.No existe interdependncia entre os sistemas virtuais nem regras que ditem qual sistemavoc pode usar em um ambiente virtual, apenas deve haver compatibilidade do software demquinas virtuais com o hardware. Normalmente, se voc pode instalar um sistemaoperacional em um hardware "real", poder instal-lo em uma mquina virtual.Seu servidor pode hospedar vrios sistemas operacionais, sejam eles iguais, similares oucompletamente diferentes.Os sistemas operacionais virtualizados so independentes entre si. importante ficar bem claro que existem dois tipos bsicos de virtualizao de mquinas:

    2. Virtualizao total (full virtualization)Na virtualizao total, h uma virtualizao dos elementos bsicos de hardware e desoftware (processador, memria, kernel etc).

    3. Paravirtualizao (paravirtualization).J na paravirtualizao, apenas alguns elementos so virtualizados.

    4. O que um hypervisor?

    Hypervisor uma plataforma de virtualizao que permite executar mltiplos sistemasoperacionais em um mesmo host e ao mesmo tempo.Hypervisors so comumente classificados em dois tipos:4.1 Tipo 1:Nativo nesse tipo o hypervisor executado diretamente dentro da plataforma de hardware(como um controle de programa do sistema operacional). Portanto um sistema operacionalvisitante roda em um nvel superior ao do hardware (Segundo nvel).

  • 8/9/2019 TCC_XEN virtualizao

    3/19

    O Hypervisor clssico tipo 1 foi o CP/CMS, desenvolvido pela IBM nos anos 60, oantecessor da prpria IBM era o z/VM. Exemplos mais recentes so, Xen, Citrix XenServer, Oracle VM (Virtualbox), Vmwares ESX Server, L4 microkernels, VirtualLogixVLX e outros menos conhecidos.Uma variao do tipo 1 embarcar o hypervisor dentro do firmware da

    plataforma, conforme feito no caso da Hitachis Virtage Hypervisor KVM, com umKernel Linux completo dentro do hypervisor.4.2 Tipo 2:

    Hosted hypervisor um software que roda dentro do ambiente do sistema operacional. Umsistema operacional visitante, roda portanto no terceironivel acima do hardware. Exemplos incluem Vmware Server, Vmware Workstation,Vmware Fusion, o open source QEMU, Microsofts Virtual PC e produtos doMicrosoft Virtual Server e Virtual Box.O termo hypervisor call, ou hypercall, faz referncia a interface de paravirtualizao,atravs da qual um sistema operacional visitante poderia acessar servios diretamente deum programa de controle de mais alto nvel, anlogo a fazer uma supervisor call ao sistemaoperacional de mesmo nvel. O termo supervisor se refere ao kernel do sistema operacionalque nos mainframes IBM roda com o estado de supervisor.Hypervisor o nome usual para o VMM, Virtual Machine Monitor. O VMM o pedao desoftware que responsvel pela intermediao das requisies de hardware das mquinasvirtuais e o hardware propriamente dito.

  • 8/9/2019 TCC_XEN virtualizao

    4/19

    5. Programas utilizados para realizar a Virtualizao:

    5.1 Xen

    O hipervisor do Xen se originou no Laboratrio de Computao da Universidade de

    Cambridge como parte do projeto XenoServer em andamento em 2001. Esse projeto tinhacomo objetivo criar uma infra-estrutura pblica para computao distribuda por amplasreas. A inteno do projeto era criar um sistema onde plataformas de execuo doXenoServer estariam espalhadas pelo planeta para uso por qualquer membro no pblico-alvo. Quando a infra-estrutura do XenoServer estiver completa, seus usurios enviaro umcdigo para ser executado e sero cobrados posteriormente pelos recursos utilizadosdurante a execuo. Garantir que cada um dos ns fsicos seja usado em sua mximacapacidade possvel exige um hipervisor de alta performance capaz de hospedar mltiplossistemas operacionais comuns num nico servidor baseado em x86. Para cumprir tal papel,o Xen foi criado para ser o ncleo de cada n do XenoServer. Ele permite estabelecer aresponsabilidade pelo consumo de recursos, auditoria e, o mais importante, o

    gerenciamento de recursos necessrio para a infra-estrutura do XenoServer. digno de nota que, durante o desenvolvimento do Xen 1.x, a diviso de Pesquisas

    Microsoft, em colaborao com a Universidade de Cambridge, desenvolveu parte doWindows XP para o Xen. Essa adaptao se tornou possvel em parte por causa doPrograma de Licenciamento Acadmico da Microsoft. Infelizmente, devido aos termosdessa licena, a adaptao nunca foi publicada, embora tenha sido mencionada no artigooriginal na SOSP sobre o Xen.

    Uma empresa em separado, a XenSource, foi fundada em 2004 para promover a amplaadoo dos hipervisores de cdigo aberto Xen pelo mundo empresarial.

    Durante o final do ano de 2004, o Xen 2.0 entrou em cena. A nova verso conseguiugrande flexibilidade na configurao de dispositivos virtuais de E/S dos sistemasoperacionais hspedes. Nesse ponto do desenvolvimento do Xen, os usurios podiamconfigurar regras de firewall arbitrrias, roteamento e pontes de interfaces hspedes virtuaisde rede. Suporte adicional foi acrescentado para volumes LVM de cpia-durante-gravaobem como para arquivos de retorno (loopback) para manter imagens de disco de sistemasoperacionais hspedes. O Xen 2.0 inclui suporte para multiprocessamento simtrico,embora imagens de hspedes continuem com processadores nicos. A melhoria maisimpressionante do ponto de vista da demonstrao foi a adio da migrao ativa (livemigration), que permite que uma instncia em execuo de um sistema operacional sejamovida entre hardwares conectados via rede sem interrupo perceptvel no servio. O Xenintroduziu uma funo de migrao de hspedes muito solicitada que impressionou muitoshackers casuais interessados em open source.

    Durante o ano de 2005, uma comunidade cada vez maior de grupos interessados seformava em torno do Xen. Essa tendncia era notvel, tanto no mundo acadmico quantono empresarial, e no incio de 2006 o Xen tinha conseguido uma participao significativano total das virtualizaes em uso. Grandes distribuidores de Linux ficaram cada vez maisinteressados em se aproveitar da tecnologia do Xen para uso de seus clientes, e o suporte ao

  • 8/9/2019 TCC_XEN virtualizao

    5/19

    Xen se tornou padro para muitos deles. O hipervisor do Xen 2.0 tambm suportava maishspedes do que antes, incluindo o Linux, o Open-Solaris, Plan 9 e muitas variantes doBSD.

    Em 2006, o Xen 3.0 introduziu uma camada de abstrao para tecnologias de

    virtualizao de hardware oferecidas pelas implementaes do Vanderpool da Intel e doPacifica da AMD. Isso permitiu que hspedes sem alterao (chamados de MquinasVirtuais de Hardware, hspedes HVM, Hardware Virtual Machines) alm dos hspedesparavirtualizados tradicionais. O Xen 3.0 tambm incluiu suporte para sistemas hspedesde multiprocessamento simtrico (SMP, Symmetric MultiProcessing) incluindo CPUsvirtuais de conexo dinmica, suporte para grandes quantidades de memrias, para mdulosde plataforma segura e uma verso para a arquitetura IA64. Verses seguintes do Xenincluam um novo agendador para CPUs com suporte para pesos, limites e balanceamentode carga SMP automtica, bem como ferramentas de medida (Xen-oprofile), que permitiriaaos desenvolvedores usurios de Xen otimizar cdigo para obter ainda melhor desempenhono futuro. Outras caractersticas notveis incluam aumento na performance de rede graas

    a reduo de carga de segmentao de pacotes, suporte melhorado para a IA64 e a primeiraverso para a arquitetura de processadores Power.

    Em 2007, a Citrix comprou a XenSource e esta se tornou o Grupo do Produto XenServerCitrix. Tambm em 2007, o Xen 3.1 foi lanado. Ele dava suporte XenAPI, uma interfacede programao para comandos Xen que permitia a integrao de ferramentas degerenciamento de terceiros, incluindo as baseadas no Modelo Comum de Informaes daFora Tarefa de Gerenciamento Distribudo (DMTF CIM, Distributed Management TaskForces Common Information Model) que est se tornando um padro para gerenciamentode agrupamentos de mquinas heterogneas. Ela tambm possui capacidades desalvar/restaurar/migrar e controle dinmico de memria para hspedes HVM.

  • 8/9/2019 TCC_XEN virtualizao

    6/19

    ARQUIVO DE CONFIGURAO PARA INSTALAO DO XEN

    Tal arquivo de configurao foi usado para instalao CentOS 5.2 no Xen.

    Primeiramente foram criado os HDs virtuais, com o comando:# dd if=/dev/zero of=/var/xen/Domain1.img bsize=1GB count=8

    # dd if=/dev/zero of=/var/xen/Domain1swap.img bsize=1024

    count=512

    Depois, foi elaborado um arquivo de configurao para efetuar a

    instalao do CentOS como DomainU paravirtualizado do Xen.

    kernel = "/mnt/cdrom/xen/vmlinuz"

    ramdisk = "/mnt/cdrom/xen/initrd.img"

    memory = "1024"

    name = "Domain1"

  • 8/9/2019 TCC_XEN virtualizao

    7/19

    disk = ['file:/var/xen/Domain1.img,xvda,w',

    'file:/var/xen/Domain1swap.img,xvdb,w']

    root = '/dev/xvda1 ro'

    vif = [ 'bridge=xenbr0' ]

    vcpus = 2

    vfb = [ 'type=vnc, vncunused=1' ]

    extra = 'video=xenfb'

    Ento, esse arquivo foi salvo com o nome de Domain1-inst.conf. Aps

    isso, ele foi inicializado com o comando:# xm create c Domain1-inst.conf

    ARQUIVO DE CONFIGURAO APS A INSTALAO COM XEN

    Aps instalao do sistema operacional, foi criado um novo arquivo de

    configurao para o host para que este fosse inicializado.

    memory = "1024"

    bootloader = "/usr/bin/pygrub"

    name = "Domain1"

    disk = ['file:/var/xen/Domain1.img,xvda,w',

    'file:/var/xen/Domain1swap.img,xvdb,w']

    root = '/dev/xvda1 ro'vif = [ 'bridge=xenbr0' ]

    vcpus = 1

    vfb = [ 'type=vnc, vncunused=1' ]

  • 8/9/2019 TCC_XEN virtualizao

    8/19

    extra = 'video=xenfb'

    Ento, esse arquivo foi salvo com o nome de Domain1-post-inst.conf.

    Aps isso, ele foi startado com o comando:

    # xm create c Domain1-post-inst.conf

    5.2 VirtualBox

    VirtualBox um software de virtualizao desenvolvido pela Oracle que, visa criarambientes para instalao de sistemas distintos. Ele permite a instalao e utilizao de umsistema operacional dentro de outro, assim como seus respectivos softwares, como dois oumais computadores independentes, mas compartilhando fisicamente o mesmo hardware.

    Criado pela empresa Innotek, inicialmente oferecia uma licena proprietria, existia umaverso do produto para uso pessoal ou de avaliao sem custo. Em Janeiro de 2007 lanado a verso VirtualBox OSE (Open Source Edition) com a licena GPL (GNUGeneral Public License), verso 2. Em Fevereiro de 2008 a empresa Innoteck adquiridapela Sun Microsystems. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems etodos o seu produtos, incluindo o VirtualBox.

    O VirtualBox tem um desenho extremamente modular com interfaces deprogramaointerna bem definidas e um desenho cliente/servidor. Isso torna fcil o controle de vriasinterfaces de uma s vez. Por exemplo: voc pode iniciar uma mquina virtual em uma

    mquina tpica virtual de interface grfica e, em seguida, controlar essa mquina a partir dauma linha de comando, ou possivelmente remotamente.O VirtualBox tambm vem com um kit completo desenvolvimento de software: emboraseja de cdigo aberto, voc no tem que cortar a fonte de escrever uma nova interface paraVirtualBox.As definies de configurao de mquinas virtuais so armazenados em XMLe so totalmente independentes das mquinas locais. Por isso, as definies podem serfacilmente transferidos para outros computadores.

    O VirtualBox tem um software especial que pode ser instalado dentro das mquinas virtuaisWindows e Linux para melhorar o desempenho e fazer integrao muito mais perfeita.Entre os recursos fornecidos por essas adies clientes so integrao do ponteiro do mouseo e solues arbitrrias de tela (por exemplo, o redimensionamento da janela do cliente).Talcomo muitos outras solues de virtualizao, para facilitar a troca de dados entre oshospedeiros e convidados, o VirtualBox permite a declarao dos diretrios de certoshospedeiros como "pastas compartilhadas", que pode ser acessadas de dentro de mquinasvirtuais.

    http://pt.wikipedia.org/wiki/Softwarehttp://pt.wikipedia.org/wiki/M%C3%A1quina_virtualhttp://pt.wikipedia.org/wiki/Oracle_Corporationhttp://pt.wikipedia.org/wiki/Sistema_operativohttp://pt.wikipedia.org/wiki/GNU_General_Public_Licensehttp://pt.wikipedia.org/wiki/GNU_General_Public_Licensehttp://pt.wikipedia.org/wiki/Sun_Microsystemshttp://pt.wikipedia.org/wiki/Oraclehttp://pt.wikipedia.org/wiki/Sun_Microsystemshttp://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3ohttp://pt.wikipedia.org/wiki/Cliente/servidorhttp://pt.wikipedia.org/wiki/Interface_gr%C3%A1ficahttp://pt.wikipedia.org/wiki/Linha_de_comandohttp://pt.wikipedia.org/w/index.php?title=Acesso_remoto&action=edit&redlink=1http://pt.wikipedia.org/wiki/Desenvolvimento_de_softwarehttp://pt.wikipedia.org/wiki/C%C3%B3digo_abertohttp://pt.wikipedia.org/wiki/XMLhttp://pt.wikipedia.org/wiki/Windowshttp://pt.wikipedia.org/wiki/Linuxhttp://pt.wikipedia.org/wiki/Mousehttp://pt.wikipedia.org/wiki/Diret%C3%B3rio_(inform%C3%A1tica)http://pt.wikipedia.org/wiki/Softwarehttp://pt.wikipedia.org/wiki/M%C3%A1quina_virtualhttp://pt.wikipedia.org/wiki/Oracle_Corporationhttp://pt.wikipedia.org/wiki/Sistema_operativohttp://pt.wikipedia.org/wiki/GNU_General_Public_Licensehttp://pt.wikipedia.org/wiki/GNU_General_Public_Licensehttp://pt.wikipedia.org/wiki/Sun_Microsystemshttp://pt.wikipedia.org/wiki/Oraclehttp://pt.wikipedia.org/wiki/Sun_Microsystemshttp://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3ohttp://pt.wikipedia.org/wiki/Cliente/servidorhttp://pt.wikipedia.org/wiki/Interface_gr%C3%A1ficahttp://pt.wikipedia.org/wiki/Linha_de_comandohttp://pt.wikipedia.org/w/index.php?title=Acesso_remoto&action=edit&redlink=1http://pt.wikipedia.org/wiki/Desenvolvimento_de_softwarehttp://pt.wikipedia.org/wiki/C%C3%B3digo_abertohttp://pt.wikipedia.org/wiki/XMLhttp://pt.wikipedia.org/wiki/Windowshttp://pt.wikipedia.org/wiki/Linuxhttp://pt.wikipedia.org/wiki/Mousehttp://pt.wikipedia.org/wiki/Diret%C3%B3rio_(inform%C3%A1tica)
  • 8/9/2019 TCC_XEN virtualizao

    9/19

    O VirtualBox, assim como os conhecidos VMware e Microsoft Virtual PC, um softwarede virtualizao, muito til quando, por exemplo, precisamos virtualizar um sistema para

    testar softwares sem afetar a mquina fsica.

    Windows Vista virtualizado dentro de um Windows 7

    http://www.guiadopc.com.br/wp-content/uploads/2010/02/virtualbox.png
  • 8/9/2019 TCC_XEN virtualizao

    10/19

    Se voc quisesse testar uma distribuio Linux, teria que queimar um CD, bootar o CD etestar a distribuio, muitas vezes com uma performance abaixo do aceitvel. Por outrolado, numa mquina virtual, voc rodaria o CD diretamente da imagem, pelo HD, quepossui taxas de transferncia maiores e tempos de acesso menores.

    O VirtualBox um software da Oracle, pequeno, se comparado aos outros, que possui 70MB (na verso para Windows), e tem verses para Windows, Linux e MacOS X. Eles podem ser encontrados na pgina de downloads do programa, tanto na verso normalquanto na verso OSE (Open Source Edition), sem drivers proprietrios. A instalao,principalmente em sistemas Windows, simples, logo, ela no ser abordada aqui .

    VirtualBox, no Mandriva

    Um recurso bem legal das novas verses do VirtualBox o modo seamless, que integra oambiente do sistema guest com o sistema host. Apesar de possuir algumas falhas, tilquando voc utiliza frequentemente softwares de duas plataformas diferentes.

    http://www.virtualbox.org/wiki/Downloadshttp://www.guiadopc.com.br/wp-content/uploads/2007/12/virtualbox11.pnghttp://www.virtualbox.org/wiki/Downloads
  • 8/9/2019 TCC_XEN virtualizao

    11/19

    Modo Seamless

    Ao abrir pela primeira vez o VirtualBox, possvel notar uma interface intuitiva, emportugus do Brasil. Para criar uma nova mquina virtual, clicaremos em Novo. A janela denova mquina virtual se abrir. Basta clicar em Prximo, digitar o nome da mquinavirtual, selecionar o tipo do sistema operacional que ser virtualizado (DOS, Windows 95,Windows Vista, Windows XP, Windows 7, Linux 2.6, FreeBSD, OS/2, etc.).

    http://www.guiadopc.com.br/wp-content/uploads/2010/02/seamless.png
  • 8/9/2019 TCC_XEN virtualizao

    12/19

    Criando uma mquina virtual

    O prximo passo selecionar a quantidade de memria que ser alocada para a mquinavirtual. Esse passo muito importante, pois, caso seja alocada pouca memria, o sistemaser incapaz de ser iniciado ou rodar com lentido.

    Depois, necessrio criar um disco virtual que ser usado pelo sistema virtualizado. Assim,ele no afetar o sistema host. Para tal, na respectiva janela, clique em Novo, e um

    assistente de criao de disco rgido virtual ser aberto. Voc pode selecionar um discoexpansvel, que se expande a medida que o sistema virtualizado cria mais arquivos, ou umaimagem de tamanho fixo, que ocupa todo o espao que voc selecionar no seu HD.Teoricamente, isso aumenta a performance do sistema virtualizado, mas, em contrapartida,voc ocupar um espao desnecessrio no seu HD fsico.

    http://www.guiadopc.com.br/wp-content/uploads/2007/12/virtualbox31.png
  • 8/9/2019 TCC_XEN virtualizao

    13/19

    Disco para armazenar o sistema operacional virtual

    Aps finalizar o assistente, sua mquina virtual estar criada. Voc pode configurar opesavanadas da mquina virtual clicando nela e indo em Configuraes, no menu. Na janelaque se abre, possvel configurar a quantidade de memria de vdeo, a ordem de boot (CD,HD, Disquete), montar uma imagem ISO como drive de CD, configurar o udio, rede, entreoutros.

    Selecionando uma fonte para o leitor de CDs/DVDs

    Aps configurar a mquina virtual, finalmente a melhor parte: ligar a mquina virtual. Parafazer isso, clique em Iniciar, no VirtualBox e divirta-se!

    http://www.guiadopc.com.br/wp-content/uploads/2007/12/virtualbox71.pnghttp://www.guiadopc.com.br/wp-content/uploads/2007/12/virtualbox51.png
  • 8/9/2019 TCC_XEN virtualizao

    14/19

    6. Uso da virtualizao6.1. Consolidao de Servidores

    Um pensamento comum entre administradores de rede de ter um servidor por servio.Esta medida garante uma maior segurana e maior disponibilidade dos servios na rede, jque a

    falha de um servidor s afeta um servio e a vulnerabilidade de um servio s expe umservidor.No entanto, a taxa de utilizao dos recursos de hardware de um servidor extremamentebaixa, oque indica uma subutilizao de seus recursos.A consolidao de servidores consiste em usar uma mquina fsica com diversas mquinasvirtuais, sendo uma para cada servidor. Essa nova abordagem garante o isolamento dosservidores eapresenta as vantagens de aumentar a taxa de utilizao de servidores, reduzir os custosoperacionais, criar ambientes mais flexveis e reduzir custos de administrao de TI. Oponto mais

    importante da consolidao de servidores o melhor aproveitamento dos recursos, j que seexistemn servidores com uma taxa de utilizaox, tal quex < 100%, menos custoso e maisvantajosoconsolidar os n servidores em apenas um, com taxa de utilizao de n.x, desde que n.x