Início > Virtualização - XenServer > Paravirtualizar VM no XenServer

Paravirtualizar VM no XenServer

A técnica de virtualização permite que várias instâncias de sistemas operacionais sejam executadas em um único hardware. Com a crescente demanda por recursos computacionais, as empresas aderem cada vez mais a essa tecnologia buscando economia, desempenho e melhor gerenciamento dos recursos disponíveis para os negócios. A virualização é feita basicamente de duas formas:

  1. Virtualização total
    Primeira geração da virtualização, esta técnica fornece ao SO visitante uma réplica do hardware, o que apresenta algumas desvantagens. Como o conceito da virtualização diz que vários dispositivos podem funcionar a partir de um único hardware, a virtualização total utiliza implementações genéricas que funcionam na grande maioria dos dispositivos, o que pode gerar desperdício da capaciadade de hardware disponível. Outro inconveniente apresentado é o fato de as implementações terem que contornar problemas gerados pela disputa de hardware pelos Sistemas Operacionais visitantes, uma vez que o SO foi projetado para ser executado como instância única no hardware.
  2. Paravirtualização
    A segunda geração de virtualização, apresenta uma interface para as máquinas virtuais que se assemelha ao hardware real. Esta técnica prevê a alteração do kernel dos SOs visitantes com o intuito de substituir instruções não virtualizadas, o que proporciona um melhor desempenho das VMS e melhor gerenciamento sobre as mesmas.
 O objetivo deste artigo é mostrar como paravirtualizar uma VM com SO Linux, neste caso foi usado o Centos 5.7, rodando no XenServer.
 O primeiro passo é instalar o módulo do xen no guest
# apt-get install kernel-xen
As entradas referentes ao novo kernel serão adicionadas ao grub.
Após completar a instalação reinicie o servidor. É necessário gerar um novo initrd para o boot sem suporte a drivers SCSI que causam problemas com discos virtuais no XenServer:
# cd /boot
# mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk \
initrd-$(uname -r)xen-no-scsi.img $(uname -r)xen

Nota: Neste momento sugiro que seja criado um snapshot da VM para restauração caso haja algum problema no processo.

No arquivo /etc/grub/grub.conf, faça as seguintes alterações:

  • Exclua a entrada do kernel com ‘gz’ no nome;
  • Renomeie a primeira entrada module para kernel;
  • Renomeie a segunda entrada module para initrd;
  • Altere o ponteiro initrd*.img para o nome correto do arquivo gerado no passo anterior;
  • Edite a entrada ‘default=’ para o número correspondente à entrada do xenkernel. No nosso exemplo 0.
    Nota:  A contagem é baseada na posição do kernel e iniciada no número 0.

    O novo arquivo deve ficar como o da imagem:
     

Desligue a VM, não reinicie.

# Halt

No xen, é necessário alterar alguns parâmetros no registro da VM para converter para o modo boot PV. Nosso exemplo a VM é chamada ‘novavm’. No console do XenServer, execute os seguintes comandos:

# xe vm-list name-label=novavm params=uuid (retorna o UUID da vm)

# xe vm-param-set uuid=<vm-uuid> HVM-boot-policy=”” (Limpa HVM boot mode)

# xe vm-param-set uuid=<vm-uuid> PV-bootloader=pygrub (define pygrub como boot loader)

# xe vm-param-set uuid=<vm-uuid> PV-args=”console=hvc0 xencons=hvc” (define o tipo de console da vm)

# xe vm-disk-list uuid=<vm uuid> (retorna o UUID da interface do disco virtual)

# xe vbd-param-set uuid=<vbd uuid> bootable=true (define o disco como bootável)

Neste ponto a VM já pode ser iniciada. Ao completar a inicialização será necessário reconfigurar a interface de rede. Caso o console no XenCenter não funcione corretamente, feche o aplicativo e abra novamente.

Comandos executados no Xen

Para completar o processo é necessário instalar na VM o “XenServer Tools”.

No XenCenter:

  • Selecione a aba ‘Console’ da VM no XenCenter;
  • No DVD drive selecione ‘xs-tools.iso’;

Na VM, monte o drive habilitado e instale os pacotes:

# mount /dev/xvdd/media
# cd /mnt/media/Linux
# ./install.sh

Responda ‘y’ para confirmar a instalação. Após concluída a instalação, desabilitar a imagem do xentools no drive de DVD e reiniciar a VM.

Ao iniciar a VM, o ‘Virtualization Status’ na aba ‘General’ deve mostrar ‘Optimized’.

Fontes:

  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: