====== Instalación de XEN ======
Este Xen esta siendo instalado en un Debian/Unstable Etch. Este documento no es un tutorial, es una receta (es necesario tener conocimientos sobre lo que se está haciendo).
**Las maquinas virtuales utilizan dispositivos loop como discos**
===== Instalación de Xen =====
http://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p2
Preparar seguridad y herramientas en domU
apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig
apt-get install screen ssh debootstrap python python-twisted iproute bridge-utils libcurl3-dev
Instalar systema Xen
apt-get install xen-linux-system-2.6.18-3-xen-686
El xen-linux-system-2.6.17-2-xen-686 **tiene** bugs y provoca kernel panic
este es un metapaquete que intala todo lo necesario en un sistema Debian para que quede funcionando Xen.
==== Revisar grub ====
Conviene hacer una revisación de la configuración con la que ha dejado a grub la instalación de los paquetes
module /boot/vmlinuz-2.6.17-2-xen-686 root=/dev/hda1 ro console=tty0
esto permite levantar hasta 4 maquinas virtuales
module /boot/vmlinuz-2.6.17-2-xen-686 root=/dev/hda1 ro console=tty0 max_loop=X
donde X debe ser el doble de las máquinas virtuales a levantar (default: max_loop=8)
**Reboot**
Nuevos servicios deben aparecer una vez reinicado el servidor: ''xend xenstored xenconsoled''
Verificar la existencia de las interfaces ''peth0'' ''vif0.0'' y ''xenbr0''. En caso de que no estén levantadas, es necesario habilitar:
''/etc/xen/xend-config.sxp''
(network-script network-bridge)
# (network-script network-dummy)
y reiniciar ''/etc/init.d/xend restart''
===== Crear una maquina virtual base (domU) =====
http://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p4
Crear espacio para el sistema de máquinas virtuales
mkdir /vserver
mkdir /vserver/vm_base
mkdir /vserver/images
Crear particiones basicas:
dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500
mkfs.ext3 /vserver/images/vm_base.img
mkswap /vserver/images/vm_base-swap.img
Instalar debian básico en la imagen y configurar:
mount -o loop /vserver/images/vm_base.img /vserver/vm_base
debootstrap --arch i386 etch /vserver/vm_base/ http://www.pilas.biz/debian
chroot /vserver/vm_base
editar ''/etc/apt/sources.list'' y colocar los repositorios que se van a utilizar
apt-get update
apt-get install locales
dpkg-reconfigure locales
es_UY.UTF-8 (default)
en_US.UTF-8
es_ES.UTF-8
''/etc/environment''
LANGUAGE="es_UY.UTF-8:es_ES.UTF-8"
LANG=es_UY.UTF-8
LC_LANG=es_UY.UTF-8
LC_ALL=es_UY.UTF-8
export LANGUAGE LANG LC_LANG LC_ALL
e instalar algunas cositas útiles
apt-get install vim ssh zip unzip screen less iftop psmisc
apt-get remove --purge nano
hay que lograr que la configuracion reciba los datos desde el booteo....(que no anda)
rm -f /etc/hostname
crear y editar un ''/etc/fstab''
/dev/hda1 / ext3 defaults 1 2
/dev/hda2 none swap sw 0 0
Opcional (no necesario, pues Debian monta en init.d
/dev/shm no funcionó
/dev/hda1 / ext3 defaults 1 2
/dev/hda2 none swap sw 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
''/etc/network/interfaces''
auto lo
iface lo inet loopback
la configuracion de eth0 se forzó en interfaces (no se recibe desde afuera)
''/etc/hosts''
127.0.0.1 localhost.localdomain localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
desde la máquina principal copiar y arreglar lo que falta...
cp -dpR /lib/modules/2.6.17-2-xen-686 /vserver/vm_base/lib/modules/
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled
umount /vserver/vm_base
===== Crear primer maquina virtual (vm01) =====
http://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p5
cp -pf /vserver/images/vm_base.img /vserver/images/vm01.img
cp -pf /vserver/images/vm_base-swap.img /vserver/images/vm01-swap.img
''/etc/xen/vm01-config.sxp''
name = "vm01"
kernel = "/boot/vmlinuz-2.6.17-2-xen-686"
ramdisk = "/boot/initrd.img-2.6.17-2-xen-686"
root = "/dev/hda1 ro"
memory = 32
disk = ['file:/vserver/images/vm01.img,hda1,w','file:/vserver/images/vm01-swap.img,hda2,w']
# network (NO FUNCIONO)
# nics=1 (deprectated)
# se asume mac aleatorea
vif = [ '' ]
dhcp = "off"
ip = "192.168.2.44"
netmask = "255.255.255.0"
gateway = "192.168.2.1"
hostname = "vm01"
# runlevel
extra="2"
xm create -c /etc/xen/vm01-config.sxp
===== Problemas comunes =====
==== Error: Device 769 (vbd) could not be connected. Backend device not found. ====
Este error se debe a dos posibilidades:
* el parámetro ''disk = [ ]'' tiene problemas:
* El dispositivo loop no se encuentra
* LVM no se encuentra
* el kernel del dom0 no tiene soporte de dispositivos loop
* ver si esta cargado módulo ''lsmod | grep loop''
* pueden faltar suficientes dispositivos y hay que configurar ''[max_loop=X]'' como parámetro del kernel
==== Arrancar desde CD (para instalar) ====
Esto bootea una maquina en ramdisk:
xm create -c /dev/null ramdisk=initrd.img \
kernel=/boot/vmlinuz-2.6.18-3-xen-686 \
ramdisk=/boot/initrd.img-2.6.18-3-xen-686 \
name=ramdisk vif='' vcpus=1 memory=64 root=/dev/ram0 \
cdrom=/data/CDImages/trixbox-2.0-beta2.iso boot=d