Backup auf wechselnde USB Disk / Datastore tauschen

mwagner

Active Member
Dec 3, 2019
6
0
41
42
Hallo zusammen,

was passiert mit inkrementellen VM Sicherungen, wenn ich den Datastore des PBS auf wechselnden USB Datenträgern liegen habe?


Etwas ausführlicher:
Ich habe einen mini-PC mit PBS, der die Sicherung direkt auf externe USB Datenträger schreiben soll.

1. Um 21:00h wird die externe Festplatte entschlüsselt, gemountet und ein Datastore "BackupExt" direkt in der datastore.cfg hinterlegt, zeigt auf "/media/backup/pbs" (vor-initialisiert mit .chunks, etc...).

2. Die Sicherungen laufen von einem PVE Server direkt auf den Datastore auf der USB Festplatte.

3. Morgens um 06:00h entferne ich den Datastore, starte den "proxmox-backup-proxy" neu (.lock freigeben), unmounte die USB Platte

4. Tagsüber wird die USB Platte "A" durch USB Platte "B" getauscht.

5. Da Capo al Fine...


Ich habe also Sicherungen, die zwar gegen einen gleichnamigen Datastore laufen, aber effektiv in ein anderes ".chunks" Verzeichnis.


Die Idee finde ich eigentlich ganz charmant für kleine Setups. Aber was passiert mit den inkrementellen Sicherungen / Dirty Bitmaps bei wechselndem Storage? Wildes Durcheinander - alles im Eimer?

Ist folgender Logeintrag ein Hinweis darauf, dass er die Inkonsistenz erkennt und eh voll sichert?
100: 2021-03-18 01:15:11 INFO: virtio0: dirty-bitmap status: existing bitmap was invalid and has been cleared 100: 2021-03-18 01:15:11 INFO: virtio1: dirty-bitmap status: existing bitmap was invalid and has been cleared

Danke für eine kurze Erleuchtung...
Marcus
 
Last edited:
Ich hab so eine Situation jetzt nicht nachgestellt aber ja, klingt nicht wirklich gut. Was wenn du die eine Platte immer am Server lässt und dann nur regelmäßig den Datastore selber (und am besten die /etc/proxmox-backup/datastore.cfg) auf die andere Sicherst?
 
Ich habe eine ähnliche Situation aber sichere nicht direkt auf den Server mit den "Wechselplatten".

Die Wechselplatten kommen erst bei einem zweiten PBS ins Spiel.

Backup VM auf PBS1 ausserhalb der Zeiten wann der PBS2 die Daten abholt.

Der PBS2 mounted die Tages-Platte, started die PBS-Dienste, holt sich per sync die Daten vom PBS1, macht noch Garbage-Collection und Prune, beendet die Dienste und umounted die Platte. Ob das Aufräumen notwendig ist kann ich nicht sagen. Ich mache es halt um möglicherweise Platz zu sparen.

So habe ich die Daten auf "Wechseldatenträgern" und keine Probleme mit den Sicherungen an sich.
Ausserdem sind somit die Backups auch auf mindestens zwei Datenträgern zzgl. der laufenden Maschine.

Die Idee von Aaron weitergedacht wäre dann ein Sync deines PBS mit sich selbst auf einen anderen Datastore.
Problem ist nur das PBS auf dem Mount sitzt und die Dienste beendet werden müssen für das umhängen.
Aber das hast du ja schon festgestellt.

Gruß
Andreas
 
Last edited:
Hallo,

danke für die Hinweise bisher.

Ich habe das geschilderte Szenario nun einige Tage laufen und muss sagen es funktioniert trotz dem gut. Qemu erkennt, wenn die Dirty Bitmap nicht zum Stand im PBS Datastore passt und startet eine Vollsicherung. Bisherige Tests für Mount und Rücksicherung waren erfolgreich.

Damit habe ich nun zwar nach jedem Plattenwechsel den Traffic- und Zeit-Aufwand einer Vollsicherung, aber die Tage danach, bis die Platte wieder gewechselt wird läuft alles inkrementell.


@Toranga:
Die Befehle für die Garbage Collection mit dem proxmox-backup-manager kenne ich. Wie startest du den Prune per Hand?

VG,
Marcus
 
Die Warteroutine kann man sicher besser lösen und es ist auch nicht schön mit den diversen sleep, aber so funktionierts:


mount DATASTOREMOUNTPOINT
sleep 10
systemctl start proxmox-backup
systemctl start proxmox-backup-proxy
sleep 60
START=`date -d "now 2 minutes" +'%H:%M'`
proxmox-backup-manager garbage-collection start DATASTORENAME --output-format json
proxmox-backup-manager datastore update DATASTORENAME --prune-schedule "$START"
proxmox-backup-manager sync-job update SYNCJOBID --schedule "$START"
sleep 180
---
hier laufen noch andere Sachen auf andere mounts, die auf die gleiche temporäre Festplatte aber andere Pfade zeigen
----
echo Warten auf PBS sync, garbage collection und prune
CMD=`proxmox-backup-manager task list --output-format json`
while [ "$CMD" != "[]" ];
do
CMD=`proxmox-backup-manager task list --output-format json`
sleep 60
sync
done

proxmox-backup-manager sync-job update SYNCJOBID --delete schedule
proxmox-backup-manager datastore update DATASTORENAME --delete prune-schedule
sync
sleep 10
systemctl stop proxmox-backup-proxy
systemctl stop proxmox-backup
sync
sleep 10
umount DATASTOREMOUNTPOINT
 
Last edited:
Hallo Toranga,

ich habe ganz vergessen zu antworten. Vielen Dank für die Befehle, klappt gut!!

VG,
Marcus
 

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!