Paravirtualização com XEN

Há pouco tempo atrás iniciei um piloto para estudo dessa excelente ferramenta, o Xen. Encontrei muitos tutoriais em diversos canais, porém parcialmente eficientes. Assim sendo, reuni as informações de vários tutoriais e unifiquei nesse artigo, que funcionou perfeitamente em mais de três instalações que já fiz.

[ Hits: 126.927 ]

Por: Fernando Tadeu Dalla Marta em 19/10/2009


Configuração das máquinas virtuais



Cada VM deverá ter um arquivo de configuração dentro do diretório /etc/xen, existente dentro da máquina real.

Crie o arquivo /etc/xen/vm-virt01 com o conteúdo abaixo. Essas instruções serão a referência para inicialização da máquina virt01 (VIRT01):

kernel="/boot/vmlinuz-2.6.18-6-xen-686"
ramdisk="/boot/initrd.img-2.6.18-6-xen-686"
memory=128
root="/dev/hda1 ro"
disk=[ 'phy:/dev/vm/vm-virt01.raiz,hda1,w', 'phy:/dev/vm/vm-virt01.swap,hda2,w' ]
vif=[ 'bridge=xen' ]

Crie agora o arquivo /etc/xen/vm-virt02 com o conteúdo abaixo. Essas instruções serão a referência para inicialização da máquina virt02 (VIRT02):

kernel="/boot/vmlinuz-2.6.18-6-xen-686"
ramdisk="/boot/initrd.img-2.6.18-6-xen-686"
memory=128
root="/dev/hda1 ro"
disk=[ 'phy:/dev/vm/vm-virt02.raiz,hda1,w', 'phy:/dev/vm/vm-virt02.swap,hda2,w' ]
vif=[ 'bridge=xen' ]

A linha kernel refere-se ao kernel que será utilizado pela máquina virtual. Esse kernel encontra-se no diretório /boot da máquina real.

A linha ramdisk refere-se ao arquivo initrd, que também poderá ser encontrado no diretório /boot da máquina real.

A linha memory irá limitar a quantidade de memória RAM, em megabytes, que será disponibilizada para a máquina virtual. É importante notar que a máquina real necessita de, pelo menos, 196 MB de RAM (imposição do Xen).

A linha root especifica qual será a partição raiz da máquina virtual.

A linha disk especifica quais volumes lógicos serão utilizados pela máquina virtual. No caso, o volume /dev/vm/vm-virt01.raiz será utilizado como hda1 (dentro da máquina virtual) e o volume /dev/vm/vm-virt01.swap será utilizado como hda2. É importante notar que essa linha deve obedecer às especificações inseridas anteriormente em /mnt/vm-virt01/etc/fstab.

A linha vif definirá a bridge que será utilizada para prover a comunicação com a rede.

Ainda, na linha vif é possível fixar um endereço MAC a ser atribuído à VM, porém não é necessário, pois serão gerados MACs aleatórios para as VMs.

Para declarar o MAC, utilize a entrada mac, como no exemplo mostrado a seguir:

vif=[ 'mac=ac:de:48:00:00:01, bridge=xen' ]

Página anterior     Próxima página

Páginas do artigo
   1. Sobre o Xen - Introdução
   2. Requisitos e considerações
   3. Instalação e configuração
   4. Configuração da LVM para duas máquinas virtuais
   5. Criação da máquina modelo
   6. Criação das máquinas virtuais
   7. Configuração das máquinas virtuais
   8. Inicializando e gerenciando as VMs
   9. Comandos úteis do Xen
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Solução de PaaS Brasileiro - Docker, Shell Script e Golang

Instalar LibreOffice 7.0 no Slackware Current

Otimizando o Sabayon Linux (inclusive o Firefox)

Instalando o WebHTB

Configurando um servidor DNS e DHCP na rede

  
Comentários
[1] Comentário enviado por lord_roxton em 19/10/2009 - 10:43h

Artigo muito bom! O uso da virtualização hoje é um fato! E seu uso tende a crescer cada vez mais!

[2] Comentário enviado por removido em 19/10/2009 - 12:28h

Vale ressaltar que para melhor utilização de recursos da paravirtualização, é bom verificar se o processador da máquina real possui as instruções vmx (grep vmx /proc/cpuinfo)

[3] Comentário enviado por removido em 19/10/2009 - 16:05h

Legal.

[4] Comentário enviado por jorge.iwano em 19/10/2009 - 17:28h

Cara, muito bom.
Hoje utilizo citrix, com aquela licença free de 12 meses. Sabe-se lá o que vai acontecer depois desse prazo.
Estou pensando seriamente em migrar toda virtualização para Debian+Xen mesmo.

[]'s

[5] Comentário enviado por marcio.itpro em 31/12/2009 - 18:07h

Muito bom o artigo, uso CentOS ou Red Hat ja com a instalação preparada pra Xen, mesmo assim legal ressaltar isto no Debian.

[6] Comentário enviado por emersonr em 02/02/2010 - 13:23h

Um pequeno relato: Trabalho com XEN ha 2 anos em uma multinacional. Administro cerca de 75 máquinas virtuais XEN (RHEL), distribuidos em clusters de 2 nós cada (RHCS). Entre as VMs, temos cerca de 12 bancos de dados (Oracle), alguns com cerca de 1.5TB de dados.
Não tem como estar mais satisfeito com o XEN. Ele é estável, fácil de implementar e administrar.

Meus 2 centavos.

[7] Comentário enviado por dolivervl em 08/03/2010 - 22:17h

Eu uso o Xenserver da Citrix que é basicamente o XEN, mas infelizmente tive algumas dificuldades principalmente pq temos somente 2 servidores, encontramos alguns bugs. Como por exempo: Quando fizemos a transferência dos servidores da sede da empresa para o datacenter simplesmente não tinha mais o pool master, as máquinas se perderam e tive q dar alguns comandos para resolver.
Fora isso não nos dar muitos problemas, ainda estamos no começo do projeto com o Xenserver e temos somente 13 servidores nele. Mas com certeza não vou desligar os 2 servidores juntos nunca mais.

Obs.: Testei o VMware e fiz esse teste e não deu erro algum.

[8] Comentário enviado por dastyler em 13/05/2010 - 10:47h

Artigo conciso e muito bom. Explica facilmente o uso do Xen. Direto para os favoritos do site....

[]´s


[9] Comentário enviado por gostt em 19/05/2010 - 09:36h

Ola, muito bom seu artigo.

Eu estou usando o Lenny 64 5.03 para fazer a o host, ṕorem ele não tem a pasta /lib/tls, tem que renomear alguma outra pasta, ou o xen vai roda normalmente?
Abraços
PH

[10] Comentário enviado por wikerpaz em 18/12/2010 - 18:52h

Gostaria de tirar uma duvida quando vc fala:

"Edite o arquivo /etc/network/interfaces e altere o nome xen por eth0 para que as máquinas virtuais possam utilizar corretamente os adaptadores de rede. Ainda, remova as entradas bridge_ports e bridge_maxwait. "

Em qual parte eu altero em todos o s locais que tem o nome xen???


# The loopback network interface
auto lo
auto "xen"
iface lo inet loopback

# The primary network interface
allow-hotplug "xen"
iface "xen" inet static
address 10.10.0.15
netmask 255.255.240.0
network 10.10.0.0
broadcast 10.10.15.255
gateway 10.10.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.10.10.1
dns-search localnet.br
# bridge_ports eth0
# bridge_maxwait 0

[11] Comentário enviado por bitetti em 12/05/2011 - 09:03h

Kra parabens pelo artigo.
Reunio bastante informação, nem na comunidade brasileira do Xen eu achei elas tão centralizadas.

Eu estava bem inclinado a testar o Xen, mas nunca saia do lugar. Agora com seu artigo, a espectativa de férias e Ubuntu 11.04 pra instalar acho q vou experimentar finalmente.

Por curiosidade, apesar de eu já sabia q o xen entra antes do SO, sera q dá pra testar a instalação dele em uma máquina virtual completa como a VMWare ou VirtualBox ?

A pergunta bem sacana: Vc já testou rodar jogos numa VM do Xen ?

[12] Comentário enviado por amaica01 em 02/10/2011 - 11:17h

Parabéns pelo artigo, também instalei xen o debian, agora estou atrás de uma ferramenta web para administrar, estou tentando o eucalyptus, só que não consegui sair da instalação, alguém tem um tutorial bom do eucalyptus? ou similar?

[13] Comentário enviado por andersonnf em 01/05/2012 - 11:22h

Parabéns pelo artigo, também tenho procurado por material com XEN na internet pois é um assunto que muito me agrada, com certeza seu artigo será de grande valia. Obrigado, um abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts