docs:virtualizacion:xen:instalacion-loop

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

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.

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

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

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

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

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
  • docs/virtualizacion/xen/instalacion-loop.txt
  • Última modificación: 2014/12/08 01:28
  • por 127.0.0.1