Tabla de contenidos
1 Arrancando mquina virtual en modo 'single user' 1.1 Poniendo recursos de memoria en caliente 2 Creacin de maquinas virtuales XEN 4.0 usando LVM (Volmenes Lgicos) 2.1 Preparacin del Servidor 2.2 Instalacin de XEN 2.3 Para qu IPTable? 2.4 Probando XEN 2.5 Creacin de un grupo de volmenes 2.6 Crear nuestra primera maquina virtual usando xen-tools y LVM
Con esto logramos iniciar el computador, acceder a una terminal y limpiar las colas de envo.
Y luego procedo a poner a la mquina virtual, tanta memoria quiero que tenga:
xm mem-set repo 450 Error: memory_dynamic_max must be less than or equal to memory_static_max Usage: xm mem-set <Domain> <Mem> Set the current memory usage for a domain.
Este es sobretodo una advertencia, que puede ser inmediatamente solventada, subiendo el lmite mximo de memoria que puede ser asignado a ese dominio:
xm mem-max repo 512
La_virtualizacin_en_Canaima Como se puede observar hay una particin muy grande en comparacin a las dems y es una LVM, esto se debe a que esta servir como contenedor de todos los volmenes lgicos que se creen, por ejemplo: maquinas virtuales, particiones, entre otros.
Instalacin de XEN
Se deben instalar los siguientes paquetes en el contenedor: 1. aptitude install xen-linux-system-2.6.32-5-xen-amd64 xen-tools Adems tambin se instalar fail2ban, 1. aptitude install fail2ban Ms adelante explicar cual ser su funcin. Una vez instalados los paquetes, se debe configurar la interfaz de red para que actu como puente (bridge), de la siguiente manera: root@debian:/etc/xen#vim /etc/network/interfaces Se observar algo como esto:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
La_virtualizacin_en_Canaima
Eth0: Puede contener una direccin IP pblica (esttica o dinmica). Ej.: 200.11.10.25 Br0: Nos ayuda a tener una red privada dentro del contenedor y as es posible asignar direcciones IP a las maquinas virtuales como por ejemplo: 192.168.1.16. IPTable: Gracias a esto es posible hacer el reenvo de trafico que entra por eth0 y luego es enviado a cualquiera de las maquinas virtuales. Eth0_V: Son interfaces de red virtuales que se crean al momento de hacer la maquina virtual. MV1, MV2 y MV3: Son las maquinas virtuales.
Para qu IPTable?
Como se mencion anteriormente este servir para hacer el reenvo de trafico hacia las maquinas virtuales, primero se debe coloca un ?1? al archivo ip_forward que est en la ruta /proc/sys/net para que el contenedor sea capaz de hacer reenvo de trafico y por medio de reglas de PREROUTING el trafico se enva a cada maquina virtual. A continuacin se presentar un pequeo ejemplo: Se debe crear el script de IPTable y se guarda en /root/nombre_que_quieran.sh root@debian:/etc/xen#vim /root/firewall.sh Luego agrega las siguientes lineas:
#!/bin/sh #Limpiamos iptables iptables iptables iptables iptables iptables -t nat -X -t nat -F -t nat -Z -F -Z
ETH="eth0" echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/modprobe iptable_nat iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o $ETH -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i $ETH -d 192.168.1.15 --dport 33333 -j DNAT --to 192.168.3. iptables -t nat -A PREROUTING -i $ETH -p tcp --dport 33333 -j DNAT --to-destination 192.168.3.101: # otras reglas /etc/init.d/fail2ban restart
Al principio dije que explicara porque instalar fail2ban, como se puede observar se est usando en IPTable, su funcin es una sencilla manera de protegernos de ataques a fuerza bruta. Realmente ment no voy a explicar mucho como funciona, solo les menciono que lo uso en el IPTable.
Instalacin de XEN
La_virtualizacin_en_Canaima
Probando XEN
Para comprobar que el contenedor de maquinas virtuales xen (dum0) esta funcionando bien, se corre el siguiente comando.
root@debian:/etc/xen#xm list La respuesta esperada es la siguiente: Name ID Mem VCPUs State Time(s) Domain-0 0 6145 8 r----- 28365.3
Esto se debe a que squeeze utiliza grub2 y los valores de inicio estn equivocados para xen, para corregir este error hacemos lo siguiente: 1. mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux 2. update-grub2 Luego reinicias el contenedor y comprobamos otra vez
root@debian:/etc/xen# xm list Name ID Mem VCPUs State Time(s) Domain-0 0 6145 8 r----- 28365.3
La que posee el asterisco es la que se dejo para LVM, para este caso es /dev/sdc8. Se procede a crear un volumen fsico, que pudiera ser un disco duro real o un arreglo RAID. Para ello ejecutamos el siguiente comando: Probando XEN 5
La_virtualizacin_en_Canaima
root@debian:/etc/xen#pvcreate /dev/sdc8 Physical volume "/dev/sdc8" successfully created
S todo a salido bien podemos continuar. Ahora vamos a crear el grupo de volmenes vg0, para ello ejecuta el siguiente comando:
root@debian:/etc/xen#vgcreate -s 32M vg0 /dev/sdc8 Volume group "vg0" successfully created
El parmetro -s se usa para insertar extensiones fsicas que pudieran ser 4M, 8M, 16M o 32M. Esto quiere decir lo siguiente: -s = 4M ??> vg0 como mximo va ser de 256Gb. -s = 8M ??> vg0 como mximo va ser de 512Gb. -s = 16M ??> vg0 como mximo va ser de 1Tb. -s = 32M ??> vg0 como mximo va ser de 2Gb.
Ya es hora de crear nuestra primera maquina virtual, para ello ejecutamos el siguiente comando:
root@debian:/etc/xen#xen-create-image --force --hostname=nombre_mv --lvm=vg0 --ip=192.168.1.111
La_virtualizacin_en_Canaima Hostaname es el nombre de la maquina virtual Lvm es para especificar el grupo de volmenes que se va a utilizar y esto especifica que la maquina virtual ser creada bajo el paradigma de LVM. Ip es la direccion ip que le asignaremos a la maquinas virtial. Tambin pueden agregar otros parmetros para la creacin de la maquina virtual, como por ejemplo: ?fs Especifica el sistema de ficheros a utilizar, en nuestro caso ext3 ?image Especifica como crear las imagenes, si al completo full o en parte de la particion sparse ?kernel La direccin del kernel de domU que creamos en los primeros pasos ?memory La memoria de que va a disponer la maquina ?passwd Que solicite el password de root para la maquina en el momento de creacin ?size Tamao del disco ?swap Tamao de la swap ?copy Instala la nueva imagen copiada de otro directorio ?dist Especifica la distribucin a instalar (nosotros, sarge) ?debootstrap Para utilizar debootstrap si usamos ?dist. ?tar Obtiene las imagenes de un archivo previamente empaquetado ?dhcp obtiene la ip por dhcp ?gateway define el gateway ?netmask define la mascara de red ?copy copia la imagen de un directorio Luego hay que esperar que el sistema cree nuestra primera maquina virtual. Al terminar el proceso nos pedir la clave de root que se le asignar a la maquina virtual. Por ltimo podemos levantarla usando el siguiente comando:
root@debian:/etc/xen#xm create /etc/xen/nombre_mv.cfg -c
Luego para comprobar que la maquina virtual arranc sin problemas ejecuta:
root@debian:/etc/xen#xm list Name Domain-0 nombre_mv
ID 0 10
State r-----b----
Como se puede observar la maquina inicio con normalidad, es la que en la lista dice maquina_mv. Ahora para entrar en ella ejecuta:
root@debian:/etc/xen#xm console maquina_mv
Pedir el password de root que se coloc al culminar el proceso de creacin de la maquina virtual. Datos importantes Al crear una maquina virtual se crean dos volmenes lgicos, uno para la particin raz / y otro para el swap. (ambos parmetros se especifican en el archivo de configuracin de xen-tools, que est en /etc/xen-tools/xen-tools.conf). Para comprobarlo ejecuta el siguiente comando:
root@debian:/etc/xen#lvdisplay --- Logical volume ---
La_virtualizacin_en_Canaima
LV Name VG Name LV UUID LV Write Access LV Status # open LV Size Current LE Segments Allocation Read ahead sectors - currently set to Block device /dev/vg0/maquina_mv-swap vg0 ctMlN2-u7Vq-kGCs-wXVE-keYW-f4Rl-fDeSAz read/write available 1 256,00 MiB 8 1 inherit auto 256 254:16
--- Logical volume --LV Name /dev/vg0/maquina_mv-disk VG Name vg0 LV UUID sqfHvB-Ky1e-nCie-ZNU9-1tvB-fg3V-lRacdL LV Write Access read/write LV Status available # open 1 LV Size 4,00 GiB Current LE 640 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:17
LV Name: es el nombre del volumen lgico de la maquina virtual que pudiese ser / o swap. VG Name: nos dice el grupo de volumen donde se aloja el volumen logico. LV Size: nos indica el tamao del volumen lgico. Como se puede obsevar ya existen dos volumenes lgicos, el primero representa la swap de la maquina virtual (/dev/vg0/maquina_mv-swap) y el segundo la particin / ( /dev/vg0/maquina_mv-disk). Realmente esta ultima es el disco de la maquina virtual, es equivalente al archivo .img que se genera al crear una maquina virtual xen basada en dd.