Outils pour utilisateurs

Outils du site


kb:linux:generalites:convertir_un_container_lxc_en_vm

Convertir un container LXC en VM

Afin de convertir un container LXC en VM, il va falloir simplement créer la machine, copier tout les fichiers et réinstaller les briques manquantes.

Préparation de la VM

Pour commencer il va falloir reproduire les disques durs comme ils le sont dans le container, peut importe la taille tant qu'ils peuvent contenir l'intégralité des DATAS du containers et qu'ils aient les mêmes point de montage.

On va ensuite boot sur une distribution live,formater les disques puis les monter afin d'obtenir une arborescence identique au container, par exemple comme ceci :

Container VM en live
/ /mnt/root
/mnt/datas /mnt/root/mnt/datas

n'oubliez pas de faire une partition de swap.

Transfert des données

et il vous faut rsync la racine du container :

# rsync -aAXv root@lxc.exemple.net:/ --exclude=/proc --exclude=/sys --exclude=/dev /mnt/root/

Il va y avoir des erreurs lors du rsync et c'est normal.

Entrer dans l’environnement virtuel

Il va maintenant falloir supprimer le contenu des dossiers /mnt/root/proc,/mnt/root/dev et /mnt/root/sys

# mkdir /mnt/root/proc/ /mnt/root/sys/ /mnt/root/dev/

et il va ensuite falloir monter ceux de la VM :

# mount -o bind /proc /mnt/root/proc && mount -o bind /sys /mnt/root/sys &&  mount -o bind /dev /mnt/root/dev && mount -o bind /dev/pts /mnt/root/dev/pts/

et ensuite entrer dans l’environnement virtuel avec :

# chroot /mnt/root/

et à partir de là, vous êtes dans votre futur VM.

Configuration de l'OS

Maintenant il va falloir installer les éléments necessaire au boot et à l'OS, dans mon exemple, je suis sous debian.

# apt install linux-image-amd64 grub2 console-setup

et suivre les petites demandes rapport au langage, puis d'installer le bootloader :

# update-grub && grub-install --force --recheck /dev/sda

Et enfin créer le fichier /etc/fstab et de modifier la configuration réseau.

Normalement, un reboot suffit !

kb/linux/generalites/convertir_un_container_lxc_en_vm.txt · Dernière modification: 2019/09/23 20:37 (modification externe)