2011-10-24

Migrar de XEN a KVM

Necesitaba migrar una maquina de CentOS 5.5 (Asterisk) que tenia configurada en Xen sobre un Debian, a una maquina virtual usando KVM. El proceso de llevarme la imagen (img) no me genero ningún inconveniente ni instalarla sobre KVM. Pero al arrancar la maquina me decía que KVM no entendía el Kernel con el que estaba instalada esta maquina virtual.

Revisando la maquina virtual me di cuenta que en CentOS el kernel de la maquina virtual quedaba con el nombre 2.6.18-194.el5xen, es último xen era el culpable que no subiera la maquina, pero como cambiarlo???

Se me ocurrió algo que para muchos será un machetazo típico de los ingeniero electrónicos, pero que como alguna vez un profesor en la universidad me dijo "si así le sirve uselo". Entonces lo que hice fue instalar en KVM otra maquina con Centos 5.6, quedando el administrador así


Ahora en la maquina que estoy migrando le instalo una unidad de CD, pero que me lea mi imagen de KNOOPIX y que la secuencia de boot inicie en esta unidad, por lo que la configuración de la unidad quedaría así


Bueno ahora inicio ambas maquinas y en la maquina de KNOOPIX me aseguro de visualizar las particiones /boot y la partición /lib, ya que en estas se encuentran los archivos del kernel. Supongo que ya sabes que hice.

Una vez se tienen estas particiones listas para poder cargarle datos hacemos una copia de los siguientes archivos de la maquina CentOS5.6 de la siguiente forma

root@knoopix:~# scp -r root@centos5.6:/lib/modules/2.6.18-238.el5/ /mnt/lib/modules/
root@knoopix:~# scp -r root@centos5.6:/boot/*2.6.18-238.el5* /mnt/boot/

Ya con esto tenemos todos los archivos necesarios del kernel en la maquina que estamos migrando, ahora lo que necesitamos es que inicie por este kernel, por lo cual editamos el archivo grub.conf de la siguiente manera

root@knoopix:~# vim /mnt/boot/grub/grub.conf

Y se adicionan las siguientes lineas como kernel principal

title CentOS (2.6.18-238.el5)
          root (hd0,0)
          kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet rhgb noapic
          initrd /initrd-2.6.18-238.el5

Reinicias la maquina y ya te sube correctamente