Conhecimento para todos

Xen Mistérios, Instalação via .deb

Agosto 9, 2007 · 11 Comentários

 

Pessoal, gostaria de dizer minha enorme satisfação de poder coloborar, aqui vou colocar como colocar no ar uma máquina virtualizada com Xen, utilizando o Debian Etch 4.0.

 

Meu artigo pode ser considerado mais um “script” de instalação do que um Howto.

Gostaria de deixar claro, que minha intenção é a melhor, então se algo estiver errado, ou se me esqueci de algo, por favor me avisem.

 

Um pouquinho de conceito:

 

 

 

Existem dois tipos básicos de virtualização de máquinas, temos a irtualização total, e a paravirtualização. Na virtualização total, há uma virtualização dos elementos básicos de hardware e de software (processador, memória,kernel etc). Na paravirtualização, apenas alguns elementos são virtualizados. Por exemplo, o Vmware trabalha comVirtualização total. Xen (pronucia-se zêin) utiliza a técnica de paravirtualização, chegando a utilizar o mesmokernel para a máquina real e para a máquina virtual.

 

xen-teste

 

 

Então nesse pequeno script vou mostrar como colocar para funcionar o Xen !!!

 

 

Vamos utilizar o aptitude para instalar os pacotes necessarios:

 

# aptitude install ntpdate less

 

 

Configuração dos volumes lógicos . Eu utilizei a LVM(Logical Volume Manager).

 

Instalando LVM, é importante instalar, porque as máquinas virtuais ficaram dentro da lvm, mas é possivél fazer de outras maneiras:

 

 

 

# aptitude install lvm2

 

 

Alguns comandos para gerenciamento que nós iremos precisar executar:

 

 

Procura grupos de volume em todo o disco e cria os arquivos /etc/lvmtab e /etc/lvmtab.d:

 

# vgscan

 

 

Encontra todos os volumes fisicos existentes:

 

# pvscan

 

 

Criando um volume fisico, no meu caso eu tinha um barra em /dev/hda1 e um swap em /dev/hda2, então:# pvcreate /dev/hda3

 

# pvscan

 

 

Para verificar os volumes criados:

 

# lvs

 

 

Definindo um grupo de volume:

 

# vgcreate vg00 /dev/hda3

 

 

Ativando um grupo

 

# vgchange -a y

 

# vgchange -v vg00

 

 

Consultando um grupo de volume:

 

# vgdisplay -v vg00

 

 

Instalando a Imagem do Kernel utilizado pelo XEN:

 

# aptitude install xen-linux-system-2.6.18-3-xen-686 ou uma versão mais nova :

 

xen-linux-system-2.6.18-4-xen-686

 

 

Ferramenta que o Xen utiliza para criação de máquinas:

 

# aptitude install xen-tools

 

 

Crie as entradas necessárias para o kernel dentro do arquivo /boot/grub/menu.lst:

 

# vi /boot/grub/menu.lst

 

title Xen 3.0.3-1-i386 / Debian GNU/Linux, kernel 2.6.18-3-xen-686
root (hd0,0)
kernel /xen-3.0.3-1-i386.gz dom0_mem=128M
module /vmlinuz-2.6.18-3-xen-686 root=/dev/hda2 ro vga=791 console=tty0
module /initrd.img-2.6.18-3-xen-686
savedefault

 

 

Edite o arquivo interfaces, as configurações de rede a fim decriar uma bridge que será utilizada pelas VM.

 

# vi /etc/network/interfaces

 

auto lo
auto xenbr0
iface xenbr0 inet static
address 192.168.3.44
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.3.1
bridge_ports eth0
bridge_maxwait 0
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.3.1
dns-search caio.com.br auto xenbr0:0
iface xenbr0:0 inet static
address 192.168.5.9
netmask 255.255.255.0

 

 

Exemplo de um arquivo xen-tools:

 

# vi /etc/xen-tools/xen-tools.conf

 

size = 1Gb # Disk image size.
memory = 32Mb # Memory size
swap = 32Mb # Swap size
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = sarge # Default distribution to install.
image = sparse # Specify sparse vs. full disk images.
kernel = /boot/vmlinuz-2.6.18-3-xen-686
initrd = /boot/initrd.img-2.6.18-3-xen-686
mirror = http://ftp.us.debian.org/debian/

 

 

Após feito isso, reinicia a máquina para entrar com o novo kernel.

 

# reboot

 

 

Pequeno exemplo de criação de máquina ( se aprofunde mais, que dirvesão é o que não falta):

 

# xen-create-image –size=2Gb –swap=128Mb –dhcp –hostname=caio –debootstrap –lvm=vg00 –dist=etch

 

 

Exemplo do arquivo .cfg:

 

# vi /etc/xen/caio.cfg

 

# Kernel + memory size
#
kernel = ‘/boot/vmlinuz-2.6.18-3-xen-686′
ramdisk = ‘/boot/initrd.img-2.6.18-3-xen-686′
memory = ‘128′
#
# Disk device(s).
#
root = ‘/dev/sda1 ro’
disk = [ 'phy:vg00/caio-disk,sda1,w', 'phy:vg00/caio-swap,sda2,w' ]
#
# Hostname
#
name = ‘caio’
#
# Networking
#
dhcp = ‘dhcp’
vif = [ '' ]
#
# Behaviour
#
on_poweroff = ‘destroy’
on_reboot = ‘restart’
on_crash = ‘restart’

 

 

Lista das máquinas ativas:

 

# xm list

 

Entrar na máquina ativa:

 

# xm console nome

 

 

Desligar a máquina:

 

# xm shutdown nome

 

 

Partições da LVM, lembrando que o limite é 250 por VG (Volume Group):

 

# lvs

 

 

Ligar a VM e entrar no console:

 

# xm create -c /etc/xen/caio.cfg

 

 

Manuais, Leituras sugeridas(# man xxx):

 

xm (1) – Xen management user interface
xend-config.sxp (5) – Xen daemon configuration file
xen-create-image (8) – Easily create new Xen instances with networking and OpenSSH.
xen-delete-image (8) – Delete previously created Xen instances.
xen-list-images (8) – List all the created and configured Xen images.
xen-update-image (8) – Update the software installed upon offline Xen images.
xt-create-xen-config (8) – Create a Xen configuration file for a new guest

 

 

Bom Pessoal, esspero que possa ajudar vocês um pouco … mas o “mundo da virtualização” é muito mais que isso, não esqueção ! Estão faltando muitos conceitos e alguns detalhes, mas que podem ser achados na internet.

 

E TAMBÉM NADA SUBSTITUI A COMUNIDADE XEN-BR, os caras estão fazendo um ótimo trabalho e vale a pena conferir.

http://listas.cipsga.org.br/cgi-bin/mailman/listinfo/xen-br

http://wiki.xen-br.org/index.php?title=P%C3%A1gina_principal

 

Outro cara que escreveu coisas bacanas mas pra versão Debian Sarge foi:

http://www.eriberto.pro.br/xen/

 

 

Até a próxima … ;-)

Categorias: debian · etch · virtualização · xen

11 respostas Até agora ↓

Deixe um comentário