Skip to content

Layer 1 — vzdump to R2

Extracted from the master document on 2026-09-04. §N numbering preserved so as not to break cross-references.

What it does: vzdump in snapshot mode, zstd compression, on VM 100 and VM 101. It uses the QEMU Guest Agent to freeze the filesystem (fsfreeze/thaw) during the snapshot, so that the backup does not capture a half-written filesystem.

Deliberate exclusion of the HDD:

Terminal window
sudo /usr/sbin/qm set 100 --scsi1 <path>,...,backup=0

Why: it is the bulkiest disk in the homelab and its data is already protected by another path (Layer 2 + AIO’s native backup). Including it would multiply the size and duration of every weekly backup without adding real protection — it would be paying twice for the same thing.

⚠️ Consequence that must always be kept in mind: restoring VM 100 from vzdump does not bring back the Nextcloud data (§43).

/usr/local/bin/pve-backup.sh
├── local vzdump
├── rclone copy → secure:pve-vzdump/
└── notifies success/failure to Discord (Chivatiente)
Config: /etc/pve-backup/pve-backup.env (KEEP_WEEKLY, MIN_FREE_GB)