Proxmox BS : Restauration de fichiers depuis un backup VM | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Proxmox BS : Restauration de fichiers depuis une VM

Introduction

Ce tutoriel explique comment utiliser Proxmox Backup Server pour effectuer une restauration au niveau fichier à partir d'une sauvegarde de VM, sans déployer la machine virtuelle entière. Vous apprendrez à récupérer des fichiers individuels via l'explorateur de fichiers de sauvegarde Proxmox dans l'interface web de Proxmox VE, ainsi qu'à effectuer une récupération de fichiers Proxmox en ligne de commande avec proxmox-backup-client. Ce flux de travail est utile lorsque vous devez restaurer des fichiers individuels contenus dans les sauvegardes Proxmox sans effectuer une restauration complète de la VM.

Public cible : administrateurs système de niveau intermédiaire
Durée estimée : 20 à 40 minutes
Objectif final : à la fin de ce tutoriel, vous serez capable de restaurer des fichiers précis à partir d'une sauvegarde de VM sur Proxmox Backup Server sans restaurer la VM complète.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un hôte Proxmox VE opérationnel avec un stockage Proxmox Backup Server configuré.
  • Proxmox Backup Server 3.x ou 4.x avec un datastore existant.
  • Une sauvegarde de VM terminée et stockée dans le datastore PBS.
  • Un accès à l'interface web de Proxmox VE avec les permissions nécessaires pour parcourir les sauvegardes et restaurer des fichiers.
  • Un accès shell à l'hôte Proxmox VE pour la méthode CLI.
  • La commande proxmox-backup-client disponible sur l'hôte Proxmox VE.
  • Un accès shell root pour la méthode de mappage en CLI, car le mappage de périphériques loop et le montage de systèmes de fichiers nécessitent des privilèges élevés.
  • Le fichier de clé de chiffrement si la sauvegarde de la VM utilise un chiffrement côté client.
  • Des connaissances de base sur les systèmes de fichiers Linux, les points de montage et le stockage de sauvegarde Proxmox VE.

Info

L'interface web de Proxmox VE est la méthode recommandée pour la plupart des tâches de récupération de fichiers individuels. La méthode CLI est utile lorsque vous avez besoin d'un accès par shell, d'automatisation ou d'une récupération depuis un nœud où l'interface web n'est pas pratique.

Étape 1 : comprendre les options de restauration au niveau fichier

Proxmox Backup Server stocke les sauvegardes de machines virtuelles Proxmox VE sous forme de sauvegardes d'images disque au niveau bloc. Cela signifie qu'une sauvegarde de VM contient généralement des fichiers tels que drive-scsi0.img.fidx, qemu-server.conf.blob et client.log.blob, et non une arborescence de répertoires classique.

Pour la récupération granulaire de fichiers dans Proxmox VE, deux options pratiques s'offrent à vous :

  • Utiliser l'interface web de Proxmox VE pour parcourir le snapshot de sauvegarde et télécharger des fichiers.
  • Utiliser proxmox-backup-client map pour mapper une image de disque de VM issue de la sauvegarde vers un périphérique loop local, puis monter le système de fichiers invité en lecture seule.

Le bouton File Restore de Proxmox VE ouvre un explorateur de fichiers pour le contenu de la sauvegarde. La commande proxmox-backup-client map mappe une image de lecteur de sauvegarde de VM vers un périphérique loopback local et doit être suivie de unmap une fois la récupération terminée.

Warning

Ne montez pas le système de fichiers d'une VM récupérée en lecture-écriture sans en maîtriser pleinement les risques. Pour la récupération de fichiers, montez le système de fichiers en lecture seule et copiez les fichiers vers l'extérieur.

Étape 2 : restaurer des fichiers individuels via l'interface web de Proxmox VE

Utilisez cette méthode lorsque vous souhaitez récupérer des fichiers précis de la manière la plus simple, sans déployer la VM entière.

Ouvrir la vue des sauvegardes

  1. Connectez-vous à l'interface web de Proxmox VE.
  2. Dans l'arborescence de navigation de gauche, sélectionnez la VM.
  3. Ouvrez l'onglet Backup.
  4. Sélectionnez le stockage Proxmox Backup Server dans le sélecteur de stockage si votre environnement comporte plusieurs stockages de sauvegarde.

Vous devriez voir la liste des snapshots de sauvegarde disponibles pour la VM sélectionnée.

Ouvrir l'explorateur de fichiers de sauvegarde Proxmox

  1. Sélectionnez le snapshot de sauvegarde qui contient le fichier dont vous avez besoin.
  2. Cliquez sur File Restore.
  3. Attendez que Proxmox VE ouvre l'explorateur de fichiers de sauvegarde.
  4. Développez le disque de la VM qui contient le système d'exploitation invité ou le volume de données.

Vous parcourez désormais les snapshots de sauvegarde via l'interface Proxmox VE. Cette vue prend en charge le flux de restauration de fichiers de Proxmox Backup Server et vous permet de récupérer des données sélectionnées sans effectuer une restauration complète de la VM.

Télécharger le fichier requis

  1. Accédez au répertoire qui contient le fichier.
  2. Sélectionnez le fichier.
  3. Cliquez sur Download.
  4. Enregistrez le fichier sur votre poste de travail.

Vous devriez recevoir le fichier sélectionné via votre navigateur. Cela termine une restauration au niveau fichier depuis le navigateur à partir de la sauvegarde de la VM.

Info

Si la VM possède plusieurs disques, examinez chaque disque dans l'explorateur de fichiers jusqu'à trouver le bon système de fichiers. Par exemple, le disque du système d'exploitation peut être drive-scsi0, tandis que les données applicatives peuvent se trouver sur drive-scsi1.

Étape 3 : préparer l'environnement CLI

Utilisez cette méthode lorsque vous restaurez des données à partir des sauvegardes du datastore PBS en ligne de commande.

Définir les variables de récupération

Exécutez les commandes suivantes sur l'hôte Proxmox VE. Remplacez les espaces réservés par les valeurs de votre environnement.

export PBS_REPOSITORY="<PBS_USER>@<PBS_REALM>@<PBS_SERVER>:<DATASTORE>" export PBS_SNAPSHOT="vm/<VM_ID>/<SNAPSHOT_TIMESTAMP>" export PBS_ARCHIVE="drive-scsi0.img" export RESTORE_MOUNT="/mnt/pbs-file-restore" export RESTORE_TARGET="/root/restored-from-pbs" export PBS_PASSWORD="<PBS_USER_PASSWORD>" export PBS_FINGERPRINT="<PBS_SERVER_FINGERPRINT>"

Exemples de valeurs :

export PBS_REPOSITORY="root@[email protected]:backup" export PBS_SNAPSHOT="vm/101/2026-06-04T01:30:00Z" export PBS_ARCHIVE="drive-scsi0.img" export RESTORE_MOUNT="/mnt/pbs-file-restore" export RESTORE_TARGET="/root/restored-from-pbs" export PBS_PASSWORD="12345678" export PBS_FINGERPRINT="b1:89:bd:c9:b1:f8:33..."

Les variables définissent le dépôt PBS, le snapshot de sauvegarde de la VM, l'archive de disque à mapper, le point de montage temporaire et la destination locale de la récupération. Définissez les variables d'environnement PBS_PASSWORD et PBS_FINGERPRINT. Récupérez l'empreinte (fingerprint) du certificat sur Proxmox Backup Server en exécutant proxmox-backup-manager cert info.

Lors de la première connexion, la commande login vous demande de manière interactive de confirmer l'empreinte du certificat et de saisir le mot de passe. Sans ces variables, les commandes automatisées échouent avec certificate validation failed lorsque l'empreinte est absente, ou avec no password input mechanism available lorsqu'aucun mot de passe n'est fourni.

Se connecter à Proxmox Backup Server

Exécutez la commande de connexion :

proxmox-backup-client login --repository "$PBS_REPOSITORY"

Sortie attendue :

Password:

Saisissez le mot de passe de l'utilisateur PBS. Si l'authentification réussit, le client stocke un ticket temporaire.

Tip

Si vous utilisez un jeton d'API, définissez PBS_PASSWORD uniquement pour la session shell en cours et supprimez-la avec unset après la récupération. Ne stockez pas les secrets de jeton dans l'historique du shell ni dans des scripts, sauf si vous protégez les permissions du fichier.

Étape 4 : identifier le snapshot de sauvegarde de la VM et l'archive de disque

Listez les groupes de sauvegarde du dépôt PBS :

proxmox-backup-client list --repository "$PBS_REPOSITORY"

Exemple de sortie attendue : tableau des sauvegardes.

Listez les snapshots du groupe de la VM :

proxmox-backup-client snapshot list vm/<VM_ID> \ --repository "$PBS_REPOSITORY"

Exemple de sortie attendue : tableau des snapshots.

Listez les fichiers du snapshot sélectionné :

proxmox-backup-client snapshot files "$PBS_SNAPSHOT" \ --repository "$PBS_REPOSITORY"

Exemple de sortie attendue :

client.log.blob drive-scsi0.img.fidx index.json.blob qemu-server.conf.blob

Info

Lors du mappage d'une archive de disque de VM, utilisez le nom de l'archive sans le suffixe .fidx. Par exemple, utilisez drive-scsi0.img et non drive-scsi0.img.fidx.

Étape 5 : mapper le disque de la sauvegarde de la VM vers un périphérique loop

Créez les répertoires de restauration :

mkdir -p "$RESTORE_MOUNT" "$RESTORE_TARGET"

Mappez l'image de disque de la VM depuis PBS :

proxmox-backup-client map "$PBS_SNAPSHOT" "$PBS_ARCHIVE" \ --repository "$PBS_REPOSITORY"

Exemple de sortie attendue :

/dev/loop0

Enregistrez le périphérique loop renvoyé dans une variable :

export LOOP_DEVICE="/dev/loop0"

La commande map mappe une image de lecteur de sauvegarde de VM vers un périphérique loopback local.

Warning

N'utilisez cette méthode CLI qu'avec des sauvegardes de confiance. Un système de fichiers monté peut contenir des chemins malveillants, des fichiers spéciaux ou des métadonnées inattendues.

Étape 6 : inspecter le disque mappé

Listez les partitions et les systèmes de fichiers :

lsblk -f "$LOOP_DEVICE"

Exemple de sortie attendue :

NAME FSTYPE LABEL UUID MOUNTPOINTS loop0 ├─loop0p1 vfat 1111-2222 └─loop0p2 ext4 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

Si les partitions n'apparaissent pas, demandez au noyau de lire la table de partitions :

partx -a "$LOOP_DEVICE"

Vérifiez ensuite à nouveau :

lsblk -f "$LOOP_DEVICE"

Vous devriez maintenant voir des périphériques de partition tels que /dev/loop0p1 et /dev/loop0p2.

Info

Les invités Linux utilisent couramment ext4, XFS ou Logical Volume Manager. Les invités Windows utilisent couramment NTFS. L'interface web est généralement plus simple pour la récupération de fichiers Windows, car elle prend en charge une plus grande partie du flux de travail de l'explorateur de fichiers à votre place.

Étape 7 : monter le système de fichiers invité en lecture seule

Sélectionnez la partition qui contient les fichiers dont vous avez besoin. Dans cet exemple, le système de fichiers racine Linux est /dev/loop0p2.

Montez-la en lecture seule :

mount -o ro /dev/loop0p2 "$RESTORE_MOUNT"

Sortie attendue : la commande ne doit renvoyer aucune sortie lorsque le montage réussit.

Vérifiez le système de fichiers monté :

ls "$RESTORE_MOUNT"

Exemple de sortie attendue :

bin boot etc home root usr var

Vous utilisez maintenant la ligne de commande pour restaurer des fichiers individuels contenus dans les sauvegardes Proxmox, sans restaurer la machine virtuelle entière.

Monter un volume LVM si l'invité utilise LVM

Si lsblk -f affiche LVM2_member, recherchez les groupes de volumes :

vgscan --mknodes

Exemple de sortie attendue :

Found volume group "ubuntu-vg" using metadata type lvm2

Activez le groupe de volumes :

vgchange -ay ubuntu-vg

Listez les volumes logiques :

lvs

Exemple de sortie attendue :

LV VG Attr LSize ubuntu-lv ubuntu-vg -wi-a----- 50.00g

Info

La sortie de lvs liste tous les volumes logiques détectés sur l'hôte Proxmox VE, et pas seulement le groupe de volumes de l'invité tel que ubuntu-vg. Elle peut également inclure les volumes propres à l'hyperviseur du groupe de volumes pve, notamment root, swap, data, ainsi que les volumes logiques utilisés par les disques des machines virtuelles.

Montez le volume logique en lecture seule :

mount -o ro /dev/ubuntu-vg/ubuntu-lv "$RESTORE_MOUNT"

Vous devriez maintenant pouvoir parcourir le système de fichiers invité restauré sous $RESTORE_MOUNT.

Étape 8 : copier des fichiers précis hors de la sauvegarde

Créez un répertoire local pour les fichiers récupérés :

mkdir -p "$RESTORE_TARGET"

Copiez un fichier :

cp -a "$RESTORE_MOUNT/etc/hostname" "$RESTORE_TARGET/"

Sortie attendue : la commande ne doit renvoyer aucune sortie lorsque le fichier est copié avec succès.

Copiez un répertoire :

rsync -a "$RESTORE_MOUNT/var/www/html/" \ "$RESTORE_TARGET/html/"

Sortie attendue : la commande ne doit renvoyer aucune sortie lorsque le répertoire est copié avec succès.

Vérifiez les fichiers copiés :

find "$RESTORE_TARGET" -maxdepth 3 -type f

Exemple de sortie attendue :

/root/restored-from-pbs/hostname /root/restored-from-pbs/html/index.html

Tip

Utilisez rsync -a plutôt que cp simple lorsque vous souhaitez conserver les permissions, les propriétaires, les horodatages et les liens symboliques dans la copie récupérée.

Étape 9 : restaurer des fichiers depuis une sauvegarde PBS basée sur des fichiers avec pxar

Cette étape est facultative pour la restauration au niveau fichier d'une VM, mais elle est utile lorsque le snapshot de sauvegarde contient une archive de fichiers telle que root.pxar.

Listez les fichiers du snapshot :

proxmox-backup-client snapshot files "$PBS_SNAPSHOT" \ --repository "$PBS_REPOSITORY"

Exemple de sortie attendue :

catalog.pcat1.didx root.pxar.didx

Ouvrez le shell de restauration interactif :

proxmox-backup-client catalog shell "$PBS_SNAPSHOT" root.pxar \ --repository "$PBS_REPOSITORY"

Dans le shell, listez les répertoires :

pxar:/ > ls

Exemple de sortie attendue :

etc home root var

Sélectionnez un fichier :

pxar:/ > select /etc/hostname

Restaurez les fichiers sélectionnés :

pxar:/ > restore-selected /root/restored-from-pxar

Quittez le shell :

pxar:/ > exit

Info

Utilisez la méthode pxar pour les sauvegardes basées sur des fichiers. Utilisez la méthode map pour les sauvegardes d'images de VM.

Étape 10 : nettoyer la session de restauration CLI

Démontez le système de fichiers invité :

umount "$RESTORE_MOUNT"

Si vous avez activé un groupe de volumes LVM, désactivez-le après le démontage :

vgchange -an ubuntu-vg

Supprimez les mappages de partitions si vous les avez créés avec partx :

partx -d "$LOOP_DEVICE"

Supprimez le mappage du périphérique loop PBS :

proxmox-backup-client unmap "$LOOP_DEVICE"

Sortie attendue : la commande ne doit renvoyer aucune sortie lorsque le mappage du périphérique loop est supprimé avec succès.

Supprimez les répertoires de montage temporaires si vous n'en avez plus besoin :

rmdir "$RESTORE_MOUNT"

Supprimez les variables d'environnement sensibles :

unset PBS_PASSWORD unset PBS_REPOSITORY unset PBS_SNAPSHOT unset PBS_ARCHIVE unset LOOP_DEVICE

Vous avez maintenant nettoyé l'environnement de récupération local.

Vérification

Vérifiez que les fichiers restaurés existent :

ls -la "$RESTORE_TARGET"

Exemple de sortie attendue :

total 12 drwxr-xr-x 3 root root 4096 Jun 4 02:10 . drwx------ 10 root root 4096 Jun 4 02:10 .. -rw-r--r-- 1 root root 12 Jun 4 01:00 hostname

Comparez le contenu des fichiers lorsque cela est pertinent :

cat "$RESTORE_TARGET/hostname"

Exemple de sortie attendue :

app-vm-01

Confirmez que la copie restaurée se trouve en dehors du système de fichiers de sauvegarde monté :

realpath "$RESTORE_TARGET"

Exemple de sortie attendue :

/root/restored-from-pbs

Vérifiez qu'aucun mappage loop PBS ne subsiste après le nettoyage :

losetup -a | grep pbs-loopdev || true

Sortie attendue : si la commande ne renvoie aucune sortie, aucun mappage loop proxmox-backup ne subsiste.

Annulation des modifications

Ce tutoriel ne modifie ni la sauvegarde d'origine de la VM ni le datastore PBS. La méthode par interface web télécharge les fichiers uniquement sur votre poste de travail. La méthode CLI crée des mappages loop temporaires, des points de montage et des copies locales des fichiers récupérés.

Info

Cette section propose une alternative à l'Étape 10 pour quitter la procédure prématurément. Ne l'exécutez pas après avoir terminé l'Étape 10.

Pour annuler l'environnement de récupération CLI, exécutez :

umount "$RESTORE_MOUNT" proxmox-backup-client unmap "$LOOP_DEVICE" rm -rf "$RESTORE_TARGET" rmdir "$RESTORE_MOUNT"

Warning

La commande rm -rf "$RESTORE_TARGET" supprime la copie récupérée de l'hôte Proxmox VE. Ne l'exécutez pas si vous avez encore besoin des fichiers restaurés.

Si vous avez activé un groupe de volumes LVM de l'invité, désactivez-le :

vgchange -an ubuntu-vg

Si vous avez ajouté des mappages de partitions manuellement, supprimez-les :

partx -d "$LOOP_DEVICE"

Dépannage

Le bouton File Restore est absent

Vérifiez que vous avez sélectionné un snapshot de sauvegarde sur un stockage PBS, et non sur un stockage local d'ISO ou d'images. Vérifiez également que votre compte dispose de privilèges suffisants pour parcourir le contenu des sauvegardes.

L'explorateur de fichiers web ne peut pas lire le système de fichiers

Le système de fichiers invité peut ne pas être pris en charge, être chiffré à l'intérieur de la VM, être endommagé ou se trouver à l'intérieur de LVM, RAID ou d'une autre couche de stockage. Essayez la méthode CLI afin de pouvoir inspecter manuellement les partitions avec lsblk, blkid, vgscan et les outils propres au système de fichiers.

proxmox-backup-client map échoue avec des erreurs d'authentification

Vérifiez la chaîne du dépôt et les identifiants :

echo "$PBS_REPOSITORY" proxmox-backup-client login --repository "$PBS_REPOSITORY"

Format attendu du dépôt :

<PBS_USER>@<PBS_REALM>@<PBS_SERVER>:<DATASTORE>

Si vous utilisez un namespace, ajoutez --ns aux commandes proxmox-backup-client concernées.

La sauvegarde est chiffrée

Fournissez le fichier de clé lors du mappage de la sauvegarde :

proxmox-backup-client map "$PBS_SNAPSHOT" "$PBS_ARCHIVE" \ --repository "$PBS_REPOSITORY" \ --keyfile <PATH_TO_ENCRYPTION_KEY>

Exemple de sortie attendue :

/dev/loop0

Les périphériques de partition n'apparaissent pas

Exécutez :

partx -a "$LOOP_DEVICE" lsblk -f "$LOOP_DEVICE"

Si le disque utilise LVM, exécutez :

vgscan --mknodes lvs

Si le disque utilise un RAID logiciel, ZFS à l'intérieur de l'invité ou un chiffrement complet du disque, utilisez les outils de stockage appropriés de l'invité et montez les fichiers récupérés en lecture seule chaque fois que c'est possible.

Le montage échoue avec un type de système de fichiers incorrect

Vérifiez le type de système de fichiers :

blkid

Exemple de sortie attendue :

/dev/loop0p2: UUID="..." TYPE="ext4"

Montez ensuite avec le type correct si nécessaire :

mount -t ext4 -o ro /dev/loop0p2 "$RESTORE_MOUNT"

La copie des fichiers conserve un propriétaire incorrect

Lorsque vous copiez des fichiers en tant que root depuis un système de fichiers invité monté, le propriétaire peut faire référence à des identifiants d'utilisateur numériques de l'invité. C'est le comportement attendu. Utilisez rsync -a pour conserver les métadonnées en vue d'une inspection ultérieure, ou copiez sans conserver le propriétaire si vous n'avez besoin que du contenu des fichiers.

Conclusion

Vous avez restauré des fichiers individuels à partir d'une sauvegarde de VM sur Proxmox Backup Server sans déployer la VM entière. La méthode par interface web est la voie la plus rapide pour la plupart des tâches de restauration de fichiers depuis Proxmox Backup Server, tandis que la méthode CLI vous offre un contrôle précis pour la récupération avancée de fichiers Proxmox et l'inspection des systèmes de fichiers. Pour les opérations courantes, utilisez d'abord le flux File Restore de Proxmox VE, puis recourez à proxmox-backup-client map lorsque vous avez besoin d'une récupération plus approfondie en ligne de commande depuis un datastore PBS.

Étapes suivantes

Envisagez de documenter votre procédure de récupération interne en y indiquant les noms exacts des dépôts PBS, les namespaces, les identifiants de VM, l'emplacement de stockage de la clé de chiffrement et une liste de contrôle de validation de la restauration. Vous pouvez également tester régulièrement la restauration au niveau fichier dans le cadre de la vérification des sauvegardes, car une sauvegarde n'est utile que si vous pouvez en récupérer les données dont vous avez besoin.

Version du document : 1.0
Dernière mise à jour : juin 2026
Responsable : Équipe de documentation technique

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA