proxmox:lxc-vers-vm
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
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
proxmox/lxc-vers-vm.txt · Dernière modification : de root
