Vm-debian

De Xen-BR wiki

Xen-BR 
Criando uma maquina virtual Debian

Xenlogo.png




Tabela de conteúdo

Pré-requisitos

  • Ter o Dom0 instalado e configurado
  • Ter o LVM configurado e ativo

Pacotes necessários

Para fazer uma máquina virtual Debian é necessário inicialmente ter disponível no Dom0 o pacote debootstrap. O debootstrap é um conjunto de script que providencia uma estrutura básica funcional de um sistema Debian.

apt-get install debootstrap

Preparando o disco virtual LVM

Antes de partimos para o uso do debootstrap, crie um volume lógico no seu grupo de volumes do LVM. Neste exemplo, estou sugerindo o nome do grupo de volumes do LVM como VGxen e o volume lógico como debian.disk:

lvcreate -L 10G -n debian.disk VGxen

Após criado o volume lógico, particione-o para podermos ter em um único dispositivo todas as partições virtuais:

 fdisk -b 512 -C 4096 -H 16 -S 32 /dev/VGxen/debian.disk

Crie as seguintes partições:

partição 1: tipo swap (82) : 512M (ou coloque o tamanho que desejar)
partição 2: tipo linux (83) : o restante.

Esta tabela é somente uma demonstração do exemplo. Você poderá redimensionar e criar as partições que deseja, da maneira que lhe for mais conveniente.

Instale agora o multipath-tools para poder ter acesso à tabela de partição embutida no volume lógico:

apt-get install multipath-tools

Disponibilize acesso às partições:

kpartx -a /dev/mapper/VGxen-debian.disk

Será disponibilizado em /etc/mapper as partições criadas anteriormente com fdisk. Formate-as:

mkswap /dev/mapper/VGxen-debian.disk1
mkfs.ext3 /dev/mapper/VGxen-debian.disk2

Instalando um sistema Debian básico

Monte a partição /dev/mapper/VGxen-debian.disk2 para que possamos instalar o sistema Debian básico com o debootstrap:

mkdir /mnt/debian
mount /dev/mapper/VGxen-debian.disk2 /mnt/debian

Instalando o sistema Debian básico:

debootstrap etch /mnt/debian http://ftp.br.debian.org/debian

Este processo deverá demorar um pouco dado que todos os pacotes serão baixados da internet.

Configuração pós-instalação

Alguns arquivos são necessários serem alterados para que seu sistema funcione a contento. São eles:

  • /etc/inittab
  • /etc/securetty
  • /etc/hosts
  • /etc/hostname
  • /etc/network/interfaces

No arquivo /mnt/debian/etc/inittab, inclua a linha abaixo para que o console em modo texto do xen esteja acessivel:

co:2345:respawn:/sbin/getty 38400 xvc0

No arquivo /mnt/debian/etc/securetty, inclua as linhas abaixo para que usuários possam se autenticar no console em modo texto do Xen:

# Xen console 
xvc0

No arquivo /mnt/debian/etc/hosts, inclua os dados do host localhost e do seu novo sistema Debian:

127.0.0.1 localhost.localdomain localhost
192.168.0.5 debian-vm.dominio.com debian-vm

No arquivo /mnt/debian/etc/hostname, inclua o nome do guest:

debian-vm

No arquivo /mnt/debian/etc/network/interfaces, inclua os dados relativos às suas interfaces de rede:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
       address 192.168.0.5
       netmask 255.255.255.0
       network 192.168.0.0
       gateway 192.168.0.1

Agora, com todos os arquivos configurados, copie os módulos do kernel para o local apropriado no disco da maquina virtual:

cp -a /lib/modules/$(uname -r) /mnt/debian/lib/modules

Desmonte o disco da maquina virtual:

cd /mnt
umount /mnt/debian

Preparando o arquivo de configuração da maquina virtual

Em /etc/xen/auto, crie o arquivo de configuração da sua maquina virtual. Como sugerido, estou criando o aquivo com o nome debian.cfg. Abaixo o conteúdo do arquivo:

import commands
krn_vers = commands.getoutput('uname -r')
builder = 'linux'
name ='debian'
disk = [ 'phy:/dev/VGxen/debian.disk,xvda,w' ]
memory = 512
vif = [ 'bridge=xenbr0' ]
kernel = '/boot/vmlinuz-' + krn_vers
ramdisk = '/boot/initrd.img-' + krn_vers
root = '/dev/xvda2 ro'
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
extra = 'xencons=xvc console=xvc0 video=tty'
vfb = [ 'type=vnc,vncdisplay=0,vnclisten=0.0.0.0,vncpasswd=suasenha' ]

Note que, na última linha, foi declarado o número do vncdisplay bem como uma senha e também quem pode acessar este console por vnc.

Salve o arquivo e inicie a maquina virtual:

xm create debian.cfg

Para se conectar à maquina virtual pelo console:

xm console debian

Para se conectar por vnc, você deverá ter configurado o Xen para suportar acesso remoto. Para isso o arquivo /etc/xen/xend-config.sxp no dom0 deverá ter as linhas relacionadas ao vnc da seguinte maneira:

# The interface for VNC servers to listen on. Defaults
# to 127.0.0.1  To restore old 'listen everywhere' behaviour
# set this to 0.0.0.0
(vnc-listen '0.0.0.0')

# The default password for VNC console on HVM domain.
# Empty string is no authentication.
(vncpasswd )

E ainda para termos o teclado abnt2 suportado no console via vnc:

# The default keymap to use for the VM's virtual keyboard
# when not specififed in VM's configuration
(keymap 'pt-br')

Se estes parâmetros não haviam anteriormente sido considerados reinicie o daemon xend:

/etc/init.d/xend restart

Caso os parâmetros já estivessem configurados, pelo no seu desktop use o vncviewer para chamar o console da maquina virtual debian apontando para o ip/hostname do dom0 e o vncdisplay configurado no arquivo de configuração ( vfb = [ 'type=vnc,vncdisplay=0,vnclisten=0.0.0.0,vncpasswd=suasenha' ] ):

vncviewer ip_dom0:0
Good look!
Ferramentas pessoais