Umstellung auf remote PBS, bitte um Review

maxim.webster

Active Member
Nov 12, 2024
179
69
28
Germany
So,

nachdem ich jetzt einige Wochen Erfahrung mit Proxmox VE und PBS sammeln konnte, wird es Zeit das Thema Backup zu konsolidieren und auf eine dauerhafte Lösung umzustellen. Ich bitte um Review und Kommentare zu meinem Plan:

In den Backup sollen:
  1. VMs und CTs eines Proxmox VE Clusters (Voll-Backup)
  2. die Nodes des Clusters (File-Backup)
  3. ein weiterer x86 Linux Server (File-Backup)
  4. drei weitere Raspberry Pi Linux Server (File Backup)
Genutzt wird ein Managed PBS Service der Fa. Xaweho, der Preis für bis zu 1TB ist echt fair.

Für die VMs und CTs des Clusters kommt natürlich die in PVE integrierte Backup-Funktion zum Einsatz.
Die File-Backups der anderen Hosts werden über den proxmox-backup-client realisiert, für die Raspberry Pi gibt es keine offizielle Version für arm-CPUs, aber mindestens eine vorkompilierte von Dritten.

Da die Backups extern gelagert werden und mindestens ein Server im Internet steht, kommt Verschlüsselung zum Einsatz. Jede physische Node bekommt einen Encryption Key und der Cluster bekommt einen. So können im Fall einer Kompromittierung eines Servers die Backups zwar gelöscht, aber nicht verändert oder entschlüsselt werden.

Der Backup über den Proxmox Backup Client mache ich (wie jetzt schon) über Cron mit folgendem Script:

Bash:
#!/bin/bash
if [ -f /etc/pve/local/pve-backup.env ] ; then
        source /etc/pve/local/pve-backup.env
else
        exit "File /etc/pve/local/pve-backup.env missing"
fi

/usr/bin/proxmox-backup-client backup root.pxar:/ \
        --crypt-mode encrypt \
        --keyfile /etc/pve/pve-backup.json \
        --exclude /bin \
        --exclude /boot \
        --exclude /dev \
        --exclude /lib \
        --exclude /lib64 \
        --exclude /local-zfs \
        --exclude /lost+found \
        --exclude /mnt \
        --exclude /opt \
        --exclude /proc \
        --exclude /run \
        --exclude /sbin \
        --exclude /sys \
        --exclude /tmp \
        --exclude /usr \
        --exclude /var/lib/lxcfs \
        --include-dev /etc/pve \
        --backup-type host \
        --skip-lost-and-found

/etc/pve/local/pve-backup.env sieht in etwa so aus:

Bash:
export PBS_REPOSITORY=...
export PBS_PASSWORD=...
export PBS_FINGERPRINT=...

und in /etc/pve/pve-backup.json liegt der Encryption Key.

Verteilung des Scripts und der zugehörigen Daten geschieht über Konfigurationsmanagement (ansible), d.h. die Pfade (die aktuell noch auch PVE ausgerichtet sind) können sich ändern. Auch die Liste der Excludes / Includes werde ich dynamisieren, je nach OS und ob der Host ein Docker Host ist oder nicht.

Für den Restore benötige ich dann:
  • den proxmox-backup-client bzw. den aufgesetzten, neuen Cluster
  • den Encryption Key des Clients oder Clusters
  • die Zugangsdaten des PDB Datastores
Fragen:
  • grobe Fehler entdeckt?
  • wurde was vergessen?
  • bringt der Einsatz von Namespaces zusätzliche Sicherheit, in der Art dass die Backups der Server voneinander abgeschottet sind?

Lieben Dank

Maxim
 
  • Like
Reactions: UdoB
bringt der Einsatz von Namespaces zusätzliche Sicherheit, in der Art dass die Backups der Server voneinander abgeschottet sind?
Nein.

Sofern ich alles korrekt verstanden habe: Namespaces sind "künstliche" Gruppen. Die Deduplizierung geschieht "unterhalb", auf Ebene der .chunks.

Wenn ein einzelner Chunk, der in mehreren Backups verwendet wird, verloren geht, sind alle (diese) Backups beschädigt, egal in welchem NS sie liegen.

Wenn man unbedingt mehrere separate Bereiche haben will, muss man mehrere Datastores einrichten. Aber damit verliert man natürlich den größten Vorteil, eben die Deduplizierung...
 
  • Like
Reactions: maxim.webster
Jede physische Node bekommt einen Encryption Key und der Cluster bekommt einen.

...
  • bringt der Einsatz von Namespaces zusätzliche Sicherheit, in der Art dass die Backups der Server voneinander abgeschottet sind?

Nein.

Sofern ich alles korrekt verstanden habe: Namespaces sind "künstliche" Gruppen. Die Deduplizierung geschieht "unterhalb", auf Ebene der .chunks.

Wenn ein einzelner Chunk, der in mehreren Backups verwendet wird, verloren geht, sind alle (diese) Backups beschädigt, egal in welchem NS sie liegen.

Wenn man unbedingt mehrere separate Bereiche haben will, muss man mehrere Datastores einrichten. Aber damit verliert man natürlich den größten Vorteil, eben die Deduplizierung...
Die Deduplizierung ist eh schon weg, jedenfalls für die Nodes und anderen Clients. Jeder Encryption Key sorgt dafür, dass die Chunks verschieden sind.

D.h. eine weitere Möglichkeit ist, anstatt Datastores verschiedene Encryption Keys zu verwenden. Da muss aber dann auch für jeden Encryption Key einen eigenen Storage im Cluster anlegen. Da helfen dann Namespaces beim Verwalten um die Übersicht zu behalten. Ob das jetzt besser ist als Datastores weiß ich nicht.
Eventuell bei einem Managed PBS wenn ein extra Datastore Kosten verursacht.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!