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.
Desligar a máquina virtual, bruscamente, sem sincronizar ou desmontar discos:
# xm destroy vm1
ATENÇÃO: Esse comando é equivalente a um kill -9 ou a um desligamento abrupto de uma máquina real. Só utilize em casos extremos. Exemplo: perda de controle da máquina virtual. O uso desse comando poderá causar danos, como o corrompimento de filesystem e a perda de dados.
Listar as máquinas que estão sendo executadas:
# xm list
Obs.: Ao listar as máquinas poderão aparecer algumas letras que indicam o estado das mesmas. As principais são:
r (running): indica que a máquina está executando alguma tarefa;
b (blocked): indica um bloqueio de atividade, geralmente causado por espera para acesso a dispositivos;
p (paused): indica que a VM sofreu pausa (veja a seguir como estabelecer pausa na execução);
s (shutdown): indica que a máquina está em processo de shutdown;
c (crashed): indica que máquina sofreu um "crash". Essa situação deve ser do conhecimento do hypervisor para que o estado "c" seja listado;
d (dying): indica que a máquina está saindo do ar mas ainda não terminou por algum motivo temporário. Esse estado geralmente ocorre durante shutdown ou crash da máquina.
Top do sistema e das máquinas:
# xm top
Pausa na execução de uma máquina:
# xm pause vm1
Retirar pausa na execução de uma máquina:
# xm unpause vm1
Redefinir a quantidade de memória RAM utilizada por uma máquina em execução:
# xm mem-set vm1 256
Desligamento da máquina real
Caso a máquina real seja desligada ou reiniciada por um comando regular (ex: reboot, halt -p, shutdown -(h|r) now, init 0), o estado de execução de cada máquina virtual será salvo automaticamente, dispensando a necessidade de retirá-las do ar previamente. No momento da reinicialização da máquina real, as máquinas virtuais serão recolocadas no ar com base nos dados salvos no momento do desligamento.
Os dados das máquinas são salvos em /var/lib/xen/save e, basicamente, consistem em um dump de memória. Assim sendo, cada arquivo terá o tamanho da quantidade de memória atribuída a cada máquina.
Em caso de erros, verifique o log /var/log/xend.log.
[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)
[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.
[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.
[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.
[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!