Proxmox Backup Server: Die wirklich wahre Wahrheit über die Funktionsweise des Proxmox Backups

Bisher kannte ich beim Thema Serverbackups am ehesten den Mechanismus der Vollbackups und darauf aufsetzend inkrementelle oder differenzielle Backups. Beim Proxmox Backup läuft das alles etwas anderes, wie ich jetzt im Forum erfragen konnte.

How does the Proxmox Backup Server _actually_ work? | compared to other backups (archiv)

The backup client splits the disk image or file archive (pxar) into chunks. Every chunk is compressed (and encrypted, if an encryption key is set) and stored on the backup server's data store. Storage happens based on the chunk's hash, meaning that if there are multiple identical chunks, only one copy is saved (deduplication). Aside from the stored chunks, every backup snapshot also produces index files (.didx/.fidx). These index files are essentially are list of all chunks (identified by their hash) that are needed for this backup.

Im Grundsatz wird also die VM nicht en Block gesichert, sondern in ewig viele Chunks aufgeteilt, gehasht und indexiert. Beim nächsten Backup wird halt geschaut ob sich die Hash-Werte der Chunks geändert haben.
Wenn ja, wird zusätzlich gesichert, wenn nein bleibt die vorhandene Chunk-Sicherung bestehen.

Das sieht man dann auch auf Dateiebene, jeder Chunk landet in einem entsprechenden Ordner. Nachteil ist, dass man keinen wirklichen Blick auf die eine große Datei hat die das Vollbackup darstellt. Kann ich aber gut mit leben.

Essentially, with this system, every backup snapshot is a 'full backup' – however the data is automatically shared with other backups, reducing the amount of needed storage drastically.

Und dabei kommt es darauf an, dass man keine korrupten Chunks gesichert hat. Verifikation spielt also eine wichtige Rolle. Denn die gesicherten Maschinen teilen sich ihre Chunks mit anderen Sicherungen derselben Maschine, sofern die Daten gleich sind.

In terms of data corruption: If chunk is corrupted, all backup snapshots that reference this particular chunk will be affected. If an index file is corrupted, only that particular snapshot is affected.

Verification jobs can be used to check if all chunks are clean, essentially it checks if the chunk's hash is equal to the expected one.

Das muss man natürlich beachten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert