migrando domU de un disco local a un disco local

Imagen de Epe

el otro día a Rafael le sucedió lo mismo: Tenía una máquina con un disco local, las máquinas virtuales estaban en LV cada una. Se topó conque tenía un nuevo hardware y quería migrar las máquinas virtuales al nuevo equipo.

Variants hay muchas, puede ser mediante aoe, pero yo usé otra un poco más a la antigua.

Me sucedió que también me ví en la necesidad de migrar un servidor virtual nuestro hacia otro hardware, en otro sitio físicamente separados, opté por realizar los siguientes pasos:

1- En el viejo XEN, tomar un snapshot del LV de la máquina virtual que voy a migrar: el snapshot es independiente del LV original y no deja de funcionar la máquina virtual

lvcreate -s -L10G -nbackup /dev/dsk/nombredellvfuncionando

-s: es un snapshot, es rapidisimo, es una foto de cómo está la máquina en este momento
el nuevo lv (backup le llamé) debe ser del mismo tamaño que el antiguo.
/dev/dsk/nomberdellvfuncionando es el nombre del lv del que quiero fotografiar

2- acceder a ese snapshot: Tipicamente una maquina virtual tiene varias particiones (al menos una para / y otra para SWAP), pero desde el pnto de vista del dom0, sólo se ve un LV, tenemos que segregarlo, para dividirlo usamos kpartx:

kpartx -a /dev/dsk/backup

Fijate, estoy usando el snapshot, no se te ocurra usar el LV de la maquina que está viva. Usa el del snapshot que recién creastes

Al usar kpartx se crea un dispositivo en /dev/mapper por cada partición dentro del LVM, se verían como

/dev/mapper/backupp1
/dev/mapper/backupp2
.
.
.

p1, p2 (partición 1, partición2)

Podría entonces montar la o las particiones que tienen datos (en mi ejemplo pensaré que es sólo una y la otra es swap). Swap no necesita ser respaldada


mount /dev/mapper/backupp1 /mnt

3- hacer un tar de todo y enviarlo al servidor remoto y copiar ese tar a la máquina remota

cd /mnt
star zc f=- . | ssh servidor.remoto.com "cat -> respaldo.tar.gz"

4- en el xen nuevo, instalar un domU, entonces apagarlo. Lo instalo normalmente.. y lo apago porque sólo usaré la partición que me creará

Una vez lo tenga instalado, procedo a montar la partición de datos, la formateo (para dejarla en blanco).

kpartx -a /dev/dsk/maq1
mkfs.ext3 /dev/mapper/maq1p1
mount /dev/mapper/maq1p1 /mnt

5- abrir los contenidos del tar de la maquina vieja en este lugar

cd /mnt
star zx f=/root/respaldo.tar.gz

6- cambiar fstab e ifcfg-eth0 puesto que quizá esto cambió

vi /mnt/etc/fstab
vi /mnt/etc/sysconfig/network-script/ifcfg-eth0
vi /mnt/etc/sysconfig/network

7- Eliminar los mappers creados en ambos servidores:
en viejo server elimino además el snapshot:

kpartx -d /dev/dsk/backup
lvremove /dev/dsk/backup

en nuevo server elimino el mapper ANTES DE ARRANCAR LA MAQUINA

umount /mnt
kpartx -d /dev/dsk/maq1

8- arrncar la maquina en el nuevo server:

xen create maq1

Tuve que migrar 19 maquinas virtuales, tomó menos de media hora por cada una.