====== Proxmox: migrer un container LXC vers une VM ====== ====== Procédure ====== ===== Préparation ===== - Créer une machine virtuelle - Booter avec un cd de récupération (Par exemple systemrescue cd) - Créer une partion ext4 et un swap - Rendre la partition bootable - éteindre ===== Montage du disque de la VM ===== Sur le proxmox: apt install nbd-client modprobe nbd max_part=3 qemu-nbd -c /dev/nbd0 /var/lib/vz/images/100/vm-100-disk-0.qcow2 mount /dev/nbd0p2 /media En cas de zfs, il suffit de monter le disque se trouvant dans /dev/zfs...pool/vmdisk ===== Montage du disque du container et migration des données ===== pct mount 2101 cd /var/lib/lxc/2101/rootfs rsync -a -P * /media ===== Changer les permissions sur les données ===== lancer le script suivant dans le répertoire media: #!/bin/bash UID_SHIFT=100000 for OLD_UID in `awk -F: '{print $3}' etc/passwd` do NEW_UID=$(echo $(($OLD_UID + $UID_SHIFT))) echo "USER Change from $OLD_UID TO $NEW_UID" find . -uid $NEW_UID -exec chown -h $OLD_UID {} \; done for OLD_UID in `awk -F: '{print $3}' etc/group` do NEW_UID=$(echo $(($OLD_UID + $UID_SHIFT))) echo "GROUP Change from $OLD_UID TO $NEW_UID" find . -gid $NEW_UID -exec chgrp -h $OLD_UID {} \; done ===== Démontage des répertoires ===== umount /media qemu-nbd -d /dev/nbd0 rmmod nbd pct unmount 2101 ===== Démontage des répertoires ===== démarrer la vm avec le disque d'installation de l'os d'origine en mode rescue mount /dev/sda2 /mnt #mount /dev/sda1 /mnt/boot mount -o bind /sys /mnt/sys mount -o bind /dev /mnt/dev mount -t proc /proc /mnt/proc chroot /mnt apt install grub2 apt install linux-image-amd64 #centos: grub2-install grub2-mkconfig -o /boot/grub2/grub.cfg f #debian: grub-install /dev/sda --force grub-mkconfig > /boot/grub/grub.cfg faire un swap mkswap /dev/da1 faire un fichier /etc/fstab echo "/dev/sda1 swap swap defaults 0 0" > /etc/fstab echo "/dev/sda2 / ext4 defaults 0 0" >> /etc/fstab Configurer le clavier # apt-get install console-data keyboard-configuration apt install console-setup localectl set-keymap be localectl set-x11-keymap be pc105 localectl status attention que le ownership de la racine / n'est pas bien indiqué vérifier ls / -ld et modifier si nécessaire ===== Sources ===== * https://forum.proxmox.com/threads/migrate-lxc-to-kvm.56298/