| HOMELAB Infrastructure auto-hébergée |
PROCÉDURE TECHNIQUE
Résolution de l’activation de stockage et ciblage des sauvegardes Proxmox VE
Correction des erreurs d’activation du stockage gdrive-backup lors des sauvegardes planifiées par segmentation des tâches et restriction des nœuds.
| Référence HL-PRC-016 | Version 1.0 | Date d’édition 24/10/2026 |
| Auteur Administrateur système et réseaux | Classification Interne | Statut Validé |
Sommaire
Résolution de l’activation de stockage et ciblage des sauvegardes Proxmox VE — HL-PRC-016
1 Objet
Cette procédure formalise le diagnostic et la résolution de l’incident bloquant survenu lors de l’exécution des sauvegardes planifiées de grappe sous Proxmox Virtual Environment 9.x. L’anomalie se manifeste par l’échec d’activation du stockage « gdrive-backup » sur les hyperviseurs physiques pve1 et pve2, générant une alerte système « TASK ERROR: could not activate storage 'gdrive-backup': storage 'gdrive-backup' is not available on node » transmise à la cible locale mail-to-root.
L’intervention réaligne la configuration du gestionnaire de stockage de grappe (/etc/pve/storage.cfg) et la planification des tâches de sauvegarde automatisées (/etc/pve/jobs.cfg) avec la réalité matérielle du laboratoire. La difficulté principale réside dans la coexistence de deux modèles de stockage : un stockage centralisé partagé par l’ensemble des membres de la grappe (le datastore Proxmox Backup Server pbs-pve3) et un stockage déporté cloud exclusif au nœud pve3 (montage Google Drive gdrive-backup). La procédure établit la segmentation rigoureuse des tâches de sauvegarde pour éliminer les faux positifs tout en en visant la complétude des copies de sécurité.
2 Périmètre et prérequis
Périmètre
Couvert : analyse des journaux de tâches vzdump du cluster dozylab, contrôle et mise à jour de la directive restrictive nodes dans /etc/pve/storage.cfg, reconfiguration fine du périmètre d’exécution de la tâche de sauvegarde vers gdrive-backup (restreinte au nœud pve3), orientation des sauvegardes des instances pve1 et pve2 vers le stockage partagé pbs-pve3, et exécution d’un test de sauvegarde unitaire de validation.
Hors périmètre : création et montage initial du système de fichiers distant FUSE/rclone vers Google Drive sur l’hôte pve3, configuration interne et politiques de déduplication du serveur Proxmox Backup Server (détaillées dans HL-PRC-009), configuration du service de messagerie SMTP/Postfix pour la réexpédition externe des notifications mail-to-root.
Note Version validée et environnement réel. Procédure validée sur Proxmox VE 9.2.21 (grappe dozylab, hyperviseurs pve1, pve2, pve3 sous Debian 13 trixie avec noyau Linux 7.0.14-12-pve). Données réelles : stockage gdrive-backup actif à 1.2 % sur pve3, stockage pbs-pve3 actif à 8.9 % sur l’ensemble du cluster, conteneur applicatif 8010 (hermes) sur pve3.
Prérequis
• Accès privilégié : session d’administration root ouverte sur la console web shell Proxmox ou par clé SSH directe (pas de sudo) sur l’un des nœuds de la grappe.
• Quorum du cluster : système de fichiers partagé de grappe pmxcfs monté et synchronisé en mode lecture/écriture (/etc/pve/ accessible).
• Disponibilité des commandes de gestion : outils pvesm (Proxmox VE Storage Manager) et pvescheduler opérationnels sur les hyperviseurs.
• Disponibilité du stockage hôte : présence et accessibilité du point de montage distant gdrive-backup sur le nœud pve3.
3 Rôles et responsabilités
| Rôle | Responsabilité |
| Administrateur | Diagnostique l’erreur d’activation, ajuste storage.cfg et reconfigure les tâches de sauvegarde dans jobs.cfg. |
| Détenteur des secrets | Consigne les identifiants d’accès au stockage distant et les clés de chiffrement de sauvegarde dans Vaultwarden. |
| Exploitant | Contrôle la réception des rapports de sauvegarde mail-to-root et acquitte les éventuelles alertes dans le journal Proxmox. |
Note Homelab individuel. Dans le cadre du homelab DozyLab, ces rôles sont exercés par la même personne physique. La séparation documentaire est maintenue pour garantir l’auditabilité et la standardisation des opérations de maintenance.
4 Procédure de résolution et ciblage des sauvegardes
Paramètres de la procédure
| Paramètre | Description | Valeur de référence | Contrainte |
| CLUSTER_NAME | Nom de la grappe Proxmox | dozylab | Immuable |
| STORAGE_GDRIVE | Identifiant du stockage distant spécifique | gdrive-backup | Déclaré dans storage.cfg |
| STORAGE_PBS | Identifiant du stockage PBS partagé | pbs-pve3 | Accessible par pve1, pve2, pve3 |
| NODE_PRIMARY | Hyperviseur hébergeant le montage gdrive | pve3 | Hôte physique actif |
| NODES_CLUSTER | Membres du cluster sans montage gdrive direct | pve1, pve2 | Hyperviseurs physiques |
| TARGET_CT | Conteneur modèle sauvegardé sur gdrive | 8010 | Instance locale à pve3 |
| FILE_STORAGE_CFG | Fichier de définition des stockages | /etc/pve/storage.cfg | Synchronisé via pmxcfs |
| FILE_JOBS_CFG | Fichier de configuration des tâches planifiées | /etc/pve/jobs.cfg | Synchronisé via pmxcfs |
Attention Substitution des paramètres. Les instructions ci-après intègrent directement les identifiants réels de la grappe dozylab (nœuds pve1, pve2, pve3, stockages gdrive-backup et pbs-pve3). Adapter impérativement ces valeurs si une nouvelle instance ou un nouveau stockage est visé.
Étapes d’exécution
1. Diagnostiquer l’état d’activation du stockage sur chaque hyperviseur
Lorsqu’une tâche de sauvegarde planifiée s’exécute, le démon vzdump appelle la méthode d’activation du stockage sur chaque nœud concerné. Si le stockage est restreint à une liste de nœuds excluant le serveur local, Proxmox interrompt immédiatement le traitement avec un code d’erreur bloquant. Il convient de vérifier le statut déclaré de gdrive-backup à l’échelle du cluster.
Interroger l’état du stockage sur le nœud pve1 ou pve2 :
pvesm status –storage gdrive-backup
Inspecter la déclaration du stockage dans la configuration partagée :
cat /etc/pve/storage.cfg
Vérification : Sur pve3, le stockage gdrive-backup renvoie le statut « active » avec un taux d’occupation d’environ 1.2 %. Sur pve1 et pve2, la commande ou l’interface indique que le stockage est indisponible ou non rattaché.
2. Vérifier la déclaration et la restriction des nœuds dans storage.cfg
Dans /etc/pve/storage.cfg, la directive « nodes » limite l’activation d’un stockage aux seuls nœuds répertoriés. Si gdrive-backup est un montage local ou FUSE présent uniquement sur pve3, la directive doit explicitement déclarer « nodes pve3 » pour empêcher les autres nœuds de tenter de monter un répertoire inexistant ou de saturer leur disque racine.
Vérifier la section gdrive-backup dans le fichier de stockage :
grep -A 5 "gdrive-backup" /etc/pve/storage.cfg
Structure attendue du bloc de stockage pour un montage exclusif au troisième nœud :
dir: gdrive-backup
path /mnt/pve/gdrive-backup
content backup
nodes pve3
prune-backups keep-last=3
Action corrective si absent : Si la directive nodes est absente ou erronée, exécuter la commande de mise à jour suivante pour contraindre formellement le stockage au nœud pve3 :
pvesm set gdrive-backup –nodes pve3
3. Segmenter la tâche de sauvegarde de grappe (Méthode nominale préconisée)
La cause racine de l’erreur réside dans une tâche de sauvegarde définie au niveau « Datacenter » ciblant le stockage gdrive-backup sans restriction de nœud (champ Node défini sur « All »). vzdump tente alors d’activer le stockage sur pve1 et pve2, provoquant l’échec. La correction consiste à segmenter les tâches de sauvegarde :
• Tâche 1 (Sauvegarde déportée gdrive) : Cible le stockage gdrive-backup, restreinte au nœud pve3 et aux instances hébergées sur ce nœud (notamment le conteneur 8010 hermes).
• Tâche 2 (Sauvegarde de grappe générale) : Cible le stockage mutualisé pbs-pve3 (Proxmox Backup Server), accessible et monté sur l’ensemble des nœuds pve1, pve2 et pve3.
Configuration via l’interface graphique web :
• Accès : Se rendre dans Datacenter > Backup (Sauvegarde).
• Édition : Sélectionner la tâche de sauvegarde utilisant gdrive-backup, puis cliquer sur Edit.
• Restriction du nœud : Dans l’onglet General, modifier le menu déroulant Node : remplacer « (all) » par « pve3 ».
• Sélection des instances : Dans le champ Selection mode, cocher uniquement les VM/CT du nœud pve3 (ex. 8010 hermes). Cliquer sur OK.
Équivalent en ligne de commande dans /etc/pve/jobs.cfg :
Inspecter et valider la directive node dans la tâche de sauvegarde vzdump :
cat /etc/pve/jobs.cfg
Exemple de bloc de tâche correctement restreint dans /etc/pve/jobs.cfg :
vzdump: backup-gdrive-pve3
enabled 1
mailnotification failure
mailto root@pam
mode snapshot
node pve3
notes-template {{guestname}}
schedule 22:00
storage gdrive-backup
vmid 8010
4. Option alternative : Déployer le montage sur tous les nœuds (Cas multi-nœuds)
Si l’objectif opérationnel exige que pve1 et pve2 sauvegardent également leurs machines virtuelles directement sur Google Drive, le point de montage gdrive-backup doit être configuré et actif sur chacun des hyperviseurs avant d’élargir la déclaration du stockage.
Sur pve1 et pve2 : vérifier que le répertoire cible est bien un point de montage actif :
mountpoint -q /mnt/pve/gdrive-backup && echo "Montage OK" || echo "Erreur non monté"
Une fois le montage opérationnel sur les 3 nœuds, autoriser la grappe complète :
pvesm set gdrive-backup –nodes pve1,pve2,pve3
Précision d’architecture : Pour les nœuds pve1 et pve2, l’utilisation du stockage pbs-pve3 reste la recommandation standard du lab, offrant déduplication à la source, vérification d’intégrité et rétention optimisée sans dépendre d’un montage FUSE cloud sur chaque hyperviseur.
5. Lancer un test de sauvegarde unitaire et contrôler les journaux
Afin de certifier la correction sans attendre le déclencheur cron automatique nocturne (22:00), déclencher une sauvegarde manuelle du conteneur modèle 8010 sur pve3 :
Exécution de la sauvegarde manuelle sur le nœud pve3 :
vzdump 8010 –storage gdrive-backup –mode snapshot –notes-template "{{guestname}}"
Vérifier la présence de l’archive générée sur le stockage :
pvesm list gdrive-backup
Vérification : La tâche s’exécute sans émettre d’erreur d’activation de stockage et s’achève par le message « TASK OK ». Le journal des tâches de l’interface Proxmox affiche le statut OK avec un horodatage récent.
Retour arrière
En cas de dysfonctionnement sur la planification des sauvegardes ou de modification erronée des fichiers de grappe, restaurer les définitions antérieures à partir des sauvegardes automatiques de pmxcfs :
| Situation | Action |
| Régression sur la définition du stockage | pvesm set gdrive-backup –nodes pve3 (ou restaurer /etc/pve/storage.cfg.bak) |
| Erreur de syntaxe dans les tâches planifiées | cp /etc/pve/jobs.cfg.bak /etc/pve/jobs.cfg && systemctl reload-or-restart pvescheduler.service |
| Blocage d’un job de sauvegarde en cours | qm unlock <VMID> (pour VM) ou pct unlock <CTID> (pour conteneur) |
Pièges connus
| Symptôme | Cause | Résolution |
| TASK ERROR: could not activate storage 'gdrive-backup': storage 'gdrive-backup' is not available on node 'pve2' | Tâche de sauvegarde planifiée sur « (all) » nœuds alors que gdrive-backup est restreint à pve3. | Éditer la tâche dans Datacenter > Backup et restreindre le champ Node à pve3. |
| Notification systématique mail-to-root à l’heure de la sauvegarde planifiée | vzdump échoue sur les nœuds non autorisés et envoie une alerte automatique par messagerie. | Résoudre le ciblage de la tâche de sauvegarde ; aucune alerte n’est générée si le job est restreint à son nœud hôte. |
| Saturation de la partition racine / sur un nœud lors d’une écriture | Le point de montage FUSE/cloud n’est pas monté et Proxmox écrit dans le dossier local sous-jacent. | Ajouter l’option « is_mountpoint 1 » dans la définition du stockage sous /etc/pve/storage.cfg. |
| Le stockage gdrive-backup reste grisé avec un point d’interrogation | Processus rclone ou démon de synchronisation interrompu sur le nœud hôte pve3. | Vérifier l’unité systemd du montage rclone sur pve3 : systemctl status rclone-gdrive.service. |
5 Intégration réseau
La gestion des sauvegardes et le stockage distant s’insèrent dans l’architecture réseau du homelab DozyLab (VLAN d’administration 10, réseau de cluster Corosync dédié 99). Le stockage gdrive-backup utilise la connectivité WAN de l’hôte pve3, tandis que pbs-pve3 opère sur le réseau local d’administration.
| Composant | Rôle dans la grappe | Adresse IP (VLAN 10) | Port / Protocole |
| pve1 | Hyperviseur physique 1 | 10.10.10.10 | TCP 8006 (PVE) / TCP 8007 (PBS client) |
| pve2 | Hyperviseur physique 2 | 10.10.10.11 | TCP 8006 (PVE) / TCP 8007 (PBS client) |
| pve3 | Hyperviseur physique 3 (hôte gdrive & PBS) | 10.10.10.12 | TCP 8006 (PVE) / TCP 8007 (PBS daemon) |
| Google Drive API | Stockage cloud déporté gdrive-backup | FQDN api.google.com | TCP 443 / HTTPS (chiffré TLS) |
6 Durcissement et sécurité
• Protection contre le débordement de disque local : L’activation de la restriction des nœuds empêche pve1 et pve2 de créer des dossiers locaux non montés et de saturer leur disque système lors des vagues de sauvegarde.
• Chiffrement des archives déportées : Toute sauvegarde transmise vers une infrastructure infogérée distante (Google Drive) doit exploiter un chiffrement préalable des données (rclone crypt ou chiffrement vzdump à clé symétrique), garantissant la confidentialité intégrale des disques virtuels.
• Contrôle des privilèges pmxcfs : La modification des fichiers /etc/pve/storage.cfg et /etc/pve/jobs.cfg est strictement réservée au superutilisateur root via le système de fichiers distribué de Proxmox.
Dettes techniques
| Point | Impact | État |
| Stockage déporté gdrive non mutualisé | En cas d’indisponibilité physique de pve3, la tâche gdrive-backup est suspendue. | Accepté. Le stockage centralisé pbs-pve3 assure la résilience primaire de l’ensemble des VM. |
| Absence de directive is_mountpoint | Risque d’écriture locale en cas de plantage du montage FUSE. | À intégrer systématiquement dans storage.cfg : is_mountpoint 1. |
| Acheminement des notifications mail-to-root | Les alertes restent locales à la boîte root de chaque hôte sans relais SMTP externe actif. | Dette connue du lab. Relais SMTP d’administration à déployer ultérieurement. |
7 Vérifications finales
| Contrôle | Critère d’acceptation | Statut |
| Vérification déclaration storage.cfg | grep "nodes pve3" pour gdrive-backup retourne 1 résultat | ☐ |
| Statut du stockage sur le nœud hôte pve3 | pvesm status –storage gdrive-backup retourne "active" | ☐ |
| Absence d’erreur d’activation sur pve1 et pve2 | pvesm status exécuté sur pve1 et pve2 s’achève sans exception ni blocage | ☐ |
| Configuration de la tâche de sauvegarde | cat /etc/pve/jobs.cfg contient "node pve3" pour la tâche gdrive | ☐ |
| Test de sauvegarde unitaire | vzdump 8010 –storage gdrive-backup s’achève avec le statut "TASK OK" | ☐ |
| Historique des tâches Datacenter | Aucune erreur d’activation de stockage recensée dans le panneau inférieur Tasks | ☐ |
| Intégrité du conteneur 8010 hermes | Le conteneur reste opérationnel (status: running) à l’issue de la sauvegarde snapshot | ☐ |
8 Références et historique des révisions
Documentation éditeur
• Proxmox Server Solutions GmbH : Proxmox VE Administration Guide 9.x — Section 8 « Storage » (Storage Configuration and Node Restrictions).
• Proxmox Server Solutions GmbH : Proxmox VE Administration Guide 9.x — Section 13 « Backup and Restore » (vzdump and scheduled jobs).
Documents associés
• HL-PRC-003 : Mise en service d’une grappe de virtualisation à trois nœuds (architecture dozylab pve1/pve2/pve3).
• HL-PRC-009 : Proxmox Backup Server sur hôte Proxmox VE (contexte stockage pbs-pve3).
• HL-PRC-010 : Désactivation du message de souscription Proxmox VE.
Historique des révisions
| Version | Date | Auteur | Modifications |
| 1.0 | 24/10/2026 | Administrateur système et réseaux | Création du document à partir de l’intervention réelle sur le cluster. |