proxmox:lxc-vers-vm
Ceci est une ancienne révision du document !
Table des matières
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
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-x64 centos: grub2-install grub2-mkconfig -o /boot/grub2/grub.cfg f debian: grub-install /dev/sda --force faire un fichier /etc/fstab attention que le ownership de la racine / n'est pas bien indiqué vérifier ls / -ld et modifier si nécessaire apt install console-data keyboard-configuration
Sources
proxmox/lxc-vers-vm.1673719137.txt.gz · Dernière modification : de root
