Les traigo un tutorial propio para instalar XEN en debian squeeze.
XEN en un sofware opensource para virtualizar máquinas.
En este tutorial crearemos máquinas paravirtualizadas (PVM), no máquinas totalmente virtualizadas(HVM). En nuestro caso, las máquinas de alguna manera "saben" que están siendo virtualizadas.
Para los que tengan dudas sobre virtualización o XEN en particular puede empezar por:
http://es.wikipedia.org/wiki/Xen
Se presuponen conocimientos mínimos de UNIX.
Dato Importante: La ip del sistema host (DOM0) deber ser fija, no debe ser adquirida mediante dhcp.
No me hago responsable de posibles daños generados por este tutotirial.
Correr los siguiente comandos como root.
Instalamos los paquetes necesarios:
apt-get install xen-hypervisor xen-linux-system xen-utils xenstore-utils xenwatch xen-tools virtinst
Editamos el siguiente archivo:
nano /etc/modules
Agregamos esta línea o modificamos según sea necesario:
loop max_loop=64
Ahora editamos el siguiente archivo y descomentamos o agregamos las siguientes líneas:
nano /etc/xen/xend-config.sxp
network-script 'network-bridge antispoof=yes')
[...]
(vif-script vif-bridge)
Reiniciamos
reboot
Corremos el siguiente comando:
uname -r
Tu nuevo kernel Xen debería aparecer:
root@server1:~# uname -r
2.6.32-5-xen-amd64
Corremos:
xm dmesg
Si aparece el siguiente error:
root@server1:~# xm dmesg
WARNING! Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running?
root@server1:~#
Significa que estas corriendo un kernel XEN pero no el hypervisor, lo que significa que no puedes bootear las máquinas virtuales. Para solucionarlo debes cambiar el orden de booteo de tus kernels.
Hazlo editando este archivo:
nano /etc/default/grub
Al lado de DEFAULT está el número de kernel por defecto, cambialo por el correcto teniendo en cuenta que el primero que aparece a la hora de bootear es el cero, el segundo el uno y asi sucesivamente.
Rebooteamos:
reboot
Corremos nuevamente:
xm dmesg
Y todo debería ir bien.
Ahora editamos /etc/xen-tools/xen-tools.conf. Este archivo contiene los valores por default que se usan para crear imagenes xen excepto que utilices otros valores especifícos cuando las creas.
Cambié solo los siguientes valores, ustedes pueden cambiar mas o menos.
nano /etc/xen-tools/xen-tools.conf
[...]
dir = /home/xen
[...]
# lvm = vg0
[...]
dist = `xt-guess-suite-and-mirror --suite` # Distribución por defecto a instalr
[...]
gateway = 192.168.0.1
netmask = 255.255.255.0
broadcast = 192.168.0.255
[...]
passwd = 1 (con 0 no tiene passwd)
[...]
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
[...]
mirror = `xt-guess-suite-and-mirror --mirror`
[...]
serial_device = hvc0 #default
[...]
disk_device = xvda #default
[...]
Un ejemplo para crear una nueva máquina virtual, tipeamos desde consola:
xen-create-image --hostname=xen1.example.com --size=4Gb --swap=256Mb --ip=192.168.0.101 --memory=256Mb --arch=amd64 –role=udev
--hostame se refiere al hostaname de nuestra nueva pc
--size: se refiere al tamaño de su disco virtual
--swap: a la cantidad de memoria swap que utiliza
--ip:le asigna una op
--memory: Le asigna una cantidad de memoria
--arch: que arquitectura tendrá la nueva máquina virtual
Si queremos que las máquinas virtuales arranquen automaticamente con el arranque del sistema principal creamos un directrio llamado auto en /etc/xen (directorio por defecto)
Luego creamos un soft link desde ese directorio al archivo de configuración de la máquina virtual que nos interese. Por ejemplo
cd /etc/xen/auto
ln -s /etc/xen/apache.cfg
Comandos útiles:
En la mayoría de los casos luego del comando debe especificarse el/los nombres de dominio o archivos de configuración según corresponda:
xm create para arrancar una máquina virtual
xm shutdown para apagar una máquina virtual
xen-list-images para listar las imágenes existentes
xm-console para conectarnos a la consola de la máquina virtual
virt-clone para clonar una imagen
xen-delete-image para borrar una imagen
xm mem-set para asignarle memoria a una máquina virtual existente y funcionando
Hay muchisimos comandos y posibilidades.
Pueden correr man xm para mas información.
Las pcs vienen por defecto con ssh, por lo que una vez instaladas nos podemos conectar mediante este protocolo.
Links interesantes:
Página oficial del proyecto:
Tutorial en el que me base, tome gran parte y agregre otras cosas:
http://www.howtoforge.com/paravirtualization-with-xen-4.0-on-debian-squeeze-amd64
XEN en la wiki de Debian: http://wiki.debian.org/Xen
xm man page:
Vale aclarar que eso es menos de un 1% de la complejidad que se puede lograr con este software.
Espero les haya gustado, empece a trabjar con XEN hace un tiempo y la verdad es que vale la pena. Si veo que interesa luego hago un tuto para instalar un servidor mysql y un servidor con apache y php virtuales. Además de como backapear centralmente, automáticamente, incrementalmente y mediante ssh con rsnapshot.
