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.
Obs.: Os pacotes que contém "2.6.18-6-xen-686" podem ser mudados de acordo com a arquitetura do seu computador e versão de kernel. Se você possui o kernel 2.6.18 do Debian Etch (para descobrir a versão do kernel, utilize o comando "uname -r") e a arquitetura i686, ou seja, a arquitetura usada na maioria dos PCs com processadores 32 bits nos últimos 7 anos ou mais, a sua opção é igual a mostrada acima. Caso contrário, faço os devidos ajustes.
Agora vamos criar a imagem initrd do novo kernel xen baixado:
Obs.: O número 2.6.18-6-xen-686 foi obtido com o comando "ls /lib/modules".
A princípio não será necessário mudar o arquivo de configuração do grub para aparecer o novo kernel como opção de boot, porém não custa verificar.
# cat /boot/grub/menu.lst
Renomeie/desabilite o diretório /lib/tls com o comando:
# mv /lib/tls /lib/tls.disabled
Altere as configurações de rede a fim de criar uma bridge que será utilizada pelas VMs. Para tanto, edite o arquivo /etc/network/interfaces e remova ou comente toda a configuração do adaptador de rede da máquina real. Mantenha as configurações do loopback e configure a bridge.
A seguir dois exemplos de como ficará o conteúdo final do arquivo. O primeiro exemplo para ip estático e o segundo para dhcp. Em ambos os exemplos assumo a interface eth0 como a interface física utilizada e nomeio a interface xen como "xen" mesmo, mas você pode escolher o nome que te agradar.
No primeiro exemplo utilizei o IP 192.168.0.59, com gateway 192.168.0.253, na classe C. Faça os ajustes necessários para seu ambiente.
# vi /etc/network/interfaces
auto lo #conf loopback
iface lo inet loopback
#### configuração ip estático ####
allow-hotplug xen #nome da interface = xen, mas poderia ser "pedrito"
iface xen inet static #caso coloque "pedrito" acima, coloque "pedrito" aqui também.
address 192.168.0.59
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.253
bridge_ports eth0 #só porque eu uso a eth0, ajuste para sua eth*
bridge_maxwait 0
Obs: A linha "bridge_ports eth0" associará a bridge à interface eth0. Com isso, a eth0 passará responder, na rede, pelo endereço IP 192.168.0.59. Em conseqüência, não deverá haver uma configuração individual da eth0. Caso a sua rede possua DHCP, a configuração ficará assim:
#### configuração ip dinâmico ####
auto lo
iface lo inet loopback
auto xen #nome da interface = xen, mas poderia ser "pedrito"
iface xen inet dhcp #caso coloque "pedrito" acima, coloque "pedrito" aqui também.
bridge_ports eth0
bridge_maxwait 0
Tudo feito, reinicie a máquina e dê boot pelo novo kernel, isto é, o kernel xen.
[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!