martes, 9 de marzo de 2010

Consulta Técnica: Conversión de máquinas linux.

Hace unos días nos preguntaban:

"Hola Jose Luis, bucando,buscando por ahi, he llegado a tu blog.

Estoy intentando vistualizar en ESXi una maquina física con Suse Linux 7.2 y kernel 2.2.19. Tiene unas viejas aplicaciones en cobol que se configuraron hace años, estan emuladas con ibcs porque originariamente eran para Unix Sco. y no tengo ni idea de como montarlas en un entorno nuevo.

Lo he intentado con vmware converter stand alone sin exito. Alguna ayuda, por favor?????

Gracias anticipadas."


La conversión de máquinas linux con converter nunca ha sido un tema simple. Quiero decir que cuando funciona, lo hace a la primera... pero cuando no...

He aquí mi receta, al menos la que me ha funcionado en varias ocasiones:

1. Clonado de la máquina física.

Para el proceso de clonado, yo uso Ghost For Linux. Sé que hay otras herramientas (a gusto del consumidor), e incluso con un dd directamente desde un CD de arranque con linux, pero a mi, casi siempre, Ghost for Linux me ha dado buenos resultados. Frente a dd, permite compresión de la imagen de destino, y con un poco de suerte, sólo te vuelca el espacio de disco usado, no el disco entero.

Ghost for linux tiene una interface algo rebuscada, por lo que aconsejo hacer alguna prueba antes. Sobra decir que has de sacar la imagen sobre un disco USB o similar.

2. Conversión en máquina virtual - Fase 1.

Una vez tengas la imagen de la máquina virtual en un disco USB, vamos a convertir esa imagen en una máquina virtual. Para ello, necesitaremos VMware Workstation, VMware Player o cualquier producto soportado por VMware Converter como máquina virtual a convertir.

Esta VM debería tener la siguiente configuración:

- Disco 0: Un disco de igual o mayor capacidad que la del servidor original a convertir. La controladora debe ser IDE o Buslogic.... En destribuciones antiguas no se suele encontrar el driver LSI.
- CD: La imagen ISO de Arranque de Ghost For Linux
- USB0: El disco USB donde hemos sacado la imagen del servidor a convertir.

Opcional: En caso de no poder/querer usar la opción de mapeo USB, siempre podemos mapear el disco USB en modo RAW a la VM a crear.

Una vez configurado el hardware virtual de la VM, procederemos a arrancarla desde el CD virtual (es decir, con la imagen de Ghost for Linux)

Tras arrancar, Clonaremos la imagen que sacamos en el disco USB sobre el disco 0 de la VM.

3. Arranque de la VM.

Una vez convertida la VM, cruzamos los dedos y arrancamos la máquina virtual. Si todo va bien, la VM debería arrancar sin problemas..... pero si al arrancarla nos da un "kernel panic" es posible (y más que probable) que el driver de disco IDE o Buslogic no esté configurado. Ahora vendrá la parte divertida.

En este momento es buena idea tener a mano un rescue disk de la distribución linux que nos ocupa, o en su defecto, un Live CD de cualquier distribución. Reconfiguraremos la VM para que el CD virtual apunte a la imagen ISO o CD de recuperación, y rearrancaremos la máquina haciendo que esta arranque desde este CD o ISO.

Una vez arrancado y en la lshell, procederemos a montar el disco 0 en, por ejemplo, /mnt/sysimage. Una vez hecho esto, hagamos un chroot a /mnt/sysimage.

naveguemos entonces dentro del nuevo root a la carpeta /etc, y allí encontraremos el fichero modules.conf . Editaremos la línea del alias correspondiente a la controladora de disco original del servidor físico, substituyéndola por el driver Buslogic.

Ahora cambiemos al directorio /boot y, mediante el comando mkinitrd, regeneremos el ramdisk de arranque. (mkinitrd -f -v /boot/initrd-[versión]-img [versión]

Reiniciemos la máquina virtual, desconectemos el CD y, con un poco de suerte, la máquina arrancará a la perfección.

Es buen momento para isntalar las vmware-tools en la VM.

4. Conversión en máquina virtual - Fase 2.

Ahora, y tras apagar la VM, usaremos el converter para pasar nuestra VM a los ESX.

Este no es un proceso infalible, especialmente si usas LVM o si el driver Buslogic no está en el disco original de la máquina. Pero a mí me ha funcionado en unas cuantas ocasiones. Te dejo un par de Links que serán seguro de ayuda.

Un saludo