OYSI DR-Cockpit passive only

Szenario: Edge-2 Pi tot

VRRP springt automatisch auf Edge-1. Symmetrisch zu Edge-1-Tot, aber kein HomeMatic/Sonos-Verlust (die laufen nur auf Edge-1).

Was lokal verloren ist: WG-Privatekey edge-2, Recovery-Scripts (in /usr/local/bin/). Da Edge-2 = pure Backup-Senke, ist die Lücke kleiner als bei Edge-1.

1 VRRP-Failover validieren ~2 min
ssh shipping-edge-1 'ip -br a show dev eth0 | grep 192.168.0.50'
ssh shipping-edge-1 'sudo systemctl status keepalived'
2 Hardware-Replacement vorbereiten ~30 min
  1. Pi 5 + 256GB SD-Karte (Edge-2 hält 90d Volumes — größere SD).
  2. Pi-Imager → Raspberry Pi OS Bookworm 64-bit Lite.
  3. cmdline.txt: cgroup_memory=1 cgroup_enable=memory
  4. Boot, IP 192.168.0.52, Hostname shipping-edge-2.
3 setup-edge2.sh ausführen ~45 min
# Vom VPS aus:
cd /home/ubuntu/infrastructure/edge-node
./setup-edge2.sh shipping-edge-2.local
# Installiert: docker, alloy, node-exporter (pinned v1.10.0),
# wg-health.sh + cron, kuma-push, rpi-power-collector, watchtower 1.7.1
# (kein HomeMatic-Stack, kein Sonos-Container)
4 WireGuard neu aufsetzen ~10 min
# Im wg-easy UI: Peer "shipping-edge-2" alten löschen, neuen erstellen
sudo nano /etc/wireguard/wg0.conf
sudo systemctl enable --now wg-quick@wg0
sudo wg show
5 Backup-Daten zurück nach Edge-2 pushen ~6–10 h (Initial-Sync)

90d Volume-Retention = ~3.8 GB initial. Über VPS-WG-Tunnel.

# Auf VPS:
sudo systemctl start backup-edge.service
sudo journalctl -fu backup-edge.service
# Initial-Sync läuft bei großem Edge-Bucket lange — Healthcheck pingt erst nach Erfolg

Alternativ: Edge-1 als Quelle nehmen (rsync zwischen den Pis), spart Internet-Bandbreite — aber Edge-1 → Edge-2 spiegelt sonst NICHT (asymmetric, GAP).

6 VRRP zurückgeben (optional) ~5 min
# Wenn Edge-2 Priority höher ist:
ssh shipping-edge-2 'sudo systemctl restart keepalived'

Bei OYSI ist Edge-1 typisch primary. Edge-2 bleibt secondary nach Replacement.