Parallels Bare Metal virtual machine to KVM

Tenemos una máquina virtual de Parallels Bare Metal, en este entorno esto se llamaría hypervisor. ¿Cuál es el procedimiento?

Si operásemos con una máquina física podríamos levantar una ISO con un Linux Live CD, Clonezilla o similar pero, en este entorno tenemos el problema que una máquina virtual de PBMS no levanta la red sino tiene las Parallels Tools incluidas.

Por tanto, utilizaremos el truco (si fuese un flipado de los de ponerse siglas diría, “oh, utilizaríamos un trick”), (“oh, haremos un assestment!”) etc que me propuso maese Toribio

Truco: tenemos la máquina fuente, la que queremos mover. Ok, creamos otra en paralelo con CentOS por ejemplo, instalamos tools le damos red, etc. Ahora, paramos la máquina virtual fuente y añadimos su disco duro a la máquina nueva.

En nuestro caso, la máquina fuente era una virtual con Windows Server 2K3. Así que deberemos hacer fdisk y ver un disco duro con formato NTFS

Disco /dev/sdb: 298.2 GB, 298156294144 bytes
255 heads, 63 sectors/track, 36248 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000080

Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1   *           1       36248   291162028+   7  HPFS/NTFS
/dev/sdb2               1           1           0    0  Vacía
La partición 2 no termina en un límite de cilindro.
/dev/sdb3               1           1           0    0  Vacía
La partición 3 no termina en un límite de cilindro.
/dev/sdb4               1           1           0    0  Vacía
La partición 4 no termina en un límite de cilindro.

Cuando tengamos este punto, tenemos una máquina linux levantada con red que tiene visible el disco duro de una máquina virtual windows (específico esto porque luego tiene importancia)

Ahora, seguimos los pasos para poder mover (basados en mi escenario)

1. Tenemos una máquina virtual via KMV con ID 1 con un disco duro más grande que el tamaño del disco duro a mover.
2. La máquina virtual está parada. El disco a mover de la máquina física es /dev/sdb1 (NTFS)
3. La MV tiene id 1.
4. El nombre del volumen lógico es “lvmvol”
5. Así que el espacio LVM del disco de nuestra máquina es:/dev/lvmvol/vol001
6. Loguearse en ambas máquinas, física y virtual
7. En la máquina destino KVM (pero a nivel de anfitrión) ejecutar:

# date; nc -nvv -w30 -l 3333 | gzip -dc > /dev/lvmvol/vol001; date

8. en la máquina virtual origen que ejecutamos:

# dd if=/dev/sdb | pv -s 64G |gzip -c | nc -w30 -vvn 10.0.0.100

64GB 0:22:38 [48,3MB/s] [========================================================================
134217728+0 records in
134217728+0 records out
68719476736 bytes (69 GB) copied, 1358,05 s, 50,6 MB/s

Ejecutar el segundo comando (punto 8) en menos de 30 segundos!!!!!

Con el “pv -s” evitamos tener que enviar señales kill al dd para que nos muestre el proceso. Lo malo es que previamente tenemos que conocer que tamaño de bloque de disco estamos moviendo pero es útil.

Ahora deberíamos poder levantar la máquina ya como host KVM.

Links
http://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE
http://www.walkernews.net/2007/07/02/how-to-create-linux-lvm-in-3-minutes/

http://laforjadeunbit.blogspot.com.es/2012/02/convertir-maquina-kvm-vmware-ii.html

http://www.ingent.net/ca/tag/kvm/

https://wiki.inf.ed.ac.uk/DICE/SimpleKVMHost

http://vitobotta.com/setting-up-kvm-lvm-virtual-machine-host/

http://www.howtoforge.com/virtualization-with-kvm-on-a-centos-5.2-server
http://www.ingent.net/en/2012/01/from-physical-to-virtual-with-dd-over-the-net/

Leave a Reply

Your email address will not be published. Required fields are marked *