Académique Documents
Professionnel Documents
Culture Documents
Bruno Joenk
Matheus Felipe Garcia
Michel Pabst
Moiss Pabst
Bruno Joenk
Matheus Felipe Garcia
Michel Pabst
Moiss Pabst
LISTA DE ILUSTRAES
Figura 1. Representao grfica em camadas da virtualizao completa, segundo as
formas de virtualizao...................................................................................................12
Figura 2. Histrico do XenServer, descrita em uma linha do tempo.............................20
Figura 3. XenServer - Diagrama de arquitetura envolvendo os componentes...............21
Figura 4. Representao da arquitetura geral do KVM..................................................25
LISTA DE TABELAS
Tabela 1. Apresentao do Histrico do XenServer........................................................18
Tabela 2. Apresenta o tempo para execuo dos processos com 1 thread......................28
Tabela 3. Apresenta o tempo para execuo dos processos com 2 thread......................29
Tabela 4. Apresenta o valor de informaes trocados com disco rgido com 1 thread...30
Tabela 5. Apresenta o valor de informaes trocados com disco rgido com 2 thread...30
RESUMO
Virtualizao um conceito empregado para a criao de maquinas virtuais, as quais
esto sendo utilizadas diariamente em servidores. Ela empregada para que ocorra um
melhor aproveitamento do hardware e aumente o custo benefcio da empresa. Para que
ocorra a virtualizao necessrio que exista uma ferramenta que faa o monitoramento
dessas mquinas virtuais, algumas dessas ferramentas seriam os monitores de mquinas
virtuais Citrix XenServer e o KVM, estas duas ferramentas funcionam de forma
diferente, ambas so monitores de mquinas virtuais, e controlam e monitoram as
mquinas virtuais. Ao se criar mquinas virtuais necessrio tambm entender qual o
impacto que elas causam no hardware e no processador da mquina, nesse ponto que
entram softwares de benchmark como o Sysbench. Software como esse tem a funo de
analisar os impactos causados pelas mquinas virtuais atravs da utilizao dele se
conseguem simular eventos e conseguir que demonstram de forma grfica como a
evoluo do processamento. Atravs desses dados possvel chegar a melhor concluso
de qual monitor de mquinas virtuais melhor para cada situao de uso.
Palavras-chave: Virtualizao. Mquinas Virtuais. Citrix XenServer. KVM. Sysbench.
ABSTRACT
Virtualization is a concept used to create virtual machines, which are being used daily in
servers. It is used to occur a better use of hardware and increase the cost benefit of the
company. For virtualization to occur there needs to be a tool that makes monitoring of
these virtual machines, some of these tools would be the virtual machine monitors
Citrix XenServer and KVM, these two tools work differently, both are virtual machine
monitors, and control and monitor virtual machines. When creating virtual machines is
also necessary to understand what impact they have on the hardware and system CPU is
at this point entering benchmark software such as Sysbench. Software like this serves to
analyze the impacts of virtual machines by using it if they can simulate events and get
that demonstrate graphically how the evolution of processing. Through these data it is
possible to reach the best conclusion of which virtual machine monitor is best for each
use situation.
Key-words: Virtualization. Virtual Machines. Citrix XenServer. KVM. Sysbench.
SUMRIO
INTRODUO...............................................................................7
CAPITULO 1 - CONHECIMENTO.......................................................8
1.1 MQUINAS VIRTUAIS............................................................................. 8
1.1.1 Virtualizao................................................................................... 8
1.1.2 Classificao................................................................................. 10
1.1.3 Funcionamento............................................................................. 13
1.1.4 Ferramentas de medio..............................................................13
1.2 - MYSQL............................................................................................... 14
1.2.1 Histrico........................................................................................ 15
1.2.2 Caractersticas.............................................................................. 15
1.3 Consideraes Parciais.........................................................16
CAPITULO 2 - CONHECIMENTO.....................................................17
2.1 XEN..................................................................................................... 17
2.1.1 Histrico........................................................................................ 17
2.1.2 Arquitetura.................................................................................... 20
2.1.3 Funcionalidades............................................................................ 21
2.1 KVM..................................................................................................... 23
2.2.1 Histrico........................................................................................ 23
2.2.2 Arquitetura.................................................................................... 24
2.2.3 Funcionalidades............................................................................ 25
CAPTULO 3 - COMPARATIVOS......................................................27
3.1 Plataforma Experimental.....................................................................27
3.2 Testes Realizados................................................................................ 27
3.2 Teste de Carga do Processador...........................................................27
3.3 Teste de Carga do Disco Rgido...........................................................28
3.4 Consideraes Finais...........................................................................30
CONCLUSO...............................................................................31
REFERNCIA...............................................................................32
INTRODUO
A virtualizao e a utilizao de mquinas virtuais, o qual um ponto muito
importante para o entendimento inicial deste trabalho, que tem por objetivo a anlise e
comparao entre duas ferramentas de virtualizao. O Conceito de virtualizao
amplamente construdo e repetido no decorrer do trabalho, por esta razo ele discutido
como parte dos conceitos iniciais do trabalho, desde seu incio na dcada de 60, no seu
declnio e retorno nos anos 90. As formas como elas funcionam para a construo da
virtualizao, e o controle das mquinas virtuais um ponto realmente importante para
o entendimento do estudo aqui realizado.
As duas ferramentas utilizadas para a virtualizao, XenServer e KVM, tm
diferentes formas de virtualizar e funcionam de maneiras completamente distintas, por
essa razo foram escolhidas. O que se busca com esse estudo entender como funciona
seus procedimentos e como eles impactam no processamento da mquina, sempre
levando em conta os pontos positivos e negativos das duas ferramentas para o resultado
final do estudo.
CAPITULO 1 - CONHECIMENTO
Este captulo apresenta os termos e tecnologias de virtualizao e banco de
dados, explana as caractersticas das tecnologias que justifica o porque do seu uso.
Conhecimentos iniciais para compreenso do que virtualizao e diferenas entre
virtualizao completa e paravirtualizao. Ainda nesse capitulo descrito a histria das
tecnologias e sua evoluo e como empregada no mercado de trabalho.
1.1.1 Virtualizao
Virtualizao consiste em utilizar um hardware fsico e atravs dele configurar
diversos outros hardwares virtuais ou ainda configurar e coordenar diversos sistemas
operacionais. Seguindo esse conceito, tem-se a praticidade de no mais precisar adquirir
uma mquina para cada sistema operacional, reduzindo assim custos em aquisio de
C
onsolidao de servidores: este conceito diz respeito a distribuio de
10
C
onsolidao de aplicaes: conseguir emular mquinas e softwares que
no iriam executar sobre as configuraes do hardware disponvel no
momento.
S
andBoxing: criar um ambiente isolado para execuo de um software que
no seja considerado seguro. Utilizando, assim, da virtualizao para
construir uma forma de proteo.
M
igrao de Mquinas Virtuais: a distribuio de mquinas virtuais sobre
diversas mquinas fsicas.
A utilizao de mquinas virtuais permite a personalizao do ambiente virtual.
Sendo assim, possibilita atender diversos cenrios, dos mais exigentes ao menos
exigentes em questo de hardware, isolar ambientes de teste ou ainda executar sistemas
legados.
A virtualizao foi criada para que se tivesse um maior nmero de mquinas
disponveis para os usurios e passou por diversas mudanas em seu objetivo principal.
Na sua criao na dcada de 60 voltou-se para multiusurios utilizando de um mesmo
hardware fsico com vrios ambientes e sistemas operacionais, agora tem o foco ao
monousurio que necessita ou quer testar diversos sistemas operacionais sem a
necessidade de possuir diversos hardwares. Suas aplicaes no mercado so voltadas
principalmente para servidores ou teste de configuraes de softwares. Prosseguindo a
sees, vem a descrio da organizao e classificao de uma mquina virtual.
1.1.2 Classificao
11
similiar
12
13
do
hardware:
sistema
1.1.3 Funcionamento
Ao analisar o conceito de virtualizao, dividindo ele em camadas, partindo da
parte mais baixa (camada 1) se tem o hardware. A camada acima (camada 2) representa
o Hipervisor, o Hipervisor coordena e organiza os sistemas operacionais, nesta camada
ficam armazenadas as configuraes das mquinas virtualizadas. Em seguida (camada
3) os sistemas operacionais que esto virtualizados, portanto essa camada pode ser
dividida de acordo com o nmero de sistemas operacionais que se pretende virtualizar
14
15
1.2 - MYSQL
O MySQL um sistema gerenciador de banco de dados (SGBD). Quando
planejado, visava atender projetos de pequeno e mdio porte, mas com o tempo foi
aprimorado e atende aplicaes de grande porte. Reconhecido por entidades da rea de
tecnologia da informao como um dos sistemas banco de dados Open Source de maior
capacidade, concorrendo com bancos de cdigo fechado (MILANI, 2007).
Por ser um SGBD de fcil utilizao e por possuir um grande grupo de
sustentao, como a Cisco e a Motorola, o Mysql usado por grandes empresas como a
NASA, HP, Bradesco, Sony, entre outras.
1.2.1 Histrico
Desenvolvido na dcada de 90 aps surgir a necessidade de uma interface SQL
que fosse compatvel com rotinas ISAM 1 utilizados no projeto dos desenvolvedores
David Axmark, Allan Larsson e Michael Widenius. Para suprir a necessidade da equipe
foi utilizado o mSQL mas a ferramenta possua problemas de desempenho na aplicao.
Aps isso, decidiram ento desenvolver uma API em C e C++ que deu origem ao
MySQL. (MILANI, 2007).
16
1.2.2 Caractersticas
Algumas das caractersticas do MySQL em relao a outros bancos de dados, do
mesmo porte, so a facilidade de programao, possui funes simples a serem
implementadas e so totalmente modificveis (NEVES, 2005) (MYSQL, 2015). Outras
caractersticas que fazem o MySQL ser um dos bancos mais utilizados so:
S
uporte multiplataforma, compatvel com diferentes sistemas operacionais como,
Apple Mac OS X Server, GNU/Linux, FreeBSD, Unix e MS-Windows.
S
uporte a mltiplos processadores.
C
apacidade de manipular bancos com at 50 milhes de registros
S
uporte a 16 ndices por tabela. Sendo possvel a criao de tabelas de at
4GB.
17
S
oftware livre, permite utiliz-lo para qualquer propsito, tendo seu
cdigo-fonte aberto para alteraes e livre distribuio.
C
omercial, permite embutir o MySQL dentro de suas aplicaes
comerciais, obter suporte diferenciado ou pacotes com mais ferramentas.
Tendo conhecimento das caractersticas do MySql, e da ferramenta de medio
benchmark Sysbench, possvel realizar os testes de desempenho dos sistemas
operacionais utilizando o MySql nos sistemas operacionais virtualizados pelo Citrix
XenServer 6 e KVM.
18
CAPITULO 2 - CONHECIMENTO
Esse captulo apresenta um estudo das ferramentas utilizadas para a
virtualizao, abordando suas principais caractersticas, sendo a histria, arquitetura e as
funcionalidades, o que as diferem no mercado atual e a expanso do segmento em que
atuam o Citrix XenServer e o KVM. Com essas informaes possvel dar procedncia
a analise final que tem por objetivo este trabalho, e por isso importante conhecer essas
caractersticas e no que elas influenciam no resultado final.
2.1 XEN
O XenServer uma ferramenta que tem como objetivo propor uma soluo para
empresas que necessitam de servidores e mquinas virtuais. Com sua soluo voltada
para computao em nuvem. O XenServer proporciona uma boa reduo de custos pois
torna datacenters fsicos em datacenters virtuais com facilidade de uso e dinamismo.
Possui um console intuitivo e um hypervisor de 64-bit, que facilitam seu uso. Alm
disso possui diversas funcionalidades que garantem seu fcil gerenciamento, segurana
e praticidades em um nico console (CITRIX, 2015).
2.1.1 Histrico
Para facilitar e otimizar a descrio do histrico do XenServer est demonstrado
em forma de tabela, conforme pode ser analisado na Tabela 1.
Tabela 1. Apresentao do Histrico do Citrix XenServer
Ano
1990
Evoluo
O Xen foi criado em 1990 por Keir Fraser e Ian Pratt, a inteno da
criao do projeto, era para um trabalho de pesquisa na
Universidade de Cambridge (inclusive, este trabalho ainda est nos
servidores web da Universidade). O hypervisor Xen possui cdigo
aberto, para que todos os outros acadmicos, pesquisadores e
2003
19
oficial do Xen.
Em 2004, foi lanada a verso 1.0 da verso, seguido da verso 2.0
em pouco tempo, Ian Pratt e outras pessoas do grupo comearam
pensar em alterar o Xen de uma ferramenta de pesquisa para um
produto que fosse lanado no mercado e ento utilizado pelas
empresas, alm disso, mantiveram a ideia de o produto continuar
2005
soluo
para
mquinas
virtuais, inclusive,
estas
paravirtualizao.
A corporao Citrix adquiriu em agosto de 2007 o XenServer, pelo
preo de 500 milhes de dlares. Foi um grande marco para os
2008
2009
2010
2012
20
2013
2014
Fonte: XenProject.org
21
2.1.2 Arquitetura
O XenServer um componente instalados diretamente no hardware e em cima
dele que sao instalados os sistemas operacionais (BOSING, 2012)(KAUFMANN,
2012). Ele foi desenvolvido e distribudo gratuitamente pela Citrix (BOSING, 2012)
(KAUFMANN, 2012).
O Xen Hypervisor (Monitor de mquina virtual ou VMM) um dos principais
componentes do XenServer, sendo a sua funo principal a de controlar os processos
das mquinas virtuais que esto sendo virtualizadas. Este hypervisor inicializado
depois do bootloader (CITRIX, 2015). Na Figura 3 temos uma representao da
arquitetura envolvendo componentes, onde engloba principalmente o processo do
hypervisor (console) e suas aes com os outros componentes da arquitetura, como o
Toolstack por exemplo.
Figura 3. XenServer - Diagrama de arquitetura envolvendo os
componentes.
Fonte: XenProject.org
Outro componente que faz parte da arquitetura do XenServer e que preciso
para executa-lo, o Domain Control (chamado tambm de controle de domnio ou
Dom0), a qual se trata de um VM com permisses para acessar diretamente o hardware,
22
2.1.3 Funcionalidades
Possuir vrios servidores fsicos, nitidamente mais caro para as empresas que
necessitam deste tipo de servio hoje em dia. Porem com as maquinas virtuais no
mercado isso pode ser uma soluo, o Citrix XenServer uma opo favorvel e que
possui diversas funcionalidades, que agregam para o servio final ao cliente (CITRIX,
2015). Dentre algumas delas possvel citar:
23
automaticamente, com base nas configuraes que foram escolhidas pelo usurio, para
disponibilidade.
Gerenciamento de energia: ele utiliza dos recursos que o hardware disponibiliza para
que assim ele possa alterar dinamicamente as mquinas virtuais, conseguindo assim
virtualizados.
IntelliCache: ele guarda arquivos como cache e imagens de boot, diminuindo assim o
controle e uso.
Proteo e recuperao das mquinas virtuais: O XenServer garante a proteo de
dados, ele executa essa funcionalidade tirando prints peridicos e salvando esse prints
em locais seguros, para caso ocorra problemas na mquina virtual que resulte na perda
de dados.
vAPPs: quando uma ou vrias mquinas representam uma nico aplicativo. O vAPPs
combina as mquinas virtuais em um nico dispositivo virtual, os quais so controlados
pelo XenServer.
Essas so algumas das funcionalidades que tornam o XenServer til para a
virtualizao, descrito um pouco sobre o XenServer deixando claro o objetivo e o
4 Tambm pode ser conhecida como conexo roteador roteador, ela permite, desde
que estejam em uma mesma rede, que se tenha uma conexo entre roteadores de
locais independentes.
5 Hardware responsvel com slots para diversos discos, responsvel por armazenar
dados.
24
proposito de usa-lo. Na seo 2.1 est descrito sobre o KVM. O KVM o Hypervisor
que foi utilizada para realizar a comparao com o Citrix XenServer.
2.1 KVM
KVM uma ferramenta de virtualizao que veio com o propsito de substituir
o Qemu, surgiu no ano de 2007, e est no mercado desde ento. Ele uma ferramenta
de cdigo aberto, e traz ao mercado um modelo de virtualizao que baseado no
kernel (SAHA, 2007). Ele uma ferramenta de fcil manipulao que busca um alto
desempenho na mquina virtual com um baixo impacto no hardware fsico
(MORIMOTO, 2011).
2.2.1 Histrico
O KVM foi inventado com a finalidade de acelerar o Qemu. O Qemu seria um
programa de virtualizao parecido mais com um emulador do que com um software de
virtualizao. Qemu perde em desempenho comparado a outras ferramentas de
virtualizao como o XenServer, VMWare e precisava de um novo mdulo para
concorrer a altura com eles (MORIMOTO, 2011).
O primeiro plano para poder melhor o desempenho do Qemu foi lanado em
2005, com o nome de Kqemu, que melhorou alguns aspectos, como ser capaz de
visualizar instrues, favorecendo um maior desempenho, porem ainda continuou
abaixo do esperado (MORIMOTO, 2011). Em 2006 foi anunciado pela LinusTorvalds o
KVM(Kernel Virtual Machine Monitor) e ento foi lanado em 2007, sendo um sistema
de virtualizao incluso direto no kernel, rodando em hardware x86 contendo extenses
de virtualizao (Intel VT ou AMD-V) com cdigo aberto, e disponvel a partir da
verso 2.6.20(SAHA, 2007).
Desta maneira o KVM foi o substituo do Kqemu e a partir de ento, foram feitas
diversas melhorias e evoluo constantemente, se tornando um bom concorrente para
ser usado em servidores, competindo com outros do segmento, como o Xen. Na seo
2.2.2 descrito um pouco da arquitetura de funcionamento do KVM.
2.2.2 Arquitetura
25
26
SOs guest, carregados pelo utilitrio KVM. Portanto, um SO guest consegue dar suporte
aos mesmos aplicativos que o SO do host suporta (JONES, 2007).
A KVM parte de uma soluo de virtualizao. O processador concede o
suporte para a virtualizao de forma direta (sendo capaz de virtualizar o processador
para vrios SOs) (JONES, 2007). As verses mais novas do KVM vem um dispositivo
que controla as entradas e sadas esse processo chamado de QEMU ligeiramente
alterado ( feito uma copia dele e executada com cada processo do SO guest) (SAHA,
2007).
QEMU uma soluo que permite virtualizar um computador completo,
contendo dispositivos de rede, adaptadores grficos e discos. Todo pedido de entrada e
sada de um sistema operacional guest so roteado para o modo usuria que ser
emulado pelo processo QEMU (JONES, 2007).
A KVM capaz de fornecer virtualizao de memria pelo dispositivo
/dev/kvm. Quando um guest instanciado ele tem seu prprio espao de endereo. A
memria fsica mapeada no processo, trata-se da mesma memria virtual mapeada no
processo (JONES, 2007). Para ser feita a converso de endereos fsicos guest em
endereos fsicos host a KVM mantem um conjunto de tabelas de pginas com sombra
para poder dar suporte a est operao. Alm disso o processador tambm capaz de
ajudar no processo de converso de memria atravs do hypervisor (kernel host)
(JONES, 2007).
2.2.3 Funcionalidades
Com o amadurecimento das tecnologias de virtualizao fica evidente que as
ferramentas estejam acompanhando essa evoluo. Por essa questo as ferramentas de
virtualizao incrementam novas funcionalidades a cada verso. O KVM sempre foi
conhecido pela escalabilidade, desempenho a nvel empresarial e segurana
(SARATHY, 2013). Tendo isso em mente algumas funcionalidades que seriam
relevantes citar sobre essa ferramenta seriam:
dispositivos de armazenamento.
Conjunto de comandos padres: o KVM fornece um conjunto de comandos SCSI
padro, com isso ele consegue simplificar a utilizao para o usurio.
27
assim a migrao de dados entre mquinas fsicas para virtuais ou virtual para virtual.
Segurana reforada: A Segurana de virtualizao (sVirt) foi construdo em SELinux e
aplica-se etiquetas de segurana para mquinas virtuais de usurio externos (convidados
ou tambm chamado guest) e seus recursos. O isolamento do guest alcanado com
SELinux atravs de controles de acesso obrigatrios, que protege contra guest no
confivel na mquina virtual, contra os guest mal configurados e impede o acesso a
usurios no autorizado tanto de um usurio guest como o de um host sendo assim
implementada este nvel recurso de segurana ao KVM.
Essas so algumas funcionalidades baseadas nos pontos fortes da ferramenta.
Tendo esses conceitos definidos sobre a ferramenta, se tem o conhecimento necessrio
para entender a comparao que est demonstrada no capitulo 3.
28
CAPTULO 3 - COMPARATIVOS
Esse captulo apresenta os estudos sobre o desempenho do servidor MySQL
instalados em mquinas virtuais com o sistema operacional CentOS hospedadas nos
monitores de mquinas virtuais Citrix XenServer 6 e KVM-88. descrito ainda os
resultados obtidos atravs da ferramenta de benchmark Sysbench e as especificaes do
hardware dispostas para as mquinas virtuais.
Para realizar os testes foi utilizado um desktop com o hardware, AMD Phenom II X4 de
3.4Ghz, 4 Gb de memria ram dual chanel, 1 HD de 500Gb Seagate 7200 rotaes por
minuto. E as mquinas virtuais criadas no Citrix XenServer 6 e KVM-88 possuem a
configurao de 2 processadores, 2 GB de memria ram, 80 GB de armazenamento em
disco e sendo executado sobre o sistema operacional CentOS verso 6.6.
29
Fonte: Autor
Fonte: Autor
Para o teste de disco rgido criado duas bases, uma de 20 Gb de dados e outra
de 40Gb de dados, e ento feito entrada e sada de informaes de forma aleatria. A
30
tabela 4 representa o valor de informaes que o teste executa por segundo com 1 thread
ativa. Neste teste quanto maior o valor, melhor o desempenho do monitor de mquinas
virtuais, pois ele consegue manipular um maior numero de informaes no disco rgido
por segundo.
Tabela 4. Apresenta o valor de informaes trocados com disco rgido com 1
thread.
Fonte: Autor
Fonte: Autor
31
32
CONCLUSO
Tendo em vista as necessidades do mercado atual, com a necessidade de procura
e demanda em relao a servidores, se v muito forte a utilizao de mquinas virtuais,
ai se entra no problema de qual a melhor ferramenta de virtualizao. Analisar as
ferramentas de virtualizao importante para conseguir definir qual se encaixa melhor
para o seu problema.
Vendo por esse mbito o estudo aqui desenvolvido levou em considerao essas
questes para analisar duas ferramentas de virtualizao, que funcionam de formas
distintas, para descobrir qual apresenta melhor desempenho. As ferramentas escolhidas
para essa pesquisa foram o XenServer e o KVM, elas foram utilizadas para criar
mquinas virtuais e testar sua utilizao sobre testes massivos no MySQL.
Os estudos conseguiram demonstrar a diferena das duas ferramentas sob
diferentes solicitaes de sistema, demonstrando assim que o XenServer demonstra um
melhor desempenho em comparao ao KVM. Com isso o Citrix XenServer
recomendado quando for optado pela empresa o uso do banco de dados MySQL.
33
REFERNCIA
CALHEIROS, Rodrigo N., RODRIGUES, Guilherme, FARRETO, Tiago, ROSE Csar
A. F. De. Avaliando o Ambiente de Virtualizao Xen Utilizando Aplicaes de
Bancos de Dados. Pontifcia Universidade Catlica do Rio Grande do Sul (PUCRS),
2007.
BENCHMARK,
MySQL
Benchmark
Tool,
Disponvel
em:
<https://dev.mysql.com/downloads/benchmarks.html> Acessado em: 7 de maio 2015
34
PACIEVITCH,
Yuri.
MySQL.
Disponvel
<http://www.infoescola.com/informatica/mysql>. Acesso em: 13 maio 2015.
em:
FERREIRA, Anderson Soares. MO801 - Tpicos em Arquitetura e Hardware Mquinas Virtuais, Instituto de Computao - Unicamp, 2012.
em
>
35
XENPROJECT,
History,
Disponvel
<http://www.xenproject.org/about/history.html> Acessado em: 3 junho 2015.
em: