chore(failover): arhiveaza scripturile VM 201 (VM 201 e in HA)

Alerta pvemini-down nu mai recomanda failover manual pe pveelite.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KddsXCqEbKMhdFJDYbAsx8
This commit is contained in:
Claude Agent
2026-09-13 10:18:12 +00:00
parent b32392aa7e
commit d82ac4e9c3
2 changed files with 15 additions and 40 deletions

View File

@@ -15,6 +15,11 @@ Strategia HA pe cluster, separată pe nivele de criticitate.
## VM 201 — HA automat + procedură manuală de rezervă
> **Arhivat 2026-09-13:** VM 201 e în HA (`ha-prefer-pvemini`) → failover automat
> pe pve1; scripturile manuale de mai jos ar intra în conflict cu HA. Mutate în
> [`arhiva/`](arhiva/) (`failover-vm201.sh`, `recover-vm201-to-pvemini.sh`).
> Copiile din pveelite `/opt/scripts` nu sunt în cron; se pot șterge.
> **Corectat 2026-08-27.** Docul spunea anterior că VM 201 nu este în HA. **Nu mai
> este adevărat** — verificat pe cluster live: `vm:201 (pvemini, started)`, grup
> `ha-prefer-pvemini`, `max_restart 3`, `max_relocate 2`.
@@ -101,8 +106,8 @@ Non-interactiv: adaugă `--yes`.
| Fișier | Locație | Scop |
|--------|---------|------|
| `failover-vm201.sh` | `/opt/scripts/` pe pveelite | Failover manual VM 201 pvemini → pveelite |
| `recover-vm201-to-pvemini.sh` | `/opt/scripts/` pe pveelite | Recovery interactiv VM 201 pveelite → pvemini |
| `arhiva/failover-vm201.sh` | arhivat; era `/opt/scripts/` pe pveelite | Failover manual VM 201 pvemini → pveelite (înlocuit de HA) |
| `arhiva/recover-vm201-to-pvemini.sh` | arhivat; era `/opt/scripts/` pe pveelite | Recovery interactiv VM 201 pveelite → pvemini (înlocuit de HA) |
| `pvemini-down-alert.sh` | `/opt/scripts/` pe pveelite | Watchdog 1 min, mail dacă pvemini DOWN 2 min |
| `oom-alert.sh` | `/opt/scripts/` pe toate nodurile | Alertă OOM kills |

View File

@@ -43,46 +43,16 @@ if [[ "$COUNT" -eq "$THRESHOLD" ]]; then
ha-manager status 2>&1 || true
echo
echo "=========================================="
echo "CT-uri HA (104, 106, 108, 171): migrare AUTOMATĂ"
echo "pe pveelite în ~2 min dacă pveelite are RAM."
echo "=========================================="
echo "Guest-urile HA (inclusiv VM 201 si CT 108) se muta AUTOMAT"
echo "dupa prioritatea grupurilor HA (VM 201 -> pve1) si revin singure"
echo "pe pvemini cand acesta e din nou stabil (nofailback=0)."
echo
echo "### FAILOVER MANUAL VM 201 (Windows) ###"
echo "NU porni manual guest-uri HA pe alt nod: intra in conflict cu HA."
echo "Scripturile vechi failover-vm201/recover-vm201 sunt arhivate"
echo "(proxmox/cluster/failover/arhiva/)."
echo
echo "Dacă pvemini rămâne DOWN, pentru a porni VM 201 pe pveelite:"
echo
echo " ssh root@10.0.20.202 /opt/scripts/failover-vm201.sh"
echo
echo "(tastezi 'DA' la prompt; scriptul folosește ultima replicare"
echo " ZFS — max 5 min în urmă. Verifică ping + ssh înainte)"
echo
echo "Variantă non-interactivă:"
echo " ssh root@10.0.20.202 /opt/scripts/failover-vm201.sh --yes"
echo
echo
echo "### REVENIRE PE PVEMINI (după ce pvemini e stabil) ###"
echo
echo "IMPORTANT: NU porni VM 201 pe pvemini automat — date divergente."
echo "Folosește scriptul interactiv care face toți pașii în siguranță:"
echo
echo " ssh root@10.0.20.202 /opt/scripts/recover-vm201-to-pvemini.sh"
echo
echo "Scriptul verifică:"
echo " - pvemini uptime min. 30 min + erori recente"
echo " - pvemini reachable ssh + VM 201 NU rulează deja acolo"
echo " - VM 201 running local pe pveelite"
echo
echo "Execuția face automat (cu confirmări la fiecare pas):"
echo " 1. qm shutdown 201 pe pveelite"
echo " 2. pvesr replicare inversă pveelite → pvemini + run forțat"
echo " 3. qm migrate 201 pvemini (offline)"
echo " 4. cleanup job replicare inversă"
echo " 5. qm start 201 pe pvemini"
echo
echo "Variantă non-interactivă: adaugă '--yes' la final."
echo
echo "CT-urile HA (104, 106, 108, 171) revin automat pe pvemini"
echo "conform priorității ha-group-main."
echo "De urmarit: ssh root@10.0.20.202 ha-manager status"
echo "Backup-uri Oracle, daca pica si pveelite: dashboard -> Infrastructura"
echo "=========================================="
} | mail -r 'ups@romfast.ro' -s "[CRITIC] pvemini DOWN $THRESHOLD min" "$MAIL_TO"
fi