Usine

Un wiki à l'usine !

Outils pour utilisateurs

Outils du site


proxmox:refaire_vm_depuis_tar

Refaire une VM perdue depuis le tar de son /

Si l'on a encore la configuration de la VM (via le cluster proxmox par exemple) mais perdu le disque virtuel car on n'a pas de backup de la VM en totalité, on peut vouloir la recréer à partir d'un tar (obtenu ultérieurement par exemple en montant le disque support ailleurs).

Exemple ici avec la VM 305, à adapter sous peine de risquer de casser une autre VM 305 ! Exemple également avec un proxmox sous zfs, il faudrait légèrement adapter sinon (mais le principe reste le même).

Recréer le disque virtuel. le -s évite de tout allouer immédiatement (proxmox fait comme ça), et la taille est à retrouver par exemple dans la configuration de la VM.

sudo zfs create rpool/data/vm-305-disk-0 -V 100G -s

Créer la table de partitions et une partition, formater en ext4. Ici on ne s'embête pas, on fait une VM basique, donc MBR + 1 partition qui prend tout + ext4 c'est très bien.

sudo fdisk -l /dev/zvol/rpool/data/vm-305-disk-0
créer partition (dos, numéro 1 qui prend tout)
sudo mkfs.ext4 /dev/zvol/rpool/data/vm-305-disk-0-part1

Monter le système de fichier

sudo mount /dev/zvol/rpool/data/vm-305-disk-0-part1 /mnt/tmp/

Cracher le / depuis le tar. Attention, selon comment le tar a été fait, il peut être nécessaire de supprimer quelques niveaux de dossiers au début des chemins. Ici exemple avec 2 niveaux.

cd /mnt/tmp
sudo tar xvf /mnt/tmp2/ban_builder29012024.tar.bz2 --strip-components=2

Puis faire un chroot avec dev, sys et proc en mount bind, le grub-install, update-grub, changer l'UUID dans fstab. Attention, dans le chroot, grub-install ne détectait pas le type de table de partition (silencieusement…). Au boot de la VM, grub n'arrivait pas à voir les partitions donc on se retrouvait en grub rescue. Ajouter –modules=part_msdos à grub-install dans ce cas.

Ne pas oublier de bien démonter les bind et le / avant de booter la VM !!!

proxmox/refaire_vm_depuis_tar.txt · Dernière modification : le 07/02/2024 à 14h29 de john