Skip to content

Proxmox Backup Server

Proxmox Backup Server (PBS) est la solution de backup officielle pour Proxmox VE. Ce guide couvre l’installation sur une VM KVM hébergée sur une machine physiquement séparée du Proxmox host — ce qui garantit que les backups survivent à une panne de l’hyperviseur principal.

Proxmox host (<PROXMOX_IP>)
│ VLAN backup — trafic backup uniquement
PBS VM (<PBS_IP>) ←─── KVM/libvirt sur machine secondaire
└── /dev/sdX — disque dédié passthrough

Le VLAN backup est un réseau dédié exclusivement au trafic PBS, isolé des autres VLANs. La machine secondaire expose ce VLAN via un bridge sur lequel la VM est attachée.


1. Réseau VLAN backup sur la machine secondaire

Section titled “1. Réseau VLAN backup sur la machine secondaire”

Créer le bridge et attacher le VLAN backup à l’interface physique :

Terminal window
# Bridge principal
nmcli con add type bridge con-name "br0" ifname "br0" \
ipv4.method disabled ipv6.method disabled bridge.stp no
# VLAN backup attaché au bridge
nmcli con add type vlan con-name "BACKUP" ifname "vlan<BACKUP_VLAN_ID>" \
dev <PHYSICAL_INTERFACE> id <BACKUP_VLAN_ID> \
ipv4.method disabled ipv6.method disabled \
master "br0" slave-type bridge
nmcli con up "br0"
nmcli con up "BACKUP"

Créer le hook libvirt pour attacher automatiquement l’interface réseau de la VM au bridge au démarrage :

Terminal window
nano /etc/libvirt/hooks/qemu
#!/bin/bash
VM="$1"
ACTION="$2"
if [ "$VM" = "pbs" ] && [ "$ACTION" = "started" ]; then
sleep 2
ip link set vnet0 master br0
fi
Terminal window
chmod +x /etc/libvirt/hooks/qemu
systemctl restart libvirtd

Télécharger l’ISO PBS depuis proxmox.com et créer la VM :

Terminal window
virt-install \
--name pbs \
--memory 4096 \
--vcpus 2 \
--disk /var/lib/libvirt/images/pbs.qcow2,size=32 \
--disk /dev/<BACKUP_DISK> \
--cdrom /path/to/proxmox-backup-server.iso \
--network bridge=br0 \
--os-variant debian11 \
--boot cdrom,hd \
--graphics spice

Configurer le réseau lors de l’installation PBS :

IP : <PBS_IP>/24
Gateway : <BACKUP_GATEWAY>
DNS : <DNS_IP>
Terminal window
virsh autostart pbs
virsh list --all

Terminal window
# Formater le disque dédié (passthrough /dev/sdX)
mkfs.ext4 /dev/<BACKUP_DISK>
mkdir -p /mnt/datastore/<DATASTORE_NAME>
echo '/dev/<BACKUP_DISK> /mnt/datastore/<DATASTORE_NAME> ext4 defaults 0 2' >> /etc/fstab
mount -a

Dans l’UI PBS (https://<PBS_IP>:8007) → Datastore → Add :

Name : <DATASTORE_NAME>
Directory : /mnt/datastore/<DATASTORE_NAME>

Datastore → <DATASTORE_NAME> → Prune & GC :

Keep last : 7
Keep daily : 14
Keep weekly : 4

Terminal window
ssh root@<PBS_IP> "proxmox-backup-manager cert info | grep Fingerprint"

Datacenter → Storage → Add → Proxmox Backup Server :

ID : pbs
Server : <PBS_IP>
Datastore : <DATASTORE_NAME>
Username : root@pam
Password : <PBS_ROOT_PASSWORD>
Fingerprint : <FINGERPRINT>

Datacenter → Backup → Add :

Storage : pbs
Schedule : <HEURE> (ex: 21:00 — tous les jours)
Selection : All
Mode : Snapshot

Datacenter → Storage → pbs → Backups :

  1. Sélectionner le backup
  2. Clic droit → Restore
  3. Choisir le node cible, le CT ID et le storage
  4. Cocher Start after restore si besoin
Terminal window
# Lister les backups disponibles
proxmox-backup-client list --repository root@pam@<PBS_IP>:<DATASTORE_NAME>
# Restaurer un LXC
pct restore <CTID> pbs:backup/<SNAPSHOT_ID> \
--storage local-lvm \
--start 1

Terminal window
# Bridge et VLAN backup up
ip link show br0
ip link show vlan<BACKUP_VLAN_ID>
# VM PBS démarrée
virsh list --all
# PBS accessible
curl -k https://<PBS_IP>:8007 -o /dev/null -w "%{http_code}"
# Attendu : 200

Si le bridge est down :

Terminal window
nmcli con up "br0"
nmcli con up "BACKUP"

Si la VM n’a pas démarré :

Terminal window
virsh start pbs