ccnet-wi-pbs: flip offsite replication from pull to push #62
No reviewers
Labels
No labels
blocked
borg-backup
ceph
forgejo
in-progress
infra
netdata
nextcloud
p:high
p:low
p:medium
searxng
service-onboard
swarm-nodes
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
copper/ccnet-prod-devops!62
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "wi-pbs-pull-to-push"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Docs for the WI offsite-PBS replication change applied by hand 2026-08-30 → 09-01.
What changed on the infra (already live)
s-123363f1-cb12(02:00) withassociated-key ccnet-hq= decrypt on pull. That defeats PBS's known-chunk skip → the entire ~530 GiBcopperdataset re-transferred over the WAN every night (~18 h) vs a few-GB real delta. Stored plaintext. Removing the key isn't possible (PBS 4.2 refuses:No matching key found).s-wi-pushfrom luna-pbs (nscopper, push, 03:00,remove-vanished false, no key / no rate limit), remoteccnet-wi→ WI-side tokenroot@pam!luna-push(DatastoreAdminon/datastore/wi-qnap/copper). Push ships the already-encrypted chunks verbatim → ~8 min/night after a one-time 1.1 TiB re-seed.ccnet-hqkey was removed from that box (identical material stays on luna asccnet-main+ offline paperkey; a WI-side restore needs it re-imported).Slowtraffic-control rule removed (unshaped); WIDefault-Limitrate-in50 MiB → 80 MB.root@pam; the token-auth push skipped them all until each group'sownerfile was rewritten toroot@pam!luna-push.copper-hqremote + key removed on WI; rollback kit at/root/wi-pull-teardown-2026-09-01/onccnet-wi-pbs.Files (WI commit
d266979)docs/ccnet-wi-site.md—ccnet-wi-pbssection rewrittendocs/homelab-build-history.md— new Item 19ccnet-luna-pbs-vm-runbook/— README (consumer bullet, Prereq B, new "WI offsite replication" section), CLAUDE.md, keys/README.mdccnet-pbs-backup-swarm-data/— README + CLAUDE.md ("WI pull job" → third push job)Not included:
ccnet-luna-pbs-vm-runbook/CUTOVER.mdalso has two one-line WI edits from this work, left with the unrelated pre-existing CUTOVER rework for a separate commit.Full procedure:
~/.claude/plans/do-a-very-simple-vivid-kurzweil.md.🤖 Generated with Claude Code
Relocating the Proxmox Backup Server (10.10.10.250) off privileged LXC CT 356 on node06 and onto a KVM VM on Unraid (Aegis), keeping the same IP and TLS cert fingerprint. Datastore (2.6 TB on Aegis's `backup` raidz2 pool) does not move — only the PBS compute does, collapsing the CT->cluster->Aegis NFS hop into an in-host br0 path and coupling PBS's lifecycle to the Unraid array. Contents: - README.md — VM spec, build method (Debian 13 genericcloud + cloud-init, OVMF), the /etc/proxmox-backup seed procedure, storage tuning (post-soak), the 3-layer VM/config backup design. - CUTOVER.md — ordered copy-paste runbook, [CLAUDE]/[YOU] tagged, with rollback. - CLAUDE.md — load-bearing gotchas (two-writer hazard, root@pam auth, keep the export unchanged for the move, pre-cutover zfs snapshot). - luna-pbs.xml — the live libvirt domain (OVMF, pbs.png icon). - files/ — cloud-init user-data/network-config, pbs-nfs-remount.sh (fallback, no self-reboot), systemd mount-ordering drop-in. - keys/ — placeholders only; real cert/key/password material never here. Status: VM built + staged (PBS 4.2.5-1 held, both lifecycle tests passed, baseline backup taken). Cutover not yet run. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQJmq9kQvZ9Fw2KYbRBY8eCUTOVER.md: reorder so CT 356 stays running (PBS stopped) through the /etc/proxmox-backup seed and is only powered off afterward (step 6.5) — the seed tars straight from the live CT rather than a stopped one. Step 6 split into 6a–6d with an explicit fingerprint sanity gate. luna-pbs.xml: vda driver cache=writeback -> cache=directsync + io=io_uring (the CUTOVER step-5 tuning, captured in the tracked XML). files/luna-pbs-selfbackup.{sh,service,timer,env.example}: Layer-1 config self-backup — proxmox-backup-client backs /etc into aegis-unraid as host/luna-pbs (ns copper), encrypted with the reused PVE key, nightly 01:30 timer. Lands under ns copper so the existing offsite sync jobs replicate it for free. env/key files stay out of git. Also picks up two one-line WI-replication edits in CUTOVER.md (avoid-window + deferred-rerun command) left over from the pull->push change. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QovxLG6bZyfYkqTGuUcJoe