Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
La_virtualizacin_en_Canaima
Entonces, veo si poseemos memoria asignable.
# xentop
xentop - 01:38:06
Xen 4.0.1
5 domains: 1 running, 4 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown
Mem: 3145288k total, 2699160k used, 446128k free
CPUs: 4 @ 3000MHz
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
Id
83
System
Linux
5
82
83
83
8e
Extended
Linux swap / Solaris
Linux
Linux
Linux LVM
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
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
Mem VCPUs
6145
8
256
1
State
r-----b----
Time(s)
28827.1
68.9
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
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.