2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.      Virtualização: Um...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.        A ideia da virt...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.        O software que ...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.4. TestesCom o objetivo...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.                       ...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.                      F...
2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.[4] Veras, Manoel; Cari...
Upcoming SlideShare
Loading in...5
×

Virtualização: Um comparativo entre Xen e VMware

7,638

Published on

Artigo publicado nos anais do 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,638
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
213
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Virtualização: Um comparativo entre Xen e VMware

  1. 1. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil. Virtualização: Um comparativo entre Xen e VMware Diego Grosmann1, Fábio Abrantes Diniz1, Thiago Reis da Silva1 1 Mestrado em Ciência da Computação Universidade do Estado do Rio Grande do Norte - UERN Universidade Federal Rural do Semi-Árido - UFERSA {diegogrosmann, fabio.abrantes.diniz, trsilva.si}@gmail.com Abstract. The constant pursuit of innovation by firms became each day new technologies are created. One such technology is virtualization, which allows to install multiple operating systems, independent of each other in a single physical machine. This paper aims at presenting basic concepts about virtual- ization and how it works. It will show the existing types of virtualization, as well as comparative performance between the two main solutions available in the free market as the: VMware ESXi and XenServer. Resumo. A constante busca das empresas por inovações faz com que a cada dia novas tecnologias sejam criadas. Uma dessas tecnologias é a virtualiza- ção, a qual possibilita instalar vários sistemas operacionais, independentes entre si, em uma única máquina física. O presente artigo tem por objetivo apresentar os conceitos básicos sobre o que é a virtualização e como ela fun- ciona. Serão apresentados os tipos de virtualização existentes, assim como um comparativo de desempenho entre as duas principais soluções gratuitas dis- poníveis no mercado: VMware ESXi e XenServer.1. IntroduçãoCom o constante aumento da demanda por informações rápidas e seguras, provenientesde sistemas informatizados, tem-se a necessidade de se investir cada vez mais em servi-dores. Porém, alguns obstáculos são identificados desde a etapa de instalação até a utili-zação dos servidores pelas empresas. Entre as várias dificuldades destacam-se os altoscustos relacionados às complexidades das tarefas de customização e as dificuldades deoperação. Para tentar diminuir o custo desse investimento surgiu a virtualização. Para a empresa VMware [1], “virtualização é a possibilidade de se executar vá-rias máquinas virtuais com sistemas operacionais independentes em cima de uma únicamáquina física compartilhando os hardwares entre elas”. Logo, virtualização é uma for-ma de esconder as características físicas de uma plataforma computacional dos utiliza-dores, utilizando hardwares virtuais para emular um ou mais ambientes isolados. Fazen-do com que seja possível instalar vários Sistemas Operacionais (SO) independentes en-tre si em uma única máquina física. Trazendo um melhor aproveitamento do hardwarefísico, pois, elimina a necessidade de termos um computador físico para cada SO ouserviço. 175
  2. 2. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil. A ideia da virtualização dos servidores não é nova, ela começou na década de 60como é retratado em [2]. Na década de 70 era comum que cada fabricante de computa-dor tivesse o seu próprio SO o qual causava grandes problemas de compatibilidade comsistemas legados1. Na época o conceito de virtualização foi explorado a risca, com acriação de uma camada de software que ficava entre o SO e a aplicação. A Criação doshardwares virtuais fazia a ponte entre os sistemas legados e o hardware físico [3]. No entanto, com o aumento da capacidade computacional surge outro problema.Os administradores de rede, pensando em melhorar a disponibilidade de servidores, ten-dem a colocar um serviço por SO (técnica conhecida como consolidação de servidores),o que acarreta um desperdício de recursos, já que dificilmente um serviço irá utilizartoda a capacidade de hardware disponibilizada. Frente a esse novo problema a virtuali-zação volta com força total. A perspectiva é utilizar, ao máximo, cada recurso de hardware existente. Comuma melhor utilização dos hardwares o gasto com eles diminui, aumentando o custobenefício dos mesmos [3]. Tendo visto a importância que a virtualização tem atualmen-te, algumas empresas têm desenvolvido produtos para suprir as necessidades do merca-do. Segundo [4] os três principais fornecedores de software de virtualização que existemhoje no mercado são VMware (ESXServer, VMware ESXi, e VMware vSphere), Mi-crosoft (Hyper-V) e Citrix (Xen Server). Deste modo, o artigo está estruturado da seguinte forma: na seção 2 apresentam-se as técnicas de virtualização, a seção seguinte aborda os tipos de virtualização. Naseção 4 são apresentados os testes e na subseção 4.1 são apresentados os resultados, epor fim a seção 5 traz as conclusões.2. VirtualizaçãoA virtualização é um recurso utilizado para esconder ou mascarar detalhes da infraestru-tura de hardware ou de software. Dessa forma o que é executado sobre a plataforma vir-tualizada passa a dar mais foco na superestrutura, ou seja, na lógica do negócio. Nestaperspectiva [5], identificou três níveis de virtualização:  Nível de hardware em que a camada de virtualização é colocada diretamente so- bre a máquina física e são apresentadas as camadas superiores como um hardwa- re abstrato ou similar;  Nível de sistema operacional permite a criação de partições lógicas em uma pla- taforma de modo que cada partição seja vista como uma máquina isolada, mas que compartilha os mesmos recursos de sistema;  Nível de linguagem de programação, em que a virtualização é um programa de aplicação do SO. O objetivo é definir uma máquina abstrata sobre a qual é exe- cutada uma aplicação desenvolvida em uma linguagem de programação de alto nível.1 Sistemas legados é o termo utilizado em referência aos sistemas computacionais de uma organização que,apesar de serem bastante antigos, fornecem serviços essenciais. 176
  3. 3. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil. O software que gerencia a distribuição de recursos de hardware para cada SOvirtualizado, criando um ambiente virtual isolado para cada um deles, é chamado deMonitor de Máquina Virtual (MMV), também chamado hypervisor. Um ponto impor-tante a se destacar é que o MMV trabalha diretamente sobre o hardware isso quer dizerque o MMV é o primeiro processo a ser executado. Nesse sentido, primeiro executamoso MMV e este, por sua vez, coloca as máquinas virtuais em execução.3. Tipos de VirtualizaçãoCom a Evolução dos computadores, a arquitetura x86 se tornou a mais utilizada. Elaprovê quatro modos de operação para o processador os quais são chamados de anéis deproteção (rings) ou CPL (Current privilege mode) e que são identificados de zero a três.Os SOs convencionais, tais como Windows e Linux, utilizam apenas dois desses modos.Usam o modo zero que tem o maior privilégio para executar as informações privilegia-das pelo sistema e o modo três que é responsável por executar as instruções que estive-rem em modo usuário [3]. Devido às arquiteturas citadas não conterem instruções específicas para a virtua-lização, desenvolveu-se duas técnicas de virtualização: a virtualização total e a paravir-tualização. Na virtualização total é feita uma simulação completa dos hardwares subja-centes, resultando em um sistema capaz de executar qualquer software que execute dire-tamente sobre o hardware [6]. Com essa técnica temos o problema do SO virtualizado,tentar acessar o processador no modo privilegiado. Para resolver esse problema, a MMVintercepta as instruções da máquina virtual (MV), em seguida as analisa e depois as exe-cuta. A grande vantagem desse sistema é que o SO virtualizado não precisa ser modifi-cado para ser executado pelo MMV [3]. Porém, há alguns problemas neste tipo de virtualização. Primeiro, por causa dagrande diversidade de dispositivos que compõem um computador, é inviável implemen-tar uma versão virtual para todos os dispositivos. A solução foi utilizar versões genéri-cas para eles, o que acarreta na perda de algumas características dos dispositivos reaisacabando por subutilizá-los. Outro problema é a perda de desempenho ocasionada pelostestes para verificação da sensibilidade das instruções da MV [3]. Já a paravirtualização, a princípio, parece uma virtualização de hardware, porém,propõe-se que o SO saiba que está sendo executado na camada virtual e interaja com amesma. Isso implica na alteração do SO virtualizado, mas garante uma grande coopera-ção entre as duas camadas. O que gera um grande ganho de desempenho. Outro impor-tante ganho é que a paravirtualização não simula um novo hardware para a MV. Atravésde modificações no núcleo do sistema, possibilita que as chamadas de sistemas que serelacionem ao hardware sejam controladas pelo MMV. O que causa na MV a sensaçãode estar acessando diretamente o hardware, logo não necessitando mais o uso de driversgenéricos, permitindo, assim, o uso da capacidade total do hardware [7]. Um inconveni-ente da paravirtualização é a incapacidade de se alterar o SO de sistemas de código fe-chado, como é o caso dos SOs da Microsoft. Embora a paravirtualização apresente um ganho de desempenho expressivo fren-te à virtualização total, essa disparidade tem sido superada pela presença de instruçõesde virtualização nos processadores da Intel-VT e da AMD-V. 177
  4. 4. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.4. TestesCom o objetivo de realizar uma análise mais minuciosa das soluções de virtualizaçãogratuitas disponíveis no mercado (VMware ESXi e XenServer da Citrix) foi montadoum ambiente de testes de desempenho. Os sistemas foram instalados em dois servidoresidênticos, e através de softwares para medição de desempenho, foram analisados o de-sempenho do processador, da memória e do disco rígido. Para os testes foram utilizadosos seguintes equipamentos e softwares:  VMware ESXi 4.1 e XenServer 5.6;  Duas máquinas de servidor da marca HP modelo DL380 G7, cujas configurações são: dois processadores Xeon Quad-Core E5630 2.53 GHz, memória RAM 16 GB DDR3 1333 MHz, 2 HDs SAS 146 GB 15.000 RPM, placa controladora ar- ray SAS com cache de 256 MB, 6 placas de rede Gigabit Ethernet;  Inquisitor 3.1: um sistema para testes de hardware, baseado em Debian, sob li- cença GPLv3. É um sistema de certificação, adequado tanto para empresas e uso doméstico, personalizável, modular e disponível em formato Live CD/DVD. Esse sistema disponibiliza vários softwares que analisam e testam hardware. Tanto o sistema VMware ESXi como o XenServer da Citrix fazem virtualizaçãoem nível de SO. Ambos utilizaram a virtualização completa e foram beneficiados pelosuporte a instruções de virtualização presentes no processador Xeon Quad-Core E5630.4.1. ResultadosPara o teste utilizou-se a versão completa do pacote de testes do programa Inquisitor oqual foi executada 20 vezes. Avaliou-se as médias dos resultados para poder identificarqual teve o melhor desempenho, e avaliou-se o desvio padrão2. Com o desvio padrãoidentificou-se o quanto o sistema é estável. Desvios muito altos significam pouca estabi-lidade. Para avaliar o desempenho do processador, o teste utilizado foi o Whetstone. OWhetstone é um programa, com poucas linhas de código, composto de vários módulos.Cada módulo utiliza um tipo diferente de variável, e explora diferentes características dalinguagem de programação sendo executadas várias vezes através de loops "FOR". Osresultados são medidos em termos de MWIPS (Mega Whetstone Instructions per Second- Milhões de Instruções Whetstone por Segundo). As vantagens deste benchmark são oseu tamanho reduzido e simplicidade no código, além de explorar bastante as operaçõesem ponto-flutuante. Portanto, serve como comparativo para pequenas aplicações cientí-ficas em computadores de pequeno e médio porte. É apresentado na Figura 1, os resul-tados do teste Whetstone.2 Desvio padrão é a média dos valores absolutos da diferença da média de um conjunto de valores e umvalor específico 178
  5. 5. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil. Figura 1: Gráficos dos resultados do teste Whetstone Em média o VMware alcançou um desempenho 1,69% maior que o Xen nesteteste. Esta diferença é pequena, mas se pensarmos que cada SO cliente que estiver sendoexecutado sobre a MV terá uma perda de 1,69%, a perda acumulada de 5 SOs será de8,45% o que já é um valor bastante alto. Também observamos que o VMware apresen-tou um desvio padrão 6,58% menor que o do Xen o que indica que o VMware tem umaestabilidade maior no processamento. Para avaliarmos a memória, foram testadas asoperações de cópia, comparação, adição e cópia/comparação e adição juntas. Os resulta-dos são apresentados na Figura 2. Figura 2: Gráfico dos resultados do teste de memória O Xen obteve um desempenho 12,26% maior que o VMware na operação decópia dos dados da memória e 0,17% maior na operação de comparação de dados. Já naoperação de adição de dados na memória o VMware teve uma taxa de bits 5,02% maiorque a do Xen e na operação em bloco (adicionar, copiar e comparar) o VMware foi11,86% mais eficiente. Assim o Xen tem um desempenho melhor em funções que exi-gem um acesso rápido a dados da memória, e o VMware se destaca em operações queexigem muita escrita e interação com a memória. Contudo, o Xen apresentou um desviopadrão muito elevado, em média 57,33% maior que o VMware o que mostra que o Xenapesar de ser melhor na leitura de dados da memória é muito instável. 179
  6. 6. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil. Figura 3: Gráfico dos resultados do teste de disco No comparativo de acesso ao disco rígido mostrado na Figura 3, o VMwareapresentou um desempenho muito superior ao do Xen no acesso ao disco, já no acesso amemória cache do disco o Xen apresentou em desempenho 0,48% maior do que oVMware. Entretanto, o VMware apresentou um desvio padrão muito superior ao do Xenisso mostra uma grande instabilidade no VMware.ConclusãoA virtualização é uma saída para as empresas que precisam ter vários SO sendo execu-tados em paralelo e não tem recurso para a compra de vários servidores. Existem váriasempresas que disponibilizam SO para a virtualização de servidores, cada uma com ca-racterísticas específicas, mas seguindo um mesmo padrão. Os testes feitos mostraram que no quesito processamento, o VMware mostrou-sesuperior ao Xen. O Xen por sua vez mostrou superioridade no acesso ao disco rígido, eambos tiveram uma instabilidade no critério memória. Portanto, se a intenção for utili-zar aplicações que requeiram muito do processador, seria conveniente utilizar o VMwa-re. Porém, já se a intenção for utilizar aplicações que necessitem muita leitura e escritaem disco a melhor opção é o Xen. No entanto, ainda devemos levar em consideração outros fatores que não foramabordados neste artigo, como a disponibilidade de ferramentas de apoio. Algumas em-presas disponibilizam ferramentas que podem auxiliar muito no gerenciamento dos re-cursos dos servidores.Referência[1] VMware. Noções básicas da virtualização. Disponível em: http://www.vmware. com/br/virtualization/what-is-virtualization.html. Acessado em: 09 out 2010.[2] Goldberg, Robert. Survey of Virtual Machine research. IEEE Computer Magazi- ne, Vol 7: 1974.[3] Carissimi, Alexandre. Virtualização: da teoria a soluções. In: Simpósio brasileiro de redes de computadores e sistemas distribuídos, 2008, Rio de Janeiro. Livro texto dos minicursos. Rio de Janeiro: SBC, 2008. p. 174-199. 180
  7. 7. 2º Workshop Técnico-Científico de Computação (WTCC), 16 e 17 de Junho de 2011, Mossoró, RN, Brasil.[4] Veras, Manoel; Carissimi, Alexandre; Kassick, Rodrigo; Souza, Sergio. Virtualiza- ção de Servidores. Rio de Janeiro: RNP. 2010.[5] Carissimi, Alexandre. Virtualização: Princípios básicos e aplicações. In: Ricardo Vargas Dorneles; Benhur Stein; Carlos Holbig; Phlippe Olivier Alexandre Navaux. (Org.). ERAD 2009 - 9a Escola Regional de Alto Desempenho. Porto Alegre: SBC, 2009, v. 1, p. 39-69.[6] Ribas, Marcelo. Consolidação de Servidores: Estudo de Caso. Novo Hamburgo: Instituto de Ciências Exatas e Tecnológicas, 2008. 42p. Tese. Curso de Ciência da Computação. Novo Hamburgo. 2008.[7] Rossi, Fábio. Alocação dinâmica de Recursos no Xen. 18 jan 2008. 68f. Dis- sertação (Mestrado em Ciência da Computação). Programa de Pós-Graduação em Ciência da Computação , Pontifícia Universidade Católica do Rio Grande do Sul. Porto Alegre. 2008. 181

×