Usted está aquí: Inicio Dokumentazio Irekia Manuales Virtualización de servicios utilizando XEN Opciones avanzadas
Acciones de Documento

Opciones avanzadas

Nota: Ésta es la vista de impresión del Manual de referencia completo en una sola página. Si lo prefiere puede encontrar la versión original aquí.

En este manual explicamos el proceso de instalación de un servidor XEN y el proceso de creación de máquinas virtuales.

1. Hacer copias de máquinas virtuales

Te permite reutilizar máquinas virtuales

Has hecho un buen trabajo instalando una máquina virtual. Imagínate que ahora necesitamos crear otra máquina virtual muy parecida para cualquier otra cosa. ¿Tenemos que repetir todo el proceso? Pues no, aprovecharemos el trabajo realizado previamente.

Haremos una copia de la instalación existente y en adelante cuando necesitemos una máquina virtual precida, nos basaremos en la instalación que acabamos de hacer.

Como estamos utilizando LVM, obtendremos un snapshot (foto) del volumen lógico que utiliza la máquina virtual original.

Necesitamos conocer el tamaño del volumen que queremos clonar. En nuestro caso 10 GB.

root@IMH01XEN01:~# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/volgroupxen/xenwinxp01
  VG Name                volgroupxen
  LV UUID                9U95Sb-SjSS-28cw-0wUG-3rCe-eX81-xHEppQ
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                10,00 GB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           254:8

Crearemos un volumen intermedio para hacer la copia y al finalizar lo borraremos. Al volumen lo llamaremos FotoWindows.

root@IMH01XEN01:~# lvcreate -L  10G -s -n FotoWindows /dev/volgroupxen/xenwinxp01 
  Logical volume "FotoWindows" created

La nueva máquina virtual se llamará  xenwinxp02 por lo tanto a su volumen lógico lo llamaremos:  /dev/volgroupxen/xenwinxp02

root@IMH01XEN01:~# lvcreate -L 10G -n xenwinxp02 volgroupxen 
  Logical volume "xenwinxp02" created 

Ahora copiaremos la foto que tenemos en el snapshot al volumen que acabamos de crear. Necesita tiempo, pero al finalizar estará todo perfectamente copiado.

root@IMH01XEN01:~# dd if=/dev/volgroupxen/FotoWindows  of=/dev/volgroupxen/xenwinxp02
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 1070,87 s, 10,0 MB/s

Si lo preferimos, desde el snapshot podríamos copiar el disco a una imagen ISO en vez de copiarla a LVM. Este sería el comando:

root@IMH01XEN01:~# dd if=/dev/volgroupxen/FotoWindows of=/home/pedro/xenwinxp02.img 
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 387,568 s, 27,7 MB/s

Ahora es importante no olvidarnos que hay que borrar el  snapshot :

root@IMH01XEN01:~# lvremove /dev/volgroupxen/FotoWindows
Do you really want to remove active logical volume "FotoWindows"? [y/n]: y
  Logical volume "FotoWindows" successfully removed

Con esto hemos conseguido clonar el disco para la nueva máquina virtual. ¿Qué nos falta? Pues crear el fichero de configuración de la nueva máquina virtual. Hacemos una copia del fichero de configuración de la máquina original:

root@IMH01XEN01:/etc/xen# cp xenwinxp01.cfg xenwinxp02.cfg

Lo editamos y ponemos los parámetros correctos:

root@IMH01XEN01:/etc/xen# cat xenwinxp02.cfg 
kernel = '/usr/lib/xen/boot/hvmloader'
builder = 'hvm'
memory = 512
name = 'xenwinxp02'
vcpus = 1
vif = [ 'type=ioemu, bridge=xenbr0' ]
# cdrom = '/dev/sdc0'
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
boot='d'
sdl = 1
vnc = 0
# nographic=1 Para que no arranque las ventanas al arrancar la maquina
# y poder asi arrancarla desde consola
nographic = 1
disk = [ 'phy:/dev/volgroupxen/xenwinxp02,hda,w','phy:/dev/loop1,ioemu:hdc:cdrom,r']
device_model = '/usr/lib/xen/bin/qemu-dm'
usbdevice='tablet'

Ahora arrancamos la máquina virtual:

root@IMH01XEN01:/etc/xen# xm create xenwinxp02.cfg 
Using config file "./xenwinxp02.cfg".
Started domain xenwinxp02

Windows intentará obtener una IP por DHCP con lo cual miramos cual es la IP que ha recibido y configuramos nuestro servidor DHCP para que a su MAC le asigne una nueva dirección IP.

Por último, hay que tener en cuenta que hemos hecho un clon de un Windows, y si no queremos tener problemas en la red Windows deberíamos cambiarle el nombre, ya que es el mismo que el del original.

Para hacerlo:

  • Hay que cambiar el nombe de PC y sacarlo del dominio  (lo añadimos a Workgroup).
  • Reiniciamos la máquina virtual y entramos como administrador local del PC virtual
  • Lo añadimos de nuevo al dominio y reiniciamos (otra vez)

¿ Harto de tantos reinicios para cambiar el nombre del PC? Que quieres, es un Windows !! :-(

Si no ha habido problemas, el clon virtual del Windows es ya operativo.

2. Migrar una máquina virtual de VMWare a XEN

De VMWARE a XEN

Al comienzo hemos comentado que algo teníamos con VMWare. Hace un par de años instalamos la versión gratuita de VMWare Server sobre una debian, y teníamos un par de máquinas virtuales trabajando en esa instalación. Migrarlas a XEN es sencillo.

Lo primero que hacemos es instalar qemu en el servidor VMWare (máquina física linux debian)

vmware01:~# apt-get install qemu

Lo siguiente es crear una carpeta donde trabajar:

vmware01:/home/vmware# mkdir vmwaretoxen 
vmware01:/home/vmware# cd vmwaretoxen/
vmware01:/home/vmware/vmwaretoxen#

La máquina virtual vmware que vamos a clonar debe estar apagada, por lo que nos conectamos a ella y le hacemos un halt. Si no lo hacemos el proceso dará error.

A continuación comienza el clonado:

# vmware-vdiskmanager -r /home/vmware/VirtualMachines/DebianEtch/DebianEtch.vmdk -t 0 temporary_image.vmdk 
Using log file /tmp/vmware-root/vdiskmanager.log
Creating a monolithic growable disk 'temporary_image.vmdk'
  Convert: 100% done.
Virtual disk conversion successful.

Ahora creamos la imagen IMG compatible con XEN:

vmware01:/home/vmware/vmwaretoxen# qemu-img convert -f vmdk temporary_image.vmdk -O raw xen_compatible.img
Tras esto hemos conseguido en el fichero  xen_compatible.img el clon que copiaremos al servidor físico Xen mediante scp y lo tendremos listo para usar.

3. Transformar un servidor físico linux en servidor virtual

Te sirve para virtualizar ese servidor Linux viejo que tienes trabajando

Imagínate que tienes un servidor linux instalado hace tiempo que te interesa virtualizar, pero tienes software instalado que sería problemático instalar de nuevo.

Una opción que tienes es la de virtualizar el servidor físico. Yo para eso he utilizado la herramienta  Virt-P2V , y he conseguido migrar a XEN sin problemas algunos servidores linux viejos.

Virt-P2V  es un "Live CD" , y estos son los pasos a seguir::

  • Mete el CD en el servidor a clonar y reinicialo.
  • en el menu que te aparece introduce la IP del servidor XEN  y configura la conexión ssh (usuario y password) y dile en que carpeta remota del servidor XEN tiene que dejar la imagen
  • Te puedes ir a tomar un café mientras envía por ssh el clon. Bueno, como va a tardar un buen rato, mejor te tomas el café y vuelves al trabajo, que seguro que tienes cosas que hacer  :-)

Como ves, el proceso es sencillo.

Una vez ha finalizado, en la carpeta del servidor XEN que has configurado, verás dos ficheros:

  • Una imagen en formato IMG
  • Un fichero de configuración xml

Yo me suelo quedar con el fichero imagen y me cargo el XML. Luego creo un fichero de configuración con el que usarlo en XEN siguiendo los ejemplos que hemos visto antes.

4. Migrar un servidor virtual de formato IMG a formato LVM

...

Imagínate que tienes un servidor virtual en formato IMG y prefieres tenerlo en formato LVM. A nosotros nos ha pasado con el servidor de faxes Hylafax. En su fichero de configuración podemos ver que usaba una imagen como disco.

disk = [ 'tap:aio:/etc/xen/irudiak/XenHylafax20090126.img,hda,w']

Lo primero es crear un nuevo volumen lógico con el tamaño que tiene la imagen, en nuestro caso  4,1 Gb:

#lvcreate -L 4,1G -n XenHylafax volgroupxen

Luego paramos el servidor virtual que corre sobre esa imagen antes de hacer la copia. Una vez que lo hemos parado utilizamos el comando dd para la copia:

dd if= /etc/xen/irudiak/XenHylafax20090126.img   of=/dev/volgroupxen/XenHylafax bs=16M

Cuando finaliza la copia modificamos el fichero de configuración y donde antes hacía referencia a la imagen IMG, ponemos la referencia al volumen LVM:

disk = [ 'phy:/dev/volgroupxen/XenHylafax,hda,w']

Ya podemos arrancar de nuevo la máquina virtual.

Fácil, ¿verdad ?

5. Los últimos detalles

...

Si queremos que cuando arranque el servidor físico XEN arranquen también las máquinas virtuales, tenemos que añadir un enlace por cada servidor virtual, por ejemplo:

root@IMH01XEN01:/etc/xen# ln -s /etc/xen/XenNagios.cfg /etc/xen/auto/

Si no lo ponemos, tendremos que arrancar las máquinas virtuales a mano


Recomienda al IMH

Anuncios Google
Zerikasi
Zerikasi: Aprendizaje a lo largo de la vida
Gobierno Vasco - Departamento de Educación, Universidades e Investigación. Ir a su web
Ciclos Formativos - Heziketa Zikloak
Ciclos Formativos - Heziketa Zikloak
Contacto

IMH en las Redes Sociales
Siguenos en Twitter Siguenos en Facebook Siguenos en Tuenti Siguenos en Linkedin Siguenos en nuestro canal de Youtube Siguenos en Flickr Siguenos en SlideShare
Ingenieria en Alternancia en las Redes Sociales
Siguenos en Twitter Siguenos en Facebook Siguenos en nuestro canal de Youtube Siguenos en Tuenti Follow us on Flickr Follow us on Picasa