docs: update backup strategy — PBS B2 offsite details + nightly PBS config backup (2026-07-14)

This commit is contained in:
2026-07-14 12:01:36 -05:00
parent 92c96dc678
commit 4b470ef275
+20 -6
View File
@@ -218,12 +218,26 @@ Prometheus scrapes **Node Exporter** (port 9100) from every host: siklos, proxmo
## Backup Strategy ## Backup Strategy
| Source | Tool | Destination | | Source | Tool | Schedule | Destination |
|---|---|---| |---|---|---|---|
| All VMs | Proxmox Backup Server (PBS) | Local PBS at 192.168.88.60 | | All VMs/CTs (except 107) | PBS job `pbs-backup` | Mon/Wed/Fri 21:00 | PBS datastore `pbs-store` (TrueNAS NFS) |
| Nextcloud data | Kopia (Docker on siklos) | TrueNAS NFS | | VMs 113 (photos) + 114 (ocis) | PBS job `B2 offsite` | Sun 03:00 | PBS datastore `b2-offsite` → Backblaze B2 |
| Immich photos | Kopia (Docker on VM 113) | Backblaze B2 | | PBS configuration | Cron on PBS VM | Nightly 02:30 | TrueNAS NFS (`pbs-config-backup/`) |
| Docker configs | Gitea repo | `jgitta/homelab-configs` | | Nextcloud data | Kopia (Docker on siklos) | — | TrueNAS NFS |
| Docker configs | Gitea repo | — | `jgitta/homelab-configs` |
### PBS (VM 107, 192.168.88.60) — verified 2026-07-14
PBS has two datastores:
- **`pbs-store`** — local path `/mnt/pbs-dataset/pbs-store`, which is an NFS mount from TrueNAS (`192.168.88.24:/mnt/pool1/pbs-dataset`). Receives the Mon/Wed/Fri full-fleet backups. Retention: keep-daily=7, keep-weekly=4, keep-monthly=3.
- **`b2-offsite`** — S3 backend pointing at Backblaze bucket `jg-kopia` (endpoint `s3.us-east-005.backblazeb2.com`), local cache at `/pbs-data`. Receives the Sunday 3 AM backups of VMs 113 and 114 only. This replaced the old Kopia → B2 workflow. Retention: keep-daily=7, keep-weekly=2.
**Finding data in the Backblaze web UI:** browse `jg-kopia` bucket → `b2-offsite/` folder → `.chunks/`. PBS deduplicates, so weekly runs upload only new/changed chunks — sparse upload activity between Sundays is normal. Verify connectivity from the pbs host with: `proxmox-backup-manager s3 check backblaze-b2 jg-kopia`
**PBS config backup (added 2026-07-14):** VM 107 is deliberately excluded from VM backups (circular). Instead, a nightly cron (`/etc/cron.d/pbs-config-backup`, 2:30 AM) runs `/usr/local/bin/backup-pbs-config.sh`, which tars `/etc/proxmox-backup/` to `/mnt/pbs-dataset/pbs-config-backup/` on TrueNAS (mode 600 — contains B2 credentials; 30-day rotation). **Disaster recovery:** install fresh PBS, extract the newest tarball into `/etc/proxmox-backup/`, and it reconnects to both datastores with all settings intact.
**Proxmox backup jobs** (`/etc/pve/jobs.cfg` on 192.168.88.25): `pbs-backup` covers all guests with `all 1` + `exclude 107`, so new VMs are included automatically. A third job (Proxmox-TrueNAS-NFS, vzdump to NFS) is disabled.
--- ---