====== 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