Proxmox Daten-Backup und weiteres..

Skudrinka

Fleet Admiral
Registriert
Sep. 2008
Beiträge
10.560
Hallo,

ich habe Fragen :)

Habe mir einen kleinen MiniPC mit nem N95 gekauft, auf dem jetzt Proxmox läuft.
Dieser soll nun dauerhaft Dienste im Netzwerk bereitstellen.
Auf Proxmox habe ich Docker mit portainer installiert.
Darin sollen Dienste laufen:
Vaultwarden lokal inkl. SSL läuft schon.
adguard home wird folgen.
Usw..

Proxmox ist auf einer Nvme installiert.
So richtig verstehe ich das mit den Containern nicht.
Ist es richtig, dass Daten die im Container erstellt werden, nicht in diesem direkt gespeichert werden/sollen, sondern auf dem Host, weil Container nach jeden Neustart wieder "zum Anfang zurückkehren"?!
Deswegen habe ich ja ein CT-Volumes eingerichtet?! - Dort werden Daten aus den Containern gespeichert?

Wie kann ich das System gescheit backupen? - Was muss ich BAckupen?
In Proxmox kann ich aus der GUI den Docker Container selbst BAckupen, die Datei befindet sich lokal - aber wo?
Ist es Klug die erstellte Datei zu sichern, oder gibt es weitere Möglichkeiten?

Außerdem habe ich noch meine NAS - kann ich beide Systeme verbinden um den Proxmox auf meiner NAS (OMV) zu sichern?

Ich blick das alles noch nicht so richtig :)


Vielen Dank!
 
Du hast Docker nativ auf proxmox installiert oder in einem LXC oder in einer VM?

Bei Docker sicherst du nur das docker compose file sowie die Volumes. Wo letztere liegen hast du explizit angegeben.

Backup: Idealerweise stopst du die Container und sicherst dann die Volumes auf dein NAS. Da Proxmox von Haus aus keine Docker Container unterstützt würde das nur mit einem Klick klappen wenn du docker einer LXC oder VM laufen hast. Da hast du aber dann wieder den Vorteil von, nur die Nutzdaten zu sichern direkt umgangen.
 
Grundsätzlich ist bei Containern ursprünglich die Idee gewesen, dass diese "stateless" betrieben werden und damit zumindest davon ausgegangen werden muss, dass die Daten darin nicht beständig sind. Allerdings kommt das aus der Welt der Cluster und Microservices, wo ein Container schon mal mehrfach auf verschiedenen Servern betrieben wird und für jede Instanz ein eigenes Volume zugewiesen wird. Bei einem "stateful"-Konzept ist in so einem Fall ohnehin immer ein Abgleich der Instanzen notwendig.
Im Home-Bereich ist das meistens nicht der Fall - auf meinem Homeserver laufen zwar auch nur Dienste in Containern, wo mir nicht wichtig ist, ob ihre Daten erhalten bleiben (Unifi Controller, Pihole). Tatsächlich behalten sie aber wohl ihre Daten über reboots hinweg, weil es immer die gleiche Instanz auf dem gleichen Volume ist.

Backup geht ganz easy über die eingebaute Backup-Funktion. Wenn Du ein NAS hast, kannst Du davon ein Share über SMB/CIFS oder NFS einbinden, als Backup-Storage definieren (bei der Erstellung bei Content "vzdump Backup file" auswählen) und dann beim Starten des Backups das unter "Storage" auswählen. Das hat allerdings nichts mit dem Erhalt der Daten in den Containern über Reboots hinweg zu tun.
 
  • Gefällt mir
Reaktionen: Skudrinka
JumpingCat schrieb:
oder in einem LXC
Das :) pm1.JPG
Ergänzung ()

pm2.JPG
 
Skudrinka schrieb:
Ist es richtig, dass Daten die im Container erstellt werden, nicht in diesem direkt gespeichert werden/sollen, sondern auf dem Host, weil Container nach jeden Neustart wieder "zum Anfang zurückkehren"?!
Nein. Also meine Container (PiHole, PLEX, Tautilli und SFTPGo) verlieren keine Daten nach einem Neustart. Ein Neustart weder vom Container selbst, noch dem ganzen Proxmox-PC führen zu keinem Datenverlust.

Skudrinka schrieb:
Wie kann ich das System gescheit backupen? - Was muss ich BAckupen?
Ich sichere meine Container wöchentlich auf einen weiteren PC im Netzwerk.

Skudrinka schrieb:
In Proxmox kann ich aus der GUI den Docker Container selbst BAckupen, die Datei befindet sich lokal - aber wo?
Ist es Klug die erstellte Datei zu sichern, oder gibt es weitere Möglichkeiten?
Ich weiß nicht wo (Lokal), aber extern sichern auf dein NAS via freigegeben Ordner (am NAS) wäre eine Idee.

Skudrinka schrieb:
Außerdem habe ich noch meine NAS - kann ich beide Systeme verbinden um den Proxmox auf meiner NAS (OMV) zu sichern?
Ja.

1. NAS: Ordner freigeben mit Name+PW

2. Proxmox: Datacenter > Storage > Add > SMB/CIFS:
ID = Name (wie der Ordner unter Proxmox links in der Liste auftauchen soll); Server = IP; Share = freigegebener Zielordner
PXMX.png

3. Proxmox: Datacenter > Backup > Add
Storage = dein vorher eingebundener Ordner (aus Schritt 2); Schedule = Wie oft/wann Backupen
- Tab "Retention" ansehen und passend Optionen wählen (ich behalte die letzten beiden Backups)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Skudrinka
Skudrinka schrieb:
Wie stelle ich das in Proxmox an?
GUI oder rein CLI?
Nicht unter Proxmox sondern auf dem Zielgerät, wo die Backups landen sollen. Hab oben bisschen was editiert/hinzugefügt
 
  • Gefällt mir
Reaktionen: Skudrinka
redjack1000 schrieb:
Schau dir mal den ProxmoxBackupServer näher an.
Mh, das schaut doch gut aus.
Die Instanz kann ich als VM auf meiner NAS laufen lassen..
Mal sehen ob ich den Speicher von OMV eingebunden bekommen 🤷‍♀️

SpiII schrieb:
Nicht unter Proxmox sondern auf dem Zielgerät, wo die Backups landen sollen. Hab oben bischen was editiert/hinzugefügt
Danke!

Gucke ich mir ebenso an.

Werde beides ausprobieren und gucken, welche Option mir besser gefällt :)


Vielen Dank!
Ergänzung ()

Gerade habe ich so ne Erleuchtung..
Eigentlich hätte ich mir das installieren von Docker auch schenken können, weil Container wie Vaultwarden oder AdGuard ja direkt in Proxmox container laufen!? 🤦‍♀️

Hasts denn wenigstens n Vorteil Docker genutzt zu haben!? 😄
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SpiII
Skudrinka schrieb:
Eigentlich hätte ich mir das installieren von Docker auch schenken können, weil Container wie Vaultwarden oder AdGuard ja direkt in Proxmox container laufen!? 🤦‍♀️
Jup.

Skudrinka schrieb:
Hasts denn wenigstens n Vorteil Docker genutzt zu haben!? 😄
Es gibt ein paar Sachen, die gehen nur in Docker oder lassen sich da einfacher handhaben. Habe aber kein Beispiel parat.

Die Seite mit den Scripts kennst du schon? https://community-scripts.github.io/ProxmoxVE/scripts
 
  • Gefällt mir
Reaktionen: Skudrinka
Eine bis dato nicht mehr verwendete BX500 wird Einzug in den kleinen Proxmox Server halten, auf der täglich Snapshots und Backups erstellt werden.
Das ist die erste Sicherungsmaßnahme.

Den REst gucke ich mir über die nächsten Tage an.
Gerade mache ich zu viel auf einmal :D

Btw. der N95 hat wesentlich mehr "Leistung" als vermutet - ziemlich ernüchternd wenn ich sehe, dass meine große NAS im idle 28W verbraucht und viel zu viel Leistung dabei ungenutzt "verschwendet" wird..

Bei dem N95er bin ich bei 5-6 Watt 🤦‍♀️
Für 120€ ein nettes Spielzeug :daumen:
 
Docker Volumes hatte ich sporadisch mit
Code:
#!/usr/bin/env bash

# Set error handling
set -euo pipefail

# shellcheck disable=SC2006
programname=`basename "$0"`

display_usage() {
    echo "usage: $programname (create|restore) source destination"
    echo "  create         create snapshot file from docker volume"
    echo "  restore        restore snapshot file to docker volume"
    echo "  source         source path"
    echo "  destination    destination path"
    echo
    echo "Tip: Supports tar's compression algorithms automatically"
    echo "     based on the file extention, for example .tar.gz"
    echo
    echo "Examples:"
    echo "docker-volume-snapshot create xyz_volume xyz_volume.tar"
    echo "docker-volume-snapshot create xyz_volume xyz_volume.tar.gz"
    echo "docker-volume-snapshot restore xyz_volume.tar xyz_volume"
    echo "docker-volume-snapshot restore xyz_volume.tar.gz xyz_volume"
}

case "$1" in
    "create")
        if [[ -z "$2" || -z "$3" ]]; then display_usage; exit 1; fi
        # shellcheck disable=SC2006
        directory=`dirname "$3"`
        if [ "$directory" == "." ]; then directory=$(pwd); fi
        # shellcheck disable=SC2006
        filename=`basename "$3"`
        docker run --rm -v "$2:/source" -v "$directory:/dest" busybox tar cvaf "/dest/$filename" -C /source .
        ;;
    "restore")
        if [[ -z "$2" || -z "$3" ]]; then display_usage; exit 1; fi
        # shellcheck disable=SC2006
        directory=`dirname "$2"`
        if [ "$directory" == "." ]; then directory=$(pwd); fi
        # shellcheck disable=SC2006
        filename=`basename "$2"`
        docker run --rm -v "$3:/dest" -v "$directory:/source" busybox tar xvf "/source/$filename" -C /dest
        ;;
    *)
        display_usage
        exit 1 # Command to come out of the program with status 1
        ;;
esac
gesichert oder woanders hin verschoben.

Das Skript ist nicht von mir. Hatte es irgendwo mal gefunden.
 
  • Gefällt mir
Reaktionen: Skudrinka
oicfar schrieb:
Ne ne, damit fange ich erst gar nicht an. :)
Möchte möglichst die volle Kontrolle darüber, wo sich was befindet. - Vor und nach dem Backup.

Danke, das ist mir zu viel unverständlicher Code, dafür dass es mir am Ende um das wichtigste geht. - Um meine Passwort-Datenbank.

Werde wohl einfach Proxmox Backup Server als VM auf meiner NAS installieren.

Seit Stunden gehe ich alle Eventualitäten durch, wie ich die Datenbank gänzlich verlieren könnte und was ich dagegen machen kann.

Scheiß rubbithole 😄
Ergänzung ()

Momentan kann ich mir meine Passwörter alle merken, da sie ein gewisses Grundgerüst besitzen, welches ich würfel. Damit habe ich nicht überall das gleiche, aber doch zu ähnlich.

Das soll sich in Zukunft ändern, doch mit der Gewissheit, dass ich bei allen Eventualitäten immer meine Datenbank wiederherstellen kann, bzw. gesichert habe.
 
  • Gefällt mir
Reaktionen: oicfar
Skudrinka schrieb:
Ne ne, damit fange ich erst gar nicht an. :)
Möchte möglichst die volle Kontrolle darüber, wo sich was befindet. - Vor und nach dem Backup.
Ich dachte mir @Skudrinka möchte noch was lernen. ;)
 
Skudrinka schrieb:
Ne ne, damit fange ich erst gar nicht an. :)
Möchte möglichst die volle Kontrolle darüber, wo sich was befindet. - Vor und nach dem Backup.
Die Kenntnis des Source-Codes ist ein Kontrollverlust?
 
Nunja, ehrlich gesagt ist es ja auch OK, wenn man nicht einfach blind irgendwelche Scripte, die man im Internet findet, auf seine wichtigen Daten loslässt.

Die wichtigsten Punkte wurde ja schon erwähnt, v.a. in Post #5, ich sichere meine LXC Container auch mittels der integrierten Backup Funktion von Proxmox auf einen SMB Share auf mein NAS, welches unabhängig von Proxmox läuft. Für dieses gilt dann wiederum die 3-2-1 Backup Regel. Proxmox Backup Server brauchts da nicht zwingend.
 
Sykehouse schrieb:
Nunja, ehrlich gesagt ist es ja auch OK, wenn man nicht einfach blind irgendwelche Scripte, die man im Internet findet, auf seine wichtigen Daten loslässt.
RTFM.jpg

Sykehouse schrieb:
Die wichtigsten Punkte wurde ja schon erwähnt, v.a. in Post #5, ich sichere meine LXC Container auch mittels der integrierten Backup Funktion von Proxmox auf einen SMB Share auf mein NAS, welches unabhängig von Proxmox läuft. Für dieses gilt dann wiederum die 3-2-1 Backup Regel. Proxmox Backup Server brauchts da nicht zwingend.
Wobei das sichern von beweglichen Daten die gerade in Nutzung sind eine komplett andere Baustelle ist.
 
oicfar schrieb:
Ich dachte mir Skudrinka möchte noch was lernen. ;)
Zumal das Shellskript ja auch trivial ist. Die Hälfte geht ja schon allein fürs echo drauf. Der Rest ist auch ziemlich selbsterschließend. Zumal man es ja auch reichlich Dokumentation zu Shell-Skripting findet. Die größte Schwierigkeit ist vielleicht zu wissen, das [ ein Synonym für test ist. :-)
 
Skudrinka schrieb:
Ist es richtig, dass Daten die im Container erstellt werden, nicht in diesem direkt gespeichert werden/sollen, sondern auf dem Host, weil Container nach jeden Neustart wieder "zum Anfang zurückkehren"?!
Erstmal musst du zwei Dinge unterscheiden.
  • LXC sind keine Dockercontainer. Bei LXC werden die Daten nicht gelöscht.
  • Docker: Der Container "statisch" oder "generisch" und daher verändert er sich selbst nicht. Daten die nicht verloren gehen werden von "außen" in das System gemountet und liegen so letztlich nicht direkt im Docker Container. Die Container sind daher auch noch kleiner als LXC.

Skudrinka schrieb:
Wie kann ich das System gescheit backupen? - Was muss ich BAckupen?
  • Kannst du entweder mit Bordmitteln machen (VZDump). Nachteil: Ist immer eine Vollsicherung
  • Proxmox Backup Server verwenden. Der macht nur einmalig eine Vollsicherung und dann "endless inrkrementell". Dazu gibt es dann drei oder "vier" Varianten:
  1. Als Dienst direkt auf den Proxmoxserver nachinstallieren (ja, das geht) - deshalb läuft die Weboberfläche von Proxmox Backup Server auf Port 8007 und nicht auf 8006.
  2. In eine virtuelle Maschine, betreibe ich so. Nachteil: Du kannst diesen aber nicht von sich selbst sichern lassen (was im Prinzip nicht schlimm ist). Der PBS ist schnell wieder aufgesetzt.
  3. Den PBS auf ne andere echte Maschine installieren (theoretisch empfohlene Methode, für den Homebereich aber meist nicht praktikabel)
  4. Den PBS als VM auf dein NAS installieren auf dass du auch sicherst. Würde ich aber nicht empfehlen.

Skudrinka schrieb:
In Proxmox kann ich aus der GUI den Docker Container selbst BAckupen, die Datei befindet sich lokal - aber wo?
Ist es Klug die erstellte Datei zu sichern, oder gibt es weitere Möglichkeiten?
Die Daten liegen auf dem echten Speicher des Proxmox Servers selbst. Kannst du auch hinbrowsen in der Kommandozeile. Bei mir heißt der Datastore "nvme":
Code:
root@pve:~# mount |grep subvol*
nvme/subvol-110-disk-0 on /nvme/subvol-110-disk-0 type zfs (rw,relatime,xattr,posixacl,casesensitive)
nvme/subvol-108-disk-0 on /nvme/subvol-108-disk-0 type zfs (rw,relatime,xattr,posixacl,casesensitive)
root@pve:~#
Es handelt sich um die "subvol-<vmid>-disk-Y Einträge
Du kannst da ganz normal hineinwechseln mit "cd". Bsp.:
Code:
root@pve:~# cd /nvme/subvol-108-disk-0/
root@pve:/nvme/subvol-108-disk-0# ls -lh
total 74K
lrwxrwxrwx  1 100000 100000   7 Sep 11 09:26 bin -> usr/bin
drwxr-xr-x  2 100000 100000   2 Aug 14 18:10 boot
drwxr-xr-x  2 100000 100000   2 Aug 14 18:10 dev
drwxr-xr-x 68 100000 100000 148 Feb  1 10:09 etc
drwxr-xr-x  2 100000 100000   2 Aug 14 18:10 home
lrwxrwxrwx  1 100000 100000   7 Sep 11 09:26 lib -> usr/lib
lrwxrwxrwx  1 100000 100000   9 Sep 11 09:26 lib64 -> usr/lib64
drwx------  2 root   root     2 Jan  2 08:30 lost+found
drwxr-xr-x  2 100000 100000   2 Sep 11 09:26 media
drwxr-xr-x  2 100000 100000   2 Sep 11 09:26 mnt
drwxr-xr-x  2 100000 100000   2 Sep 11 09:26 opt
drwxr-xr-x  2 100000 100000   2 Aug 14 18:10 proc
drwx------  4 100000 100000   9 Jan  3 20:20 root
drwxr-xr-x  9 100000 100000  11 Sep 11 09:27 run
lrwxrwxrwx  1 100000 100000   8 Sep 11 09:26 sbin -> usr/sbin
drwxr-xr-x  2 100000 100000   2 Sep 11 09:26 srv
drwxr-xr-x  2 100000 100000   2 Aug 14 18:10 sys
drwxrwxrwt  9 100000 100000  10 Feb  1 09:23 tmp
drwxr-xr-x 12 100000 100000  12 Sep 11 09:27 usr
drwxr-xr-x 11 100000 100000  13 Sep 11 09:26 var
root@pve:/nvme/subvol-108-disk-0#
Das ist letztlich der Inhalt des LX Container.
Skudrinka schrieb:
Außerdem habe ich noch meine NAS - kann ich beide Systeme verbinden um den Proxmox auf meiner NAS (OMV) zu sichern?
Kannst du machen (ich gehe jetzt mal davon aus, dass der OMV nicht virtualisiert auf dem Proxmox läuft) schalte aber für die notwendige Freigabe Snapshots und Papierkorb usw. aus. Gilt auch bei QNAP, Synology etc.. Möglichkeiten hast du zwei:
  • Ohne Proxmox Backup Server (VZDump). Einfach ein Folder via NFS freigeben und dies als Datastore hinzufügen.
  • Unter Proxmox Backup Server geht es nur über die Kommandozeile. Verzeichnis anlegen und das NFS dort hineinmounten. Liegt daran, dass der PBS grundsätzlich nur mit lokalem Speicher arbeitet. Grundsätzlich auch nicht schwierig, aber geht eben nicht über die GUI.

Achtung - egal wie du sicherst: Der Proxmox Server selber wird nicht gesichert. Ist auch nicht vorgesehen. Grund dafür ist, dass er im Fehlerfall auch einfach zu installieren ist. Es kann aber helfen Teile von Dateien im Verzeichnis /etc zu sichern. Insbesondere bei komplexen Netzwerkeinstellungen. Sonst wichtig vor allem /etc/pve. In diesem Verzeichnis sind sämtliche Konfigurationen der VM und Container abgelegt (welche Hardware usw.) Diese Daten werden auch vom VZDump oder Proxmox Backup Server mitgesichert.

Skudrinka schrieb:
Ich blick das alles noch nicht so richtig :)
Wird schon. Wichtig ist, bei Beginn nicht zu komplexe Dinge vorzunehmen.
Persönlich - meine Meinung - sind zumindest zu Beginn VM einfacher in ihrem Umgang zu händeln als LXC.

P.S.: Im Forum Virtualisierung und Emulation wäre der Thread vermutlich besser aufgehoben gewesen ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: qiller, redjack1000, Skudrinka und eine weitere Person
Zurück
Oben