martes, 1 de mayo de 2012

Usando virt-v2v para convetir de ESX a RHEV

Instalar en un servidor (Red Hat a ser posible) el paquete virt-v2v
yum install virt-v2v
Conexión con el ESX de VMware

En el directorio del usuario que vamos a usar para ejecutar el convertidor necesitamos crear un fichero donde la aplicación buscará las credenciales para conectarse al ESX. El home del usuario está en $HOME y el fichero se tiene que llamar .netrc con permisos 0600
cd $HOME
vi .netrc
machine hostname_esx login usuario_con_acceso_al_esx password la_clave_del_usuario
chmod 0600 .netrc 
Convirtiendo máquinas linux

No he tenido ningún problema al ejecutar este tipo de conversión. Tras ejecutar el proceso la única tarea que realicé en la maquina convertida fue cambiar la MAC asociada a la tarjeta de red. La conversión se encargó de des-instalar las vmware-tools e instaló los módulos necesarios para los drivers virtIO.
Datos para la conversión:

Origen
esx://esxorigen.dominio.net
Le pasamos como parámetro, en la URL, un indicador para decirle a la utilidad que no verifique el certificado del ESX.
/?no_verify=1
Destino
Mi destino es un Dominio Export de RHEV. Se trata de un compartido NFS (xxxx.dominio.net:/opt/exports) donde se alojará la máquina convertida.

Red
En la maquina destino le vamos a asignar la logical network rhevm (creada por defecto en la instalación del RHEV)

Nombre del servidor
Es el nombre que tenemos registrado en el ESX para la máquina virtual a convertir.
virt-v2v -ic esx://arafo.opencanarias.com/?no_verify=1 -o rhev -osd fenix.opencanarias.com:/opt/exports --network rhevm techmotrip_pre
Problemas convirtiendo máquinas

Los errores que devuelve la aplicación virt-v2v son extraños. Me he encontrado errores indicando que no se encuentra el ESX de origen de la maquina a convertir y el problema era con el nombre de la máquina virtual a convertir en el almacenamiento.

virt-v2v -ic esx://prueba.esx.local/?no_verify=1 -o rhev -osd destino.rhev.local:/opt/exports --network rhevm xxxxxx

libvirt error code: 42, message: No se encontró dominio: No existe un dominio denominado 'xxxxxx'

Esto indica que en el ESX prueba.esx.local no sabe nada de una máquina virtual que se llame xxxxxx

virt-v2v: falló al conectarse con el servidor esx: not found

Por lo que he visto, si la maquina que vas a convertir tiene un nombre en el Virtual Center y otro en el DataStore, virt-v2v tiene problemas para sacar la maquina. Hay que hacer coincidir ambos.


Convirtiendo máquinas Windows

En este caso me he encontrado con un problemas a la hora de convertir las máquinas. La conversión comienza correctamente, lee los discos origen y luego sale por pantalla el mensaje "virt-v2v: No root device found in this operating system image." Este mensaje aparece convirtiendo Windows XP o servidores Windows 2000 y Windows 2003.

Seguiré probando...