Guide Proxmox Backup Server
1. Qu'est-ce que Proxmox Backup Server
Proxmox Backup Server (PBS) est une solution de sauvegarde d'entreprise open-source, développée par Proxmox Server Solutions. Elle est spécialement conçue pour sauvegarder et restaurer des machines virtuelles, des conteneurs et des hôtes physiques.
Fonctionnalités clés
- Déduplication au niveau bloc (chunks) : les données sont découpées en blocs (chunks) de taille variable. Seuls les blocs uniques sont stockés, ce qui réduit considérablement l'espace disque utilisé.
- Compression zstd : chaque chunk est compressé via l'algorithme Zstandard (zstd), offrant un excellent ratio compression/vitesse.
- Chiffrement AES-256-GCM : chiffrement côté client avec authentification (Galois/Counter Mode), garantissant que le serveur PBS ne voit jamais les données en clair.
- Intégration native avec Proxmox VE : ajout en quelques clics comme storage de type « Proxmox Backup Server » dans PVE.
- Interface web complète : accessible sur le port
8007(HTTPS) — ex :https://srv-backup01.example.com:8007 - Incrémentiel natif : après le premier backup complet, seuls les blocs modifiés sont transférés.
- Restauration granulaire : restauration complète ou fichier par fichier.
srv-backup01.example.com → 10.0.0.50:8007.
2. Installation
Option A : Installation depuis l'ISO dédiée
Proxmox fournit une image ISO dédiée pour PBS. C'est la méthode la plus simple :
- Télécharger l'ISO depuis le site officiel Proxmox.
- Graver sur clé USB (
dd, Rufus, Etcher). - Booter le serveur sur la clé USB.
- Suivre l'assistant d'installation (choix du disque, réseau, mot de passe root).
- Redémarrer et accéder à l'interface web.
Option B : Installation sur un Debian existant
Si vous disposez déjà d'un serveur Debian (Bookworm 12), vous pouvez ajouter PBS par-dessus :
Étape 1 : Ajouter le dépôt PBS
# Ajouter le depot PBS no-subscription
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs-no-subscription.list
# Ajouter la cle GPG du depot Proxmox
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
Étape 2 : Installer PBS
apt update
apt install proxmox-backup-server
Étape 3 : Première connexion
Ouvrez votre navigateur et rendez-vous sur https://<IP-du-serveur>:8007.
Connectez-vous avec les identifiants :
- Utilisateur :
root@pam - Mot de passe : le mot de passe root du système
Étape 4 : Configuration réseau
Vérifiez la configuration réseau dans /etc/network/interfaces. Il est recommandé d'utiliser une IP statique :
# /etc/network/interfaces - Exemple
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 10.0.0.50/24
gateway 10.0.0.1
10.0.50.0/24.
3. Datastores
Un datastore est l'emplacement de stockage où PBS enregistre les sauvegardes. C'est un répertoire sur le filesystem local du serveur PBS. Chaque datastore gère indépendamment ses chunks, ses index et ses politiques de rétention.
Créer un datastore depuis l'interface web
- Connectez-vous à l'interface PBS (
https://srv-backup01.example.com:8007). - Allez dans Administration > Storage / Disks.
- Si nécessaire, initialisez un disque (ZFS pool, ext4, etc.).
- Allez dans Datastore > Add Datastore.
- Renseignez le nom et le chemin, puis validez.
Créer un datastore en CLI
# Creer un point de montage (si besoin)
mkdir -p /mnt/backup-data
# Monter le disque dedie (exemple avec un disque formate en ext4)
mount /dev/sdb1 /mnt/backup-data
# Ajouter dans /etc/fstab pour montage automatique
echo "/dev/sdb1 /mnt/backup-data ext4 defaults 0 2" >> /etc/fstab
# Creer le datastore
proxmox-backup-manager datastore create mybackups /mnt/backup-data
Organisation interne d'un datastore
Un datastore PBS contient la structure suivante :
| Répertoire / Fichier | Description |
|---|---|
.chunks/ |
Contient tous les blocs dédupliqués (chunks). Organisés en sous-répertoires par préfixe de hash. |
ct/ et vm/ |
Répertoires contenant les index de backup classés par type (conteneur / VM). |
host/ |
Répertoire pour les backups d'hôtes physiques. |
Fichiers .fidx |
Index de blocs fixes (fixed-size) — utilisés pour les images disques de VM. |
Fichiers .didx |
Index de blocs dynamiques — utilisés pour les archives pxar (fichiers). |
Fichiers .blob |
Petits fichiers stockés directement (configs, manifestes). |
Recommandations filesystem
- ZFS (recommandé) : support natif des snapshots, scrub pour la détection d'erreurs, compression intégrée, raids logiciels (mirror, raidz).
- ext4 : simple et stable, adapté pour des volumes de taille modérée.
- XFS : performant pour les gros fichiers, mais moins de fonctionnalités que ZFS.
# Exemple : creer un pool ZFS mirror pour le datastore
zpool create backup-pool mirror /dev/sdb /dev/sdc
zfs set compression=on backup-pool
zfs set atime=off backup-pool
# Creer le datastore sur le pool ZFS
proxmox-backup-manager datastore create prod-backups /backup-pool/prod-backups
Plusieurs datastores : séparation par environnement
Il est recommandé de créer des datastores séparés par environnement pour mieux gérer la rétention et l'espace disque :
| Datastore | Chemin | Usage |
|---|---|---|
ds-prod |
/mnt/backup/prod |
VMs de production — rétention longue |
ds-dev |
/mnt/backup/dev |
VMs de développement — rétention courte |
ds-test |
/mnt/backup/test |
VMs de test — rétention minimale |
4. Ajout du PBS dans Proxmox VE
Via l'interface web PVE
- Connectez-vous à Proxmox VE.
- Allez dans Datacenter > Storage > Add > Proxmox Backup Server.
- Remplissez les champs suivants :
| Paramètre | Valeur exemple | Description |
|---|---|---|
| ID | pbs-prod |
Nom du storage dans PVE |
| Server | 10.0.0.50 |
Adresse IP ou FQDN du PBS (ex: srv-backup01.example.com) |
| Username | backup-user@pbs |
Utilisateur créé dans PBS (ou root@pam) |
| Password | ******** |
Mot de passe de l'utilisateur PBS |
| Datastore | ds-prod |
Nom du datastore sur le PBS |
| Fingerprint | AB:CD:EF:12:... |
Empreinte du certificat SSL du PBS |
Obtenir le fingerprint du certificat PBS
Sur le serveur PBS, exécutez :
# Afficher les informations du certificat, dont le fingerprint
proxmox-backup-manager cert info | grep Fingerprint
# Resultat attendu :
# Fingerprint (sha256): AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90
Créer un utilisateur dédié dans PBS (recommandé)
Plutôt que d'utiliser root@pam, créez un utilisateur dédié :
# Creer l'utilisateur
proxmox-backup-manager user create backup-user@pbs --comment "Utilisateur PVE backup"
# Definir le mot de passe
proxmox-backup-manager user update backup-user@pbs --password "MotDePasseSecurise"
# Donner les droits sur le datastore
proxmox-backup-manager acl update /datastore/ds-prod DatastoreBackup --auth-id backup-user@pbs
Tester la connexion
Après l'ajout, vérifiez que le storage apparaît dans PVE :
- Allez dans Datacenter > Storage et vérifiez que
pbs-prodest Active. - Cliquez sur le storage et vérifiez que l'onglet Content s'affiche sans erreur.
- Vous pouvez aussi tester en CLI depuis un nœud PVE :
# Test de connexion depuis PVE
pvesm status | grep pbs
5. Planification des sauvegardes
Depuis l'interface Proxmox VE
- Allez dans Datacenter > Backup > Add.
- Configurez le job de sauvegarde :
| Paramètre | Description | Exemple |
|---|---|---|
| Storage | Le storage PBS ajouté précédemment | pbs-prod |
| Schedule | Fréquence des sauvegardes | daily 02:00 |
| Selection mode | Quelles VMs/CTs sauvegarder | All, Include, Exclude, Pool |
| Mode | Mode de backup | Snapshot |
| Notification | Notification en cas d'échec | failure-only |
| Send email to | Adresse de notification | admin@example.com |
| Compression | Type de compression | ZSTD (défaut) |
Formats de planification (schedule)
| Format | Description |
|---|---|
daily |
Tous les jours à 00:00 |
daily 02:00 |
Tous les jours à 02h00 |
weekly |
Chaque semaine (dimanche à 00:00) |
mon..fri 03:00 |
Du lundi au vendredi à 03h00 |
sat 22:00 |
Chaque samedi à 22h00 |
*:00 |
Toutes les heures (toutes les heures pile) |
mon,wed,fri 01:30 |
Lundi, mercredi et vendredi à 01h30 |
Modes de backup
| Mode | Description | Impact |
|---|---|---|
| Snapshot | Sauvegarde à chaud via snapshot QEMU (live). Mode recommandé. | Aucun downtime. Utilise l'agent QEMU pour la cohérence (freeze/thaw). |
| Suspend | Suspend la VM en RAM le temps de la copie. | Brève pause (quelques secondes). Cohérence garantie. |
| Stop | Arrête proprement la VM, sauvegarde, puis la redémarre. | Downtime complet. Réservé aux cas où la cohérence est critique. |
Sélection des VMs/CTs
- All : toutes les VMs et conteneurs du cluster.
- Include selected : sélection manuelle des VMs à sauvegarder.
- Exclude selected : toutes sauf celles sélectionnées.
- Pool : sauvegarder toutes les VMs d'un pool donné (ex: pool « production »).
Backup en ligne de commande (vzdump)
# Sauvegarder une VM specifique (VMID 100) vers le storage PBS
vzdump 100 --storage pbs-prod --mode snapshot
# Sauvegarder plusieurs VMs
vzdump 100 101 102 --storage pbs-prod --mode snapshot
# Sauvegarder toutes les VMs du noeud
vzdump --all --storage pbs-prod --mode snapshot
# Sauvegarder avec notification email
vzdump 100 --storage pbs-prod --mode snapshot --mailnotification failure --mailto admin@example.com
6. Rétention et Pruning
Le pruning est le processus de suppression des anciens snapshots de sauvegarde en fonction d'une politique de rétention définie. Il est essentiel pour contrôler l'espace disque utilisé tout en conservant un historique suffisant.
Paramètres de rétention
| Paramètre | Description | Exemple |
|---|---|---|
keep-last |
Conserver les N derniers snapshots, quel que soit leur âge. | keep-last=3 |
keep-hourly |
Conserver un snapshot par heure pour les N dernières heures. | keep-hourly=24 |
keep-daily |
Conserver un snapshot par jour pour les N derniers jours. | keep-daily=7 |
keep-weekly |
Conserver un snapshot par semaine pour les N dernières semaines. | keep-weekly=4 |
keep-monthly |
Conserver un snapshot par mois pour les N derniers mois. | keep-monthly=6 |
keep-yearly |
Conserver un snapshot par an pour les N dernières années. | keep-yearly=1 |
Comment fonctionne le pruning ?
Les règles de rétention sont évaluées dans l'ordre suivant :
keep-last → keep-hourly → keep-daily →
keep-weekly → keep-monthly → keep-yearly.
Un snapshot « retenu » par une règle ne peut plus être compté par les règles suivantes. Cela évite les doublons dans le décompte.
Exemples de politiques
Politique classique (production)
keep-daily=7,keep-weekly=4,keep-monthly=6,keep-yearly=1
Résultat : 7 jours de backups quotidiens + 4 semaines + 6 mois + 1 an. Cela représente environ 18 snapshots conservés maximum par VM.
Politique agressive (développement)
keep-daily=3,keep-weekly=2
Résultat : 3 derniers jours + 2 semaines. Economise de l'espace disque.
Politique conservatrice (compliance)
keep-daily=30,keep-monthly=12,keep-yearly=5
Résultat : 30 jours + 12 mois + 5 ans. Pour les environnements soumis à des obligations légales.
Configuration via l'interface web
- Dans PBS, cliquez sur le Datastore concerné.
- Onglet Prune & GC.
- Cliquez sur Add pour créer un Prune Job.
- Définissez le schedule et les paramètres de rétention.
- Validez.
Configuration en CLI
# Creer un prune job planifie
proxmox-backup-manager prune-job create daily-prune \
--store ds-prod \
--schedule "daily 04:00" \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6 \
--keep-yearly 1
# Lister les prune jobs existants
proxmox-backup-manager prune-job list
# Modifier un prune job
proxmox-backup-manager prune-job update daily-prune --keep-daily 14
# Supprimer un prune job
proxmox-backup-manager prune-job remove daily-prune
Pruning manuel
# Pruning manuel depuis le client (sur un noeud PVE ou tout poste avec proxmox-backup-client)
proxmox-backup-client prune \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6 \
--repository backup-user@srv-backup01.example.com:ds-prod
Simulation dry-run
Avant d'exécuter un pruning réel, effectuez un dry-run pour visualiser ce qui serait supprimé :
# Dry-run : affiche ce qui serait supprime sans rien supprimer
proxmox-backup-client prune \
--keep-daily 7 \
--keep-weekly 4 \
--dry-run \
--repository backup-user@srv-backup01.example.com:ds-prod
7. Garbage Collection (GC)
Qu'est-ce que le GC ?
La Garbage Collection est le processus qui supprime physiquement les chunks (blocs de données) qui ne sont plus référencés par aucun snapshot. Après un pruning, les snapshots sont supprimés mais les chunks qu'ils référençaient peuvent encore exister s'ils sont partagés avec d'autres snapshots (déduplication).
Le GC identifie et supprime les chunks orphelins pour récupérer l'espace disque.
Fonctionnement en deux phases
| Phase | Nom | Description |
|---|---|---|
| Phase 1 | Mark | Parcourt tous les index de snapshots existants et marque chaque chunk référencé comme « utilisé ». Cette phase met à jour les timestamps d'accès (atime) des chunks. |
| Phase 2 | Sweep | Parcourt tous les chunks du datastore et supprime ceux qui n'ont pas été marqués lors de la Phase 1 (chunks orphelins dont l'atime est antérieur au début du GC). |
Planification
Le GC doit être exécuté après le pruning. Recommandation :
- Quotidien : si vous faites des backups et du pruning tous les jours.
- Hebdomadaire : si vous avez peu de changements ou de suppressions.
Configurez le GC dans l'interface web :
- Datastore > onglet Prune & GC.
- Section Garbage Collection.
- Définissez le schedule (ex :
daily 06:00).
Exécution en CLI
# Lancer le GC manuellement
proxmox-backup-manager garbage-collection start ds-prod
# Voir le statut du GC en cours
proxmox-backup-manager garbage-collection status ds-prod
# Planifier le GC en CLI
proxmox-backup-manager garbage-collection schedule-update ds-prod "daily 06:00"
Exemple de sortie du GC
Starting garbage collection on datastore 'ds-prod'
Phase 1: marking used chunks...
Marked 145832 chunks.
Phase 2: sweeping unused chunks...
Removed 12043 chunks (3.2 GiB).
Garbage collection completed successfully.
Original data usage: 850.4 GiB
On-disk usage: 312.7 GiB
Deduplication factor: 2.72
Removed bytes: 3.2 GiB
8. Vérification d'intégrité
La vérification d'intégrité permet de s'assurer que les données stockées dans le datastore ne sont pas corrompues. PBS vérifie les checksums de chaque chunk et compare avec les valeurs attendues.
Types de vérification
| Type | Description | Quand l'utiliser |
|---|---|---|
| Vérification après backup | Vérifie le snapshot immédiatement après sa création. | Activer dans le backup job PVE (option « Verify new backups »). |
| Vérification périodique | Vérifie tous les snapshots du datastore selon un planning. | Planifier hebdomadaire ou mensuel pour détecter la corruption silencieuse (bit rot). |
| Vérification manuelle | Vérification ponctuelle lancée à la demande. | Après un incident matériel, un déménagement de disques, etc. |
Vérification en CLI
# Verifier tout le datastore
proxmox-backup-manager verify ds-prod
# Verifier un snapshot specifique
proxmox-backup-manager verify ds-prod --backup-id vm/100 --backup-time "2026-02-20T02:00:00Z"
# Verifier uniquement les snapshots non encore verifies
proxmox-backup-manager verify ds-prod --outdated-after 30
Créer un job de vérification planifié
Depuis l'interface web :
- Datastore > onglet Verify Jobs.
- Cliquez sur Add.
- Définissez le schedule (ex :
weekly). - Option Re-verify after : nombre de jours après lequel un snapshot déjà vérifié sera re-vérifié (ex : 30 jours).
zpool scrub) complètent la vérification PBS en détectant et corrigeant automatiquement les erreurs au niveau bloc (bit rot) grâce aux checksums ZFS et à la redondance (mirror/raidz).
9. Chiffrement
PBS supporte le chiffrement côté client en AES-256-GCM. Les données sont chiffrées avant d'être envoyées au serveur PBS, ce qui signifie que le serveur ne voit jamais les données en clair. Seul le détenteur de la clé peut restaurer les données.
Créer une clé de chiffrement
# Generer une nouvelle cle de chiffrement
proxmox-backup-client key create /root/pbs-encryption-key.json
# Un mot de passe sera demande pour proteger la cle elle-meme (key password)
# Ce mot de passe sera requis a chaque utilisation de la cle
Utiliser le chiffrement lors du backup
# Backup chiffre en CLI
proxmox-backup-client backup vm/100 \
--repository backup-user@srv-backup01.example.com:ds-prod \
--encryption-key /root/pbs-encryption-key.json
# Depuis PVE (vzdump), configurer la cle dans le storage PBS :
# PVE > Datacenter > Storage > pbs-prod > Edit > Encryption Key
# Collez le contenu du fichier JSON de la cle
Sauvegarder la clé (CRITIQUE)
# Generer un paperkey (version imprimable de la cle)
proxmox-backup-client key paperkey /root/pbs-encryption-key.json
# Le paperkey genere un QR code + texte lisible a imprimer et stocker en lieu sur
# (coffre-fort, coffre numerique chiffre, etc.)
Changer le mot de passe de la clé
# Modifier le mot de passe de protection de la cle
proxmox-backup-client key change-passphrase /root/pbs-encryption-key.json
Mode master key (avancé)
Pour les environnements avec plusieurs clés, PBS supporte un système de master key permettant de déchiffrer les backups chiffrés avec n'importe quelle clé dérivée :
# Creer une paire RSA master
proxmox-backup-client key create-master-key
# Cela genere : master-public.pem et master-secret.pem
# Importer la cle publique dans la cle de chiffrement
proxmox-backup-client key create /root/pbs-encryption-key.json --master-pubkey master-public.pem
10. Restauration
Restaurer une VM complète depuis l'interface PVE
- Dans PVE, allez dans Storage > pbs-prod > Content.
- Sélectionnez le backup souhaité (identifié par VM ID et date).
- Cliquez sur Restore.
- Paramètres de restauration :
| Paramètre | Description |
|---|---|
| Target Storage | Storage où restaurer les disques (local-lvm, ceph, etc.) |
| VM ID | Garder le même VMID ou en attribuer un nouveau |
| Unique | Regénérer les adresses MAC et UUID (recommandé si duplication) |
| Start after restore | Démarrer automatiquement la VM après restauration |
| Override Settings | Modifier CPU, RAM, réseau avant de restaurer |
Restauration de fichiers individuels (File-Level Restore)
PBS permet de restaurer des fichiers individuels sans restaurer la VM entière :
- Dans PVE, Storage > pbs-prod > Content.
- Sélectionnez le backup.
- Cliquez sur File Restore.
- Naviguez dans l'arborescence des fichiers.
- Sélectionnez le(s) fichier(s) et cliquez sur Download.
Restauration en CLI
# Lister les snapshots disponibles
proxmox-backup-client snapshot list \
--repository backup-user@srv-backup01.example.com:ds-prod
# Restaurer une archive pxar (fichiers) vers un repertoire local
proxmox-backup-client restore host/srv-web01/2026-02-20T02:00:05Z root.pxar /tmp/restore/ \
--repository backup-user@srv-backup01.example.com:ds-prod
# Restaurer un disque VM (image .img)
proxmox-backup-client restore vm/100/2026-02-20T02:00:05Z drive-scsi0.img /tmp/restore/disk.raw \
--repository backup-user@srv-backup01.example.com:ds-prod
# Restaurer avec une cle de chiffrement
proxmox-backup-client restore vm/100/2026-02-20T02:00:05Z drive-scsi0.img /tmp/restore/disk.raw \
--repository backup-user@srv-backup01.example.com:ds-prod \
--encryption-key /root/pbs-encryption-key.json
Restaurer sur un autre nœud PVE
Si le PBS est ajouté comme storage sur plusieurs nœuds PVE, vous pouvez restaurer une sauvegarde sur n'importe quel nœud du cluster :
- Connectez-vous à l'interface du nœud cible.
- Allez dans Storage > pbs-prod > Content.
- Les mêmes backups apparaissent (le datastore est partagé).
- Restaurez normalement — les disques seront créés sur le storage local du nœud cible.
Restaurer un conteneur LXC
# Restaurer un conteneur LXC depuis un backup PBS
pct restore 200 pbs-prod:backup/ct/200/2026-02-20T02:00:05Z \
--storage local-lvm \
--unique
11. Monitoring et Maintenance
Dashboard web
L'interface web PBS (https://srv-backup01.example.com:8007) fournit un dashboard complet :
- Espace utilisé / disponible par datastore.
- Ratio de déduplication : indique l'efficacité de la déduplication (ex : 2.5x = les données d'origine sont 2.5 fois plus volumineuses que le stockage réel).
- Historique des tâches : backups, pruning, GC, vérifications.
- Statut des derniers backups : succès, échec, warnings.
Commandes de monitoring CLI
# Lister les datastores et leur utilisation
proxmox-backup-manager datastore list
# Voir l'espace disque detaille
df -h /mnt/backup-data
# Lister les snapshots d'un datastore
proxmox-backup-manager snapshot list ds-prod
# Voir les taches recentes
proxmox-backup-manager task list
# Voir le detail d'une tache
proxmox-backup-manager task log <UPID>
Synchronisation entre deux PBS (réplication off-site)
Pour une stratégie de backup 3-2-1, vous pouvez synchroniser un datastore vers un second serveur PBS distant :
# Creer un sync job vers un PBS distant
proxmox-backup-manager sync-job create offsite-sync \
--store ds-prod \
--remote remote-pbs \
--remote-store ds-prod-offsite \
--schedule "daily 08:00" \
--remove-vanished true
# Prerequis : creer d'abord le "remote"
proxmox-backup-manager remote create remote-pbs \
--host srv-backup02.example.com \
--auth-id sync-user@pbs \
--password "MotDePasseSync" \
--fingerprint "AB:CD:EF:..."
Alertes email
Configurez les notifications dans PBS :
- Allez dans Configuration > Notifications.
- Configurez un SMTP endpoint (serveur mail, port, identifiants).
- Créez des notification matchers pour filtrer les événements (gc, verify, sync, prune).
- Définissez les destinataires (ex :
admin@example.com).
# Exemple de configuration SMTP en CLI
proxmox-backup-manager notification endpoint smtp create mail-alert \
--server smtp.example.com \
--port 587 \
--username alerts@example.com \
--mailto admin@example.com \
--from-address pbs@example.com
Intégration Metrics (InfluxDB / Grafana)
PBS peut envoyer des métriques vers InfluxDB pour une visualisation avancée dans Grafana :
# Configurer l'envoi de metriques vers InfluxDB
# Dans /etc/proxmox-backup/metricserver.cfg :
influxdb: monitoring
server https://influxdb.example.com:8086
organization example-org
bucket pbs-metrics
token <influxdb-token>
Métriques disponibles : utilisation disque, nombre de chunks, ratio de déduplication, durée des tâches, nombre de snapshots, etc.
12. Tips et Dépannage
Problème : Espace disque insuffisant
| Vérification | Commande / Action |
|---|---|
| Vérifier l'espace disque | df -h /mnt/backup-data |
| Vérifier que le pruning s'exécute | Onglet Prune & GC > vérifier les logs |
| Vérifier que le GC s'exécute | Le GC doit tourner après le pruning |
| Lancer un GC manuel | proxmox-backup-manager garbage-collection start ds-prod |
| Revoir la politique de rétention | Réduire les keep-* si nécessaire |
Problème : Backup lent
- Réseau : Vérifiez le débit entre PVE et PBS (
iperf3). Un lien 1 Gbps minimum est recommandé, 10 Gbps pour les gros environnements. - Charge I/O : Vérifiez avec
iostat -x 1ouiotopsi les disques sont saturés. - Niveau de compression zstd : Le niveau par défaut (3) offre un bon compromis. Monter le niveau augmente la compression mais ralentit le backup.
- CPU : Vérifiez que le CPU du PBS n'est pas saturé (
htop). - Nombre de backups simultanés : Limitez le nombre de jobs parallèles pour ne pas saturer le PBS.
# Test de debit reseau entre PVE et PBS
# Sur le PBS :
iperf3 -s
# Sur le noeud PVE :
iperf3 -c srv-backup01.example.com
Problème : Connexion PVE → PBS échoue
| Cause possible | Solution |
|---|---|
| Fingerprint incorrect | Recopiez le fingerprint depuis proxmox-backup-manager cert info |
| Firewall bloque le port 8007 | Ouvrez le port 8007/tcp sur le firewall PBS et entre les deux machines |
| Certificat expiré | Renouvelez le certificat dans PBS > Administration > Certificates |
| Mauvais identifiants | Vérifiez user/password, testez avec proxmox-backup-client login |
| DNS non résolu | Utilisez l'IP directement ou vérifiez la résolution DNS |
# Test de connexion reseau
telnet srv-backup01.example.com 8007
# Ou avec curl
curl -k https://srv-backup01.example.com:8007/api2/json/version
# Verifier le firewall PBS
iptables -L -n | grep 8007
# Ou si vous utilisez pve-firewall/nftables :
nft list ruleset | grep 8007
Logs et diagnostics
# Logs du service PBS (proxy web)
journalctl -u proxmox-backup-proxy --since today
# Logs du service PBS (API backend)
journalctl -u proxmox-backup --since today
# Repertoire de logs des taches
ls /var/log/proxmox-backup/tasks/
# Suivre les logs en temps reel
journalctl -u proxmox-backup-proxy -f
Performances : recommandations matérielles
| Composant | Recommandation | Détail |
|---|---|---|
| CPU | 4+ cœurs | Compression zstd et chiffrement sont CPU-intensifs |
| RAM | 4 Go minimum, 8+ Go recommandé | ZFS utilise la RAM pour le cache (ARC) |
| Disques data | HDD large ou SSD | RAID1 / ZFS mirror minimum pour la redondance |
| Disques index | SSD rapide | Les index chunks bénéficient grandement d'un SSD pour les accès aléatoires |
| Réseau | 1 Gbps minimum, 10 Gbps idéal | Le backup incrémentiel réduit le volume transféré |
Mise à jour de PBS
# Verifier les mises a jour disponibles
apt update
apt list --upgradable
# Appliquer les mises a jour
apt dist-upgrade
# Verifier la version installee
proxmox-backup-manager version
Ratio de déduplication faible
- Normal : si les VMs sauvegardées sont très différentes (OS différents, applications différentes). Ratio typique : 1.2x - 1.5x.
- Optimal : pour des VMs clones ou très similaires (même template, même OS). Ratio possible : 3x - 10x.
- Améliorer le ratio : regroupez les VMs similaires dans le même datastore. Utilisez des templates communs pour vos déploiements.
Sauvegarder la configuration PBS
La configuration de PBS est stockée dans /etc/proxmox-backup/. Sauvegardez ce répertoire régulièrement :
# Contenu du repertoire de configuration
ls -la /etc/proxmox-backup/
# datastore.cfg - Configuration des datastores
# user.cfg - Utilisateurs et tokens
# acl.cfg - Permissions
# remote.cfg - Serveurs PBS distants (sync)
# sync.cfg - Jobs de synchronisation
# verify.cfg - Jobs de verification
# tape.cfg - Configuration des lecteurs de bandes (si applicable)
# Sauvegarder la config
tar czf /root/pbs-config-backup-$(date +%Y%m%d).tar.gz /etc/proxmox-backup/
# Sauvegarder aussi les certificats
cp /etc/proxmox-backup/proxy.pem /root/pbs-cert-backup/
cp /etc/proxmox-backup/proxy.key /root/pbs-cert-backup/
Récapitulatif des ports réseau
| Port | Protocole | Usage |
|---|---|---|
8007 |
TCP / HTTPS | Interface web + API REST + transfert de données backup |
Commandes essentielles — Aide-mémoire
| Action | Commande |
|---|---|
| Lister les datastores | proxmox-backup-manager datastore list |
| Créer un datastore | proxmox-backup-manager datastore create <nom> <chemin> |
| Lister les snapshots | proxmox-backup-client snapshot list --repository user@host:store |
| Lancer un backup | vzdump <vmid> --storage pbs-prod --mode snapshot |
| Restaurer une VM | qmrestore pbs-prod:backup/vm/<id>/<timestamp> <vmid> |
| Pruning | proxmox-backup-client prune --keep-daily 7 --repository ... |
| Garbage Collection | proxmox-backup-manager garbage-collection start <store> |
| Vérification | proxmox-backup-manager verify <store> |
| Voir le fingerprint | proxmox-backup-manager cert info | grep Fingerprint |
| Voir les tâches | proxmox-backup-manager task list |
| Voir la version | proxmox-backup-manager version |