XEN - Instalação e configuração no Debian Etch
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.
Parte 3: Instalando e configurando
Vamos instalar alguns pacotes agora:
# aptitude update
# aptitude upgrade
# aptitude install apmd less lvm2 linuxlogo rcconf bridge-utils iproute xen-hypervisor-3.0.3-1-i386 xen-utils linux-image-2.6.18-6-xen-686 xen-linux-system-2.6.18-6-xen-686
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:
# mkinitramfs -o /boot/initrd.img-2.6.18-6-xen-686 2.6.18-6-xen-686
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
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:
Tudo feito, reinicie a máquina e dê boot pelo novo kernel, isto é, o kernel xen.
# aptitude update
# aptitude upgrade
# aptitude install apmd less lvm2 linuxlogo rcconf bridge-utils iproute xen-hypervisor-3.0.3-1-i386 xen-utils linux-image-2.6.18-6-xen-686 xen-linux-system-2.6.18-6-xen-686
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:
# mkinitramfs -o /boot/initrd.img-2.6.18-6-xen-686 2.6.18-6-xen-686
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
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
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.