Le besoins est le suivant : après avoir fait un backup depuis un snapshot lvm d’un domU xen, l’objectif est de relancer l’image de ce domU dans un virtualBox … On va convertir une archive tgz en image disque vdi en passant par du raw :-)
Attention, pour l’instant la procédure n’est pas générique elle ne fonctionne qu’avec debian, enfin avec les tgz de machine fonctionnant sous debian.
Snapshot du Xen
Le domU utilise des disque en lvm
lvcreate -s -L 1G -n machine-snapshot /dev/vg00/machine-disk
mount -o ro /dev/vg00/machine-snapshot /mnt
cd /mnt/
tar -czvf /tmp/machine-snapshot.tgz .
cd /
umount /mnt
lvremove /dev/vg00/machine-snapshot
Qemu
Création d’un disque au format raw
qemu-img create -f raw file.raw 3G
installation d’une debian minimal
qemu -cdrom debian-503-i386-netinst.iso -hda file.raw -boot d
trouver la taille des blocs et le premier secteur :
fdisk -lu file.raw
You must set cylinders.
You can do this from the extra functions menu.
Disk file.raw: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xdb7b5e6b
Device Boot Start End Blocks Id System
file.raw1 63 6281414 3140676 83 Linux
ici 512 et 63, ce qui nous fait un offset de 63 * 512
Récupération du tgz
Montage et copie des données
mount -o loop,offset=$((63 * 512)) file.raw /mnt -t ext3
cd /mnt
tar --numeric-owner -xzvf /tmp/machine-snapshot.tgz
cd /tmp
umount /mnt
Tester avec
qemu -hda file.raw
VirtualBox
convertion de l’image raw au format vdi
vboxmanage convertfromraw file.raw file.vdi
Attention
Si la machine de départ à une IP en dure, il faut bien évidemment changé cette conf pour pouvoir la relancer
Liens
http://blog.jardinmagique.info/2008/04/debian-migration-xen-vers-kvm.html
Merci d'avoir pris le temps de lire ce texte. Vous pouvez soutenir l'écriture de ces billets et la réalisation des livecoding par de nombreux moyens. Mais le plus beau moyen de me remercier est de simplement partager ce texte autour de vous.
Sauf mention contraire, tout le contenu de ce site est sous licence