Neste artigo mostro como instalar e configurar o software de virtualização XEN no Debian Etch. Para isso utilizaremos conceitos de LVM, entre outras coisas.
Para automatizar a inicialização de uma VM (boot juntamente com o sistema operacional), crie links simbólicos para a mesma dentro de /etc/xen/auto. Exemplo para a /etc/xen/vm1:
# cd /etc/xen/auto
# ln -s /etc/xen/vm1
Comandos úteis para manipular as VMs (xenU)
Shutdown sem estar dentro da máquina virtual:
# xm shutdown -H vm1
Reboot sem estar dentro da máquina virtual:
# xm reboot vm1
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.
[5] Comentário enviado por cromado em 07/08/2008 - 23:17h
Não li , más por se tratar de XEN já merece um 10. estou pensando que assunto será meu trabalho de conclusão de curso , talvez fale sobre XEN ... vou testar esse tuto , se fluir legal , funfar numa boa , talvez me anime e fecho meu TCC com XEN ... olha a responsa aí hein cara =).
[6] Comentário enviado por Marcus-RJ em 07/08/2008 - 23:30h
Está certo!!!! rsrsrs...
Case você use o Debian Etch como distribuição, e seu hardware nao seja muito moderno (em geral, evite HDs do tipo SATA) é praticamente certo esse tutorial funcionar, com sobras! Porém qualquer dúvida ou problema que ocorra no meio do caminho, o vivaolinux está aqui para isso. xD
[7] Comentário enviado por pink em 09/08/2008 - 13:42h
Caro Marcus Jabber,
Está ótimo seu artigo, 10! Você esclareceu perfeitamente o conteúdo proposto, com links, conteúdo para pesquisa, manual de instalação, sem dizer que é num Debian Etch (que eu amo demais), fez uso da didática, simplicidade como foi transmitida a informação, detalhes de configuração... Enfim, em outras palavras está perfeito, fico feliz de ver algo tão importante como virtualização aqui no VOL.
Anos atrás conheci a importância da virtualização, na época foi à implementação em um laboratório de informática com a finada Conectiva Linux 10.
Já ouvi falar muito do XEN, mas ainda não nos conhecemos pessoalmente hehehe, mas acredito que ainda vou ter uma oportunidade em testá-lo e configurá-lo.
Parabéns pela qualidade do artigo, pela sua presença e obrigada por compartilhar com a comunidade.
Beijos, pink
Fique com Deus.
[8] Comentário enviado por maran em 09/08/2008 - 15:34h
Bom velinhu, sensacional, realmente um belo artigo.
eu gosto deste tipo de artigo, grande, didático e eficiente.
Mas sobre o Red Hat , você só consegue tamanha fácilidade na versão paga, que vem com algusn softwares e kernel especial , ou seja, eles criam um kernel próprio para este propósito, junto com ferramentas....
Por isso a Red Hat , é paga, não o linux em si, e sim seu serviço !
Testei algo parecido no CentOS, e já achei magnifico, imagine com outrs ferramentas.
Mas voltando a seu artigo, já está lá.
Favoritos, grande abraço
Maran
[9] Comentário enviado por llavoura em 11/08/2008 - 09:27h
Parabéns pelo artigo Marcus !! Está bem completo e explicativo.
Aqui no trabalho usamos o XEN com Fedora 8, e ao contrário do Red Hat no Fedora não há a necessidade de se pagar e o Kernel já vem preparado para trabalhar com virtualização, sem necessidade de se recompilar.
Depois de corretamente configurado, as máquinas virtuais funcionam numa boa, dependendo da necessidade vale a pena mesmo utilizar virtualização, vc aproveita melhor o potencial do hardware, principalmente em se tratando de servidores.
[12] Comentário enviado por Galvaovao em 31/08/2008 - 16:01h
Olá, na verdade o Eriberto já havia escrito sobre instalacao e configuracao do Xen no Debian Etch, mas não na internet. O referido conteudo se encontra na segunda edicao de seu livro lancado no ano passado "Descobrindo o Linux".
Mas é legal disponibilizar mais material sobre o assunto , ainda mais sobre o Xen que é complicado de se instalar.
[13] Comentário enviado por henbran em 10/12/2008 - 21:06h
Iniciei a instalação por este tutorial porém ocorreram alguns erros e agora não sei por que mas minha configuração de rede consta como desabilitada. Rodando a mesma máquina no windows XP está OK porém no debian após esta tentativa de se instalar o XEN tive este impecílio de ficar sem net. Como faço para checar e resolver isso? Seria o caso de após instalado o XEN a rede não rode para a máquina real, mas só na virtual?
[14] Comentário enviado por Marcus-RJ em 23/12/2008 - 09:18h
@Galvaovao
Boa sua colaboração, não sabia do livro do Eriberto. De qualquer forma, valeu a minha contribuição aqui no VOL também.
@henbran
Alfuma coisa está errada na sua configuração de rede, não é correto a máquina real perder a rede. Verifique a configuração das suas bridges com o comando brctl e revise a parte de rede no artigo. Erros costumam estar na criação das bridges ou configuração do /etc/network/interfaces
No geral verifique se vocẽ está associando a bridge ao dispositivo correto tanto no interfaces quanto no arquivo de configuração da VM ( /etc/xen/algumavm .
[15] Comentário enviado por rogawa em 28/04/2009 - 21:39h
Eae Marcus, blz? Muito bom seu artigo, parabéns! Estou colocando em prática num Dell 2900 III com 2 Xeon 2.33Ghz, 4GB de RAM e 2 HD SAS de 73GB cada em RAID0. Tirando alguns percalços por conta de não ter prestado atenção em alguns detalhes, tudo correu bem. Só que quando inicializo minha vm, vejo o processo de boot até que a coisa trava... Dou um CTRL+], um xm list, e vejo que minha vm está com state b, de blocked. Busquei algo nas listas oficiais, mas as respostas são bem incipientes, tipo, o state b pode ser decorrente de um monte de coisas, nada em específico. Alguma dica do que pode ser? Abraços e sucesso!