[TUTORIAL] Proxmox PBS LXC mit USB-Festplatte für Backup-Synchronisation einrichten

XerXes777

New Member
Dec 16, 2024
4
2
3
Hallo zusammen,

ich bin seit einigen Tagen dabei, mich in Proxmox einzuarbeiten, und habe bereits erste Fortschritte gemacht.
Allerdings stoße ich jetzt auf ein Problem, bei dem ich Hilfe benötige.

Aktueller Stand:

  1. Proxmox VE (PVE):
    • Läuft auf meinem PC und ist produktiv einsatzbereit.
    • Backups meiner Container und VMs werden auf einen Proxmox Backup Server (PBS) geschrieben.
  2. Proxmox Backup Server (PBS) auf Synology NAS:
    • Auf meiner Synology NAS habe ich einen virtuellen PBS eingerichtet.
    • Backup-Jobs laufen und schreiben erfolgreich auf diesen PBS (über das Storage in PVE).
  3. Problemstellung:
    • Derzeit liegen meine Backups ausschließlich auf der Synology NAS.
    • Wenn die NAS ausfällt oder nicht mehr funktioniert, habe ich keinen direkten Zugriff auf die Backups.
    • Ziel: Ein zusätzliches Backup des PBS-Backups auf eine USB-Festplatte, die direkt an meinen Proxmox-Server angeschlossen ist.

Meine Idee:

  • Ich habe auf meinem PVE einen PBS LXC Container eingerichtet, um die Backups von der Synology NAS via Pull Sync zu replizieren.
  • An meinem PVE-PC ist eine einfache USB-Festplatte angeschlossen.
  • Ziel: Der PBS LXC soll die USB-Festplatte verwenden, um die Backup-Daten von der Synology NAS via Pull Sync zu kopieren.

Probleme:

  • Ich bekomme es nicht hin, die USB-Festplatte korrekt in den PBS LXC Container einzubinden, sodass dieser vollen Zugriff darauf hat.
  • Ich möchte eine stabile und sichere Konfiguration, die mir erlaubt, im Fall eines Ausfalls der Synology NAS direkt auf die Backups auf der USB-Festplatte zuzugreifen und diese wiederherzustellen.

Meine Umgebung:

  • PVE Version: Virtual Environment 8.3.1
  • PBS Version: Backup Server 3.3.2
  • Hardware: USB-Festplatte direkt an den PVE-PC angeschlossen.

Anforderungen:

  1. Anleitung, wie ich die USB-Festplatte korrekt in den PBS LXC Container einbinde.
  2. Schritt-für-Schritt-Erklärung, wie ich die Pull Sync-Funktion zwischen dem PBS auf der Synology NAS und dem PBS LXC auf PVE einrichte.
  3. Sicherstellen, dass die Daten auf der USB-Festplatte stabil und wiederherstellbar sind, ohne die Synology NAS.
Ich würde mich über eine Anleitung für Anfänger freuen, da ich gerade erst in Proxmox einsteige.

Vielen Dank vorab für eure Unterstützung!
 

Proxmox Backup Server (PBS) Spiegelung auf USB-Festplatte​

Einleitung​

In dieser Anleitung wird beschrieben, wie du deine Backups, die auf einer Synology NAS mit einem Proxmox Backup Server (PBS) gespeichert sind, zusätzlich auf eine externe USB-Festplatte spiegelst.
Das Ziel ist es, sicherzustellen, dass Backups auch dann wiederhergestellt werden können, wenn die Synology NAS ausfällt oder nicht erreichbar ist.

Warum diese Konfiguration?

  • Die Synology NAS bietet durch RAID ein hohes Maß an Sicherheit, ist aber ein Single Point of Failure:
    Wenn die NAS nicht läuft, sind die Backups unzugänglich.
  • Ein zusätzlicher PBS-LXC auf dem Proxmox Host kann die Backups via Pull-Sync auf eine USB-Festplatte spiegeln.
  • Dadurch kannst du Backups direkt vom PBS-LXC und der USB-Festplatte wiederherstellen, ohne auf die Synology angewiesen zu sein.

Abkürzungen​

  • pve: Proxmox Virtual Environment
  • pbs: Proxmox Backup Server
  • lxc: Linux Container
  • node: pve (Kann bei dir anders sein!!!)
  • lxc-id: 149 ID bei der Erstellung vom lxc (Kann bei dir anders sein!!!)

Szenarien​

Es gibt zwei mögliche Ansätze für dieses Setup:
  1. Init (Neuinstallation): Erstinstallation von pbs in einem lxc mit neu formatierter externer Festplatte
  2. Bak (Wiederherstellung): Einbinden einer bereits befüllten Festplatte, um ein bestehendes pbs-Backup wiederherzustellen

Ausgangssituation & Hardware​

  • PC mit kleiner SSD für das pve-Betriebssystem
  • Zweite, größere SSD für Container und Disk-Images
  • Synology NAS (mit Virtual Machine Manager) als Backup-Ziel für pbs
  • Externe USB-Festplatte zur Spiegelung der pbs-Backups von der NAS

Hilfreiche Links & Hinweise​


Installation von Proxmox VE​

  1. Proxmox VE ISO herunterladen, auf ein Installationsmedium schreiben und auf die kleine SSD installieren.
  2. Nach der Installation das "Proxmox VE Post Install"-Helper Script ausführen, um das System zu optimieren.

Storage-Konfiguration in Proxmox​

ZFS auf großer SSD​

  • In der Web-UI: Node → Disks → ZFS
  • Große SSD als ZFS-Pool erstellen, ID z. B. DataDiskZFS1
  • Inhalte (RechencenterStorage DataDiskZFS1): Disk-Image und Container aktivieren.

Anpassung der lokalen Partitionierung​

Die kleine SSD wird standardmäßig in local und local-lvm aufgeteilt. local-lvm kann entfernt werden, um mehr Platz für local zu gewinnen, da wir eine große zweite SSD haben.
  • local-lvm aus der Storage-Konfiguration (Datacenter) entfernen.
  • Auf der Node-Konsole folgende Befehle ausführen:
    Bash:
    lvremove /dev/pve/data
    lvresize -l +100%FREE /dev/pve/root
    resize2fs /dev/mapper/pve-root
  • Inhalte (RechencenterStorage local): ISO-Images, Container-Templates und Importe nutzen.

Einbinden der externen USB-Festplatte​

Der Vorgang unterscheidet sich je nach Szenario.

Szenario Init (Neuinstallation)​

  1. pbs als LXC installieren (Helper Script: "Proxmox Backup Server LXC").
  2. Im LXC den "Proxmox Backup Server Post Install" Script ausführen.
  3. Externe USB-Festplatte an pve anschließen.
  4. In der pve Web-UI: Node → Disks → Verzeichnis
    • Neues Verzeichnis erstellen (⚠️ Achtung: Die Festplatte wird formatiert und alle Daten gehen verloren!)
    • "Storage hinzufügen" abwählen
    • Als Namen z. B. BackBackupUSB1 wählen.
Mount-Konfiguration überprüfen:
Bash:
cd /etc/systemd/system
ls -la
cat mnt-pve-BackBackupUSB1.mount
Diese Config unbedingt sichern (für spätere Wiederherstellungen)!
UID/GID anpassen, damit der unprivilegierte LXC Zugriff hat:
Bash:
cd /mnt/pve/
ls -la
chown 100000:100000 BackBackupUSB1 -R
ls -la
  1. LXC-Container-Konfiguration anpassen, um den Mountpoint durchzureichen:
    Bash:
    cd /etc/pve/nodes/$(hostname)/lxc
    ls -la
    nano <lxc-id>.conf
Am Ende hinzufügen:
mp0: /mnt/pve/BackBackupUSB1,mp=/mnt/BackBackupDataUSB1
LXC stoppen und neu starten (herunterfahren + wieder starten, kein "Restart").

In pve die shell von lxc pbs starten und ein sicheres root Passwort vergeben:
Bash:
sudo passwd root
  1. Testen im LXC PBS:
    Bash:
    cd /mnt/BackBackupDataUSB1
    ls -la
    echo "Write test successful" >> testfile.txt
    ls -la
    rm testfile.txt
  2. Im LXC PBS (Web-UI): Datastore → Datastore hinzufügen
    • Name: BackBackupStoreUSB1
    • Pfad: /mnt/BackBackupDataUSB1
    • GC Zeitplan: Keine
    • Prune Zeitplan: Keine
    • (Pruning und GC erfolgen auf der Synology NAS.)

Szenario Bak (Wiederherstellung)​

  1. Externe Festplatte an pve anstecken.
  2. Gesicherte Mount-Konfiguration wiederherstellen:
    Bash:
    cd /etc/systemd/system
    nano mnt-pve-BackBackupUSB1.mount
Die zuvor gesicherte Config einfügen und speichern. Dann:
Bash:
systemctl daemon-reload
systemctl enable mnt-pve-BackBackupUSB1.mount
systemctl status mnt-pve-BackBackupUSB1.mount
Erklärung:
Dieser Befehl lädt die systemd-Konfiguration neu, damit Änderungen an .mount-Dateien oder anderen Units wirksam werden.
Überprüfen ob alles korrekt gemountet ist:
Bash:
lsblk
  1. pbs erneut als lxc installieren (Helper Scripts).
  2. Im pbs lxc Web-UI Datastore hinzufügen und unter "Erweitert" → "Existierendes Datastore wiederherstellen" auswählen.
  3. In pve: Rechenzentrum → Storage → Hinzufügen → Proxmox Backup Server
    • Verbindungsdaten aus pbs lxc Web-UI (BackBackupStoreUSB1→ Übersicht → Verbindungsinformationen anzeigen) eintragen.
    • Auth-ID: root@pam
    • Als ID z. B. BackBackupPBS1 wählen.
    • Unter BackBackupPBS1 → Backups können nun die Backups wiederhergestellt werden.

Einrichtung des pbs auf der Synology NAS​

  • Hierzu gibt es ein Video, das alles erklärt: https://www.youtube.com/watch?v=abf2D9ikkn8
  • Nach der Installation auf Synology ggf. das "Proxmox Backup Server Post Install" Script ausführen und dem Video folgen.
  • Als Name für das Speicher Verzeichnis z. B. BackupDIR1 wählen und als Datastore hinzufügen.
  • Prune-Job unter BackupDIR1erstellen nach eigenen Wünschen.
    • Zeitplan: daily (00:00)
    • Letze behalten: 7
    • Tage behalten: 7
    • Monate behalten: 3
    • Wochen behalten: 4
    • Jahre behalten: 1
  • Garbage Collect-Job unter BackupDIR1erstellen bzw anpassen nach eigenen Wünschen.
    • GC Zeitplan: 8:00
  • In pve: Rechenzentrum → Storage → Hinzufügen → Proxmox Backup Server
    • Verbindungsdaten aus pbs nas Web-UI (BackupDIR1 → Übersicht → Verbindungsinformationen anzeigen) eintragen.
    • Auth-ID: root@pam
    • Als ID z. B. BackupPBS1 wählen.
    • Unter BackupPBS1 → Backups können nun die Backups wiederhergestellt werden.
  • In pve: Rechenzentrum → Backup→ Hinzufügen → Backup-Job erstellen nach eigenen Wünschen erstellen.
    • Storage: BackupPBS1
    • Zeitplan: 21:00
    • Auswahlmodus: Alle

Synchronisierung (Pull-Sync) vom Synology-pbs auf den pve-pbs​

  1. Wenn pbs auf der NAS läuft, in pbs lxc Remote einrichten: Konfiguration → Remotes
    1. Die benötigten Daten findet ihr wieder unter:
      Verbindungsdaten aus pbs nas Web-UI (BackupDIR1 → Übersicht → Verbindungsinformationen anzeigen) eintragen.
    2. Auth-ID: root@pam
  2. Im pbs lxc: Datastore → BackBackupStoreUSB1→ Sync-Jobs → Hinzufügen Add Pull Sync Job hinzufügen
    • Quell Remote: Synology pbs Verbindung
    • Quell Datastore: Der auf Synology eingerichtete Datastore
  3. Zeitplan für den Sync festlegen nach eigenen Wünschen.
    1. Syn-Zeitplan: 10:00
Dadurch werden Backups von der Synology NAS auf die externe USB-Festplatte des pbs lxc gespiegelt.
So ist auch bei Ausfall der NAS eine Wiederherstellung möglich.

Auto HDD Spindown​

Ermittlung des Festplatten-Laufwerksbuchstabens​

  1. In der Web-UI: Node → Disks → ZFS
    Dort siehst du alle verfügbaren Laufwerke.
  2. Wichtig: Verwende nur den Laufwerksbuchstaben (z.B. /dev/sdb), nicht die Zahlen am Ende (z.B. /dev/sdb1).
  3. Ersetze /dev/sdb durch dein eigenes Laufwerk (z.B. /dev/sda oder /dev/sdc).

Kann meine HDD mit hdparm zusammen arbeiten?​

  1. Bei mir ist das Laufwerk mit sdb gelistet. (Bei euch kann das anders sein!!!)
  2. Mit diesem Befehl kannst du überprüfen, ob deine HDD mit hdparm zusammen arbeitet:
    Bash:
    hdparm -I /dev/sdb | grep -E 'Model Number|Serial Number|Firmware Revision|Advanced power management|Power Management|Standby timer|Nominal Media Rotation Rate|Logical.*size|Physical.*size'
    Meine Ausgabe:

    Code:
    Model Number:       WDC WD10SDZW-11UMGS0                    
    Serial Number:      WD-WX81A77EAYT2
    Firmware Revision:  01.01A01
    Logical  Sector size:                   512 bytes
    Physical Sector size:                  4096 bytes
    Nominal Media Rotation Rate: 5400
    Standby timer values: spec'd by Standard, with device specific minimum
    Advanced power management level: 128
    * Power Management feature set
    * Advanced Power Management feature set
  3. Wenn du ähnliche Einträge siehst, unterstützt deine Festplatte Spindown und Power Management.
    Falls du keine „Advanced Power Management“ oder „Standby timer“-Werte siehst, funktioniert hdparm möglicherweise nicht mit deinem Laufwerk.

Manuelles Testen des Spindown​

  1. Schicke deine HDD in den Spindown-Modus und höre genau hin, ob sie stoppt:
    Bash:
    hdparm -y /dev/sdb
  2. Hinweis:
    Wenn Fehler wie SG_IO: bad/missing sense data erscheinen, ist das bei einigen Festplatten (vor allem USB) normal. Die Festplatte geht trotzdem in den Spindown. Aber nur mit dem direkten Befehl und nicht nach der Eingestelten Zeit!!! Das ist doof. Das bedeutet man muss ich ein Script basteln...

Auto Spindown nach 3 Minuten einrichten​

  1. Zeit berechnen bei mir sind es 3 Minuten.
    Formel: Wert × 5 Sekunden = Spindown-Timeout.
    Für 3 Minuten: 36 × 5 = 180 Sekunden.
  2. Dauerhafte Konfiguration beim Systemstart:
    Bash:
    nano /etc/hdparm.conf
  3. Füge am Ende folgende Zeilen hinzu:
    Bash:
    /dev/sdb {
        spindown_time = 36
    }
  4. Speichere die Datei:
    Strg + O → Enter → Strg + X.
  5. Konfiguration neu laden:
    Bash:
    systemctl restart systemd-udevd
 
Last edited:
  • Like
Reactions: roxy and 0815Cracky
Hinweis:
Helper Scripte immer mit Vorsicht genießen, da sich mehrere Leute schon Ihre Installationen "zerstört" hatten und diese schwer bis gar nicht reparierbar waren.
Ich spreche hier für den Enterprise und Production Bereich. Für Privat-Anwender, sind diese Scripte eine nette Hilfe.
 

Meine Idee:

  • Ich habe auf meinem PVE einen PBS LXC Container eingerichtet, um die Backups von der Synology NAS via Pull Sync zu replizieren.
  • An meinem PVE-PC ist eine einfache USB-Festplatte angeschlossen.
  • Ziel: Der PBS LXC soll die USB-Festplatte verwenden, um die Backup-Daten von der Synology NAS via Pull Sync zu kopieren.

Probleme:

  • Ich bekomme es nicht hin, die USB-Festplatte korrekt in den PBS LXC Container einzubinden, sodass dieser vollen Zugriff darauf hat.
  • Ich möchte eine stabile und sichere Konfiguration, die mir erlaubt, im Fall eines Ausfalls der Synology NAS direkt auf die Backups auf der USB-Festplatte zuzugreifen und diese wiederherzustellen.

Meine Umgebung:

  • PVE Version: Virtual Environment 8.3.1
  • PBS Version: Backup Server 3.3.2
  • Hardware: USB-Festplatte direkt an den PVE-PC angeschlossen.

Anforderungen:

  1. Anleitung, wie ich die USB-Festplatte korrekt in den PBS LXC Container einbinde.
  2. Schritt-für-Schritt-Erklärung, wie ich die Pull Sync-Funktion zwischen dem PBS auf der Synology NAS und dem PBS LXC auf PVE einrichte.
Die PBS-Dokumentation ist (nicht nur dafür) ein guter Einstieg: https://pbs.proxmox.com/docs/managing-remotes.html
  1. Sicherstellen, dass die Daten auf der USB-Festplatte stabil und wiederherstellbar sind, ohne die Synology NAS.
Ich würde mich über eine Anleitung für Anfänger freuen, da ich gerade erst in Proxmox einsteige.

Vielen Dank vorab für eure Unterstützung!
Zunächst mal wird PBS in Linux-Containern nicht offiziell unterstützt, es geht zwar prinzipiell, aber das kann sich bei jeden Update ändern.
Theoretisch müsste es über einen Bind-Mount gehen, ist aber halt mit Gefrickel verbunden.
Ich würde mir daher eine PBS VM klicken und dort die USB-Festplatte durchreichen. Damit könntest du auch die lokale PBS VM auf dem Synology-PBS sichern. Andere Frage: An die synology kannst du keine externe Platte anschließen und durchreichen? Das wäre envtl. einfacher.
Eine andere Möglichkeit, die zwar nicht empfohlen aber trotzdem in der Doku beschrieben wird ist dass man sich dem PBS zusätzlich zu ProxmoxVE auf dem Host installiert:
https://pbs.proxmox.com/docs/installation.html#install-proxmox-backup-server-on-proxmox-ve
Hat dann aber natürlich den Nachteil, dass dieser (anders als eine VM) nicht mehr mit Bordmitteln gesichert werden kann, aber dafür kann der direkt auf die Festplatte zugreifen. Bei deinen nicht sonderlich komplexen Setup scheint mir das die simpelste Lösung zu sein.

Eine andere Variante wäre auf einen günstigen vserver (hetzner oder netcup) PBS zu installieren oder einen der Cloud PBS Anbieter wie tuxis.nl oder cloud-pbs.com zu nutzen, envtl. auch zusätzlich zur Sicherung auf der Festplatte, falls du ungebetene Besucher in deinen Netzwerk hast. Zum Schutz vor solchen Gästen gibt es in der Doku ein eigenes Kapitel: https://pbs.proxmox.com/docs/storage.html#ransomware-protection-recovery
 
  • Like
Reactions: smueller@TK