Instalação e Configuração do Hipervisor xen pvm

Post on 04-Jul-2015

110 views 2 download

Transcript of Instalação e Configuração do Hipervisor xen pvm

Hipervisor Xen PVM

Autores: Francisco Renato Cavalcante Araújo

Fernando Pessoa Oliveira de Sousa

Professor: Paulo Antônio Leal Rego

Virtualização

Surgiu por volta de 1960 com a IBM;

Técnica que permite instalar um sistema operacional dentro de outro;

Melhor aproveitamento dos recursos da máquina;

Utiliza-se de hipervisores para gerenciar as máquinas virtuais.

Tipos de Virtualização

VIRTUALIZAÇÃO TOTAL

Primeiro tipo de virtualização a surgir;

Proporcionava uma abstração completa do hardware;

SO não sabia que era executado em hardware emulado;

Usava tradução binária para comunicação entre máquina virtual e física.

Tipos de Virtualização

PARAVIRTUALIZAÇÃO

Kernel do SO convidado é modificado;

SO convidado sabe que está sendo executado sobre hardware simulado;

Combina tradução binária com chamadas de sistema (hyper calls) para comunicação entre as máquinas;

Melhor desempenho;

Acesso parcial ao hardware.

Tipos de virtualização

VIRTUALIZAÇÃO A NÍVEL DE SISTEMA OPERACIONAL

Baseia-se em containers ou partições;

SO convidados devem possuir o mesmo kernel do SO da máquina física;

Tipos de Virtualização

VIRTUALIZAÇÃO ASSISTIDA POR HARDWARE

Apoiado pelos hardwares atuais que implementam uma nova arquitetura;

Anel -1, onde é instalado o hipervisor;

Máquina virtual executa no anel 0, ao lado do SO hospedeiro;

Acesso direto ao hardware.

Hipervisor Xen PVM

O Xen é um framework de virtualização originalmente desenvolvido pela University of Cambridge (UK) e está

mantido pela XenSource, Inc. (parte da Citrix). Ele usa paravirtualização, um método de virtualização que envolve

alto grau de cooperação entre hosts virtualizados e máquinas virtuais (GUTIERREZ, 2014).

Vantagens do Hipervisor Xen PVM

Elevado desempenho na execução das maquinas virtuais;

Flexibilidade Recursos de administração de uma máquina virtual em tempo real sem necessidade de reiniciá-la;

Migração em tempo real;

Pode ser instalado em infraestrutura heterogênea, na qual pode haver processadores que não tenham suporte a

virtualização assistida por hardware.

Desvantagens do Hipervisor Xen PVM

A paravirtualzação é menos flexível, pois carece de modificações no sistema operacional convidado, para que

este possa trabalhar perfeitamente

Trabalhos Relacionados

SCHMIDT, A. H. et al. Análise de Desempenho da Virtualização de Redes nos Sistemas Xen e OpenVZ. p. 1–8,

2007.

AZEVEDO, E. et al. Nuvem pública versus privada: Variações no desempenho de infraestrutura para elasticidade.

p. 110–123, 2012.

Instalação Xen PVM no Ubunto 12.04 LTS

Para instalar o hipervisor Xen PVM e suas dependências utilize o comando:

sudo apt-get install xen-hypervisor-4.3-amd64 xen-utils-4.3 xenwatch xen-tools xen-utils-common xenstore-utils

Após isso instale a biblioteca virt com o commando:

sudo apt-get install virtinst virt-viewer virt-manager

Instalação Xen PVM no Ubunto 12.04 LTS

Entre no arquivo de configuração do xen, que fica no diretório “/etc/xen/xend-config.sxp”, e configure-o para

que o hipervisor possa usar uma rede bridge descomentando a linha (network-script network-bridge) e ative o

acesso HTTP ao servidor xen descomentando as linhas abaixo:

#(xend-http-server yes)

#(xend-unix-server yes)

Instalação Xen PVM no Ubunto 12.04 LTS

Abra o arquivo “/etc/xen-tools/xen-tools.conf” e adicione no fim do arquivo a seguinte linha:

pygrub=1

Edite o arquivo “/etc/default/grub” e modifique o grub para iniciar o Xen por padrão. Para tanto é necessário

modificar as seguintes linhas:

GRUB_DEFAULT=“Xen 4.1-amd64”

#GRUB_HIDDEN_TIMEOUT=0

#GRUB_HIDDEN_TIMEOUT_QUIET=true

GRUB_TIMEOUT=10

Instalação Xen PVM no Ubunto 12.04 LTS

Entre na pasta “/etc/grub.d” e renomeie o arquivo 10_linux para 50_linux e atualize o grub utilizando os

comandos abaixo:

cd /etc/grub.d

sudo mv 10_linux 50_linux

sudo update-grub

Instalação Xen PVM no Ubunto 12.04 LTS

Entre no arquivo “/etc/network/interface” para criar a interface bridge que funcione com DHCP. Como segue:

auto lo

iface lo inet loopback

auto xenbr0

iface xenbr0 inet dhcp

bridge_ports eth0

bridge_maxwait 0

Instalação Xen PVM no Ubunto 12.04 LTS

Após criar a interface bridge é necessário que você levante a interface com o comando abaixo:

sudo ifup xenbr0

Entre no arquivo “/etc/init.d/rc.local” e adicione a linha “ifup xenbr0” no final do arquivo, para a interface subir

junto com a inicialização do sistema operacional.

Para ter certeza de que a sua interface bridge está funcionando, verifique se ela consta na saída do comando

abaixo:

sudo brctl show

Caso não esteja configurada ainda, reinicie o serviço de rede com o comando a seguir:

/etc/init.d/networking restart

Instalação e Configuração de Máquinas Virtuais

Para criar máquinas virtuais no hipervisor xen, você precisa passar como parâmetros: nome, distribuição,

tamanho do disco, tamanho do swap, rede estática ou por DHCP, tamanho da memória RAM, diretório destino

para criar a imagem e um parâmetro que possibilita a criação de um senha do usuário no processo de criação

da máquina virtual:

Ex: sudo xen-create-image –-hostname=gerente -–dist=precise –-size=4Gb -–swap=512Mb -–dhcp –-

memory=1024Mb -–dir=/xen -–role=udev --passwd

Instalação e Configuração de Máquinas Virtuais

Após criar a imagem da máquina virtual, é preciso criar um domínio para essa máquina. A imagem criada é um

arquivo com o nome “hostname.cfg”. No caso do exemplo citado, ficaria “gerente.cfg”. Para criar tal domínio

execute o comando:

sudo xm create NomeDoDomínio.cfg

Por motivos de melhor assimilação utilize tanto para a imagem, quanto para o domínio o mesmo nome.

Instalação e Configuração de Máquinas Virtuais

Com o domínio criado, a máquina virtual já pode ser iniciada. O usuário padrão é “root” e a senha, é a que você

escolheu no momento em que criou a imagem.

Para acessar a máquina virtual execute o comando a seguir:

sudo xm console “domínio”

Caso seja necessário pausar e depois iniciar a máquina pausada, execute os seguintes comandos

respectivamente:

sudo xm pause gerente

sudo xm unpause gerente

Instalação e Configuração de Máquinas Virtuais

Para salvar a máquina virtual, é preciso especificar o domínio, e um arquivo de saída para ser salva uma cópia da

imagem da máquina virtual. Execute o comando abaixo para salvar uma máquina:

sudo xm save –c gerente /home/domínioBackup

Para deletar uma máquina precisamos primeiro apagar seu domínio, e em seguida podemos deletar a imagem

da máquina virtual. Passando o nome da imagem a ser deletada e o diretório do domínio da imagem. Abaixo foi

usado como exemplo uma máquina virtual e domínio de nome “teste”.

sudo xm destroy teste

sudo xen-delete-image teste –dir=/xen

Instalação e Configuração do Iperf

Para instalar o iperf execute os seguintes comandos:

sudo apt-get update

sudo apt-get install iperf

Depois de instalar os pacotes nas duas máquinas vamos executar o comando abaixo para realização do teste na

máquina servidor e na máquina cliente respectivamente. A sintaxe do segundo comando executado no cliente,

200.129.39.86 é o endereço IP do servidor, -w tamanho do pacote, -i intervalo de 1 segundo, -t tempo para

transmitir:

Iperf -s

Iperf –c 200.129.39.86 –w 64k –I 1 –t 60

Instalação e Configuração do Bonnie++

Execute o comando abaixo para instalar a ferramenta usada para testar discos rígidos e performance do sistema

de arquivos:

sudo apt-get install bonnie++

Com a ferramenta instalada vamos aos testes de desempenho. Na máquina virtual é preciso criar um usuário

para poder executar a ferramenta, por exemplo “admin”. Na máquina física basta executar o segundo comando.

Então basta executar o comando bonnie++, porém o comando roda com os valores padrão (Default).

Especificamos os parâmetros –r 100, tamanho de memória RAM em megabytes que será usada na execução, e o

parâmetro –s 200, tamanho dos arquivos para o teste de entrada e saída em megabytes. É recomendado usar o

dobro da quantidade de memória RAM, para o teste ficar mais realista.

Instalação e Configuração do Bonnie++

Execute os comandos abaixo para criar o usuário na máquina virtual e em seguida para executar o teste com o

bonnie++:

adduser admin

bonnie++ -r 100 –s 200

Instalação e Configuração do Sysbench

Para instalar a aplicação na máquina utilize o comando:

sudo apt-get install sysbench

Com a ferramenta instalada, vamos fazer os testes de desempenho da CPU. Neste modo é calculado o número

de primos até o valor especificado pela opção --cpu-max-prime. Nós usamos o número 20000 como exemplo.

sysbench -–test=cpu -–cpu-max-prime=20000 run

Resultados Obtidos Iperf

Ao analisarmos o Gráfico 1, correspondente a máquina virtual e o Gráfico 2 correspondente a máquina física,

observamos que os testes foram feitos no tempo total de 60 segundos (eixo X), e usamos um tamanho fixo do

pacote a ser enviado na rede de 64k, com intervalos para envio de 1 segundo.

Notamos que a máquina física se manteve nove vezes por mais de um segundo com taxa de transmissão de

94,5 Mbits/s e não se manteve nenhuma vez com taxas abaixo de 93,5 Mbits/s por mais de um segundo.

Enquanto a máquina virtual se manteve com transmissões de 94,5 Mbits/s por mais de um segundo apenas três

vezes, e com o mesmo valor de vezes para taxas de transmissões de 93,5 Mbits/s por mais de um segundo.

Apesar da analise ter sido feita em um espaço curto de tempo, podemos observar um melhor desempenho na

transmissão de pacotes e uso da rede, por parte da máquina física, como mostram os gráficos a seguir.

Desempenho de rede MF e MV

Resultados Obtidos Bonnie++

Se um teste é concluído em menos de 500ms, então a saída será exibida como “+ + + +”, pois o resultado de

teste não pode ser calculado com precisão devido a erros de arredondamento e os desenvolvedores da

ferramenta preferiram exibir nenhum resultado, para não mostrar resultados errados.

As tabelas a seguir mostram o desempenho da máquina física e virtual respectivamente:

Resultados Obtidos Bonnie++

Abaixo mostraremos as tabelas com o desempenho da máquina virtual:

Resultados Obtidos Bonnie++

Abaixo mostraremos as tabelas com o desempenho da máquina física:

Resultados Obtidos Sysbench

Resultados Obtidos Sysbench

Na análise dos resultados na ferramenta sysbench, assumindo que o número máximo de primos calculado no

teste de CPU foi 20000, em ambas as máquinas, verificamos que o tempo total de execução na máquina física

foi de 23.8280 segundos e na máquina virtual foi de 23.9419 segundos, uma diferença de 0,1139 segundos para

a máquina física que se mostrou mais rápida no cálculo dos primos.

As tabelas a seguir mostram as estatísticas de desempenho de cada máquina.

Referências Bibliográficas

AZEVEDO, E. et al. Nuvem pública versus privada: Variações no desempenho de infraestrutura para elasticidade.

p. 110–123, 2012.

GUTIERREZ, F. .XEN no Ubuntu 12.04 LTS. Lipe.82. 2012. Disponível em:

<htpps://sites.google.com/site/lipe82/Home/diaadia/xen>. Acesso em: 24 abr. 2014.

REGO, P. A. L. Installing Xen 4.3 on Ubuntu 12.04 LTS. Lost of stuff. 2012. Disponível em: <pauloalr.wordpress.com>.

Acesso em: 28 abr. 2014.

SEO, C. E. Virtualização–Problemas e desafios. IBM Linux Technology Center, v. 1, n. 008278, p. 1–19, 2009.

SCHMIDT, A. H. et al. Análise de Desempenho da Virtualização de Redes nos Sistemas Xen e OpenVZ. p. 1–8, 2007.