Sauvegarder des hôtes physiques avec proxmox-backup-client¶
Objectif : sauvegarder chaque nuit les fichiers d'un serveur Linux physique (ou d'une VM hors Proxmox) vers le datastore pbs01, dans un namespace hosts, avec chiffrement et rétention gérés par le PBS. proxmox-backup-client sauvegarde des fichiers (.pxar) ou des périphériques bloc (.img) ; ce n'est pas un outil de restauration bare metal complète, et il n'existe que pour Linux.
Ce que l'on peut sauvegarder¶
| Archive | Source | Exemple |
|---|---|---|
nom.pxar |
Arborescence de fichiers | root.pxar:/, etc.pxar:/etc, data.pxar:/srv/data |
nom.img |
Périphérique bloc (LV, disque) | mydata.img:/dev/vg0/data |
Les points de montage sont ignorés par défaut : chaque système de fichiers à inclure se déclare avec --include-dev. Les exclusions se placent dans un fichier .pxarexclude (motifs glob, ! pour ré-inclure) ou via --exclude.
Avant de toucher la prod
- Serveur sous Debian/Ubuntu (paquet) ou autre distribution (binaire statique
proxmox-backup-client-static). - Port TCP 8007 ouvert du serveur vers
pbs01.client.lan. - Liste des répertoires à sauvegarder et à exclure validée avec le responsable applicatif.
- Bases de données : dump applicatif planifié avant la sauvegarde (le client copie des fichiers, pas un état cohérent de base ouverte).
- Lieu de séquestre de la clé de chiffrement identifié.
Étapes¶
1. Préparer le PBS¶
- Datastore → pbs01 → Content → Add Namespace :
hosts. - Configuration → Access Control : utilisateur
host-backup@pbs, jetonsrv-fichiers. - Datastore → pbs01 → Permissions → Add : chemin
/datastore/pbs01/hosts, rôleDatastoreBackup, pour l'utilisateur et pour le jeton. - Datastore → pbs01 → Prune & GC → Prune Jobs → Add : namespace
hosts,keep-daily 14,keep-weekly 8,keep-monthly 6.
proxmox-backup-manager user create host-backup@pbs
proxmox-backup-manager user generate-token host-backup@pbs srv-fichiers
proxmox-backup-manager acl update /datastore/pbs01/hosts DatastoreBackup --auth-id 'host-backup@pbs'
proxmox-backup-manager acl update /datastore/pbs01/hosts DatastoreBackup --auth-id 'host-backup@pbs!srv-fichiers'
Le namespace se crée depuis la GUI ou depuis le client : proxmox-backup-client namespace create hosts --repository ….
2. Installer le client sur le serveur¶
cat > /etc/apt/sources.list.d/pbs-client.sources <<'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pbs-client
Suites: trixie
Components: main
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
apt update && apt install proxmox-backup-client
(Clé du dépôt : même fichier proxmox-archive-keyring.gpg que pour l'installation de PBS.)
3. Configurer l'accès et la clé¶
install -d -m 700 /root/.pbs
cat > /root/.pbs/env <<'EOF'
PBS_REPOSITORY='host-backup@pbs!srv-fichiers@pbs01.client.lan:pbs01'
PBS_PASSWORD_FILE=/root/.pbs/token
PBS_FINGERPRINT='AB:CD:…:EF'
EOF
echo -n '<secret-du-jeton>' > /root/.pbs/token && chmod 600 /root/.pbs/token
proxmox-backup-client key create --kdf none # ~/.config/proxmox-backup/encryption-key.json
proxmox-backup-client key paperkey --output-format text > /root/paperkey.txt # imprimer puis supprimer
4. Lancer et planifier la sauvegarde¶
set -a; . /root/.pbs/env; set +a
proxmox-backup-client backup root.pxar:/ --include-dev /boot/efi --ns hosts \
--exclude /var/cache --exclude /tmp --change-detection-mode metadata
Planification par un timer systemd pbs-backup.timer (OnCalendar=*-*-* 23:30) appelant ce script, ou par cron. Le nom du groupe est host/<nom-du-serveur>.
Vérifications
proxmox-backup-client snapshot list --ns hosts
# host/srv-fichiers/2026-10-22T21:30:02Z root.pxar catalog.pcat1 index.json client.log
proxmox-backup-client catalog shell host/srv-fichiers/2026-10-22T21:30:02Z root.pxar --ns hosts
# pxar:/ > ls etc puis restore-selected /tmp/test-restore
Restauration complète d'une archive : proxmox-backup-client restore <snapshot> root.pxar /restore --ns hosts. Montage en lecture : proxmox-backup-client mount <snapshot> root.pxar /mnt/pbs --ns hosts.
Rollback
Désactiver le timer (systemctl disable --now pbs-backup.timer) ; supprimer le jeton côté PBS si le serveur est décommissionné. Les sauvegardes restent soumises au prune job du namespace.
Pièges vus en support
/homeou/srvsur un volume séparé oublié : sans--include-dev, l'archive est vide pour ce point de montage.- Clé créée avec mot de passe puis exécution planifiée : la sauvegarde attend une saisie et échoue. Utiliser
--kdf noneet protéger le fichier, ouPBS_ENCRYPTION_PASSWORD_FILE. - Clé uniquement sur le serveur sauvegardé : serveur perdu, sauvegardes illisibles.
- Base de données copiée « à chaud » au niveau fichiers : restauration non cohérente.
- Attente d'une restauration bare metal : il faut réinstaller l'OS (partitionnement, chargeur de démarrage) puis restaurer les fichiers.
Quand ouvrir un ticket iTop
Sauvegarde d'un serveur Windows physique ou besoin de restauration bare metal : demande de conseil P4 (autre outil à prévoir). Échecs d'authentification ou de certificat persistants : P3. Joindre la commande exacte, client.log de la dernière sauvegarde et la version du client.