Files
ROMFASTSQL/proxmox/cluster/incidents/2026-08-27-pveelite-down.md
Marius 5e31d975df docs(cluster): pveelite - cauza confirmata, resetul adaptorului USB LAN
Nodul nu s-a oprit niciodata. La verificarea de azi avea uptime 17h46m, cu boot
pornit la 27.08 ora 16:03:06 - a mers toata noaptea, fara retea. Jurnalul
continua cu 58.454 de linii dupa 17:26:44, ceea ce inchide definitiv discutia
alimentare vs retea.

Vinovatul, din jurnalul kernel: Realtek RTL8156B (0bda:8156, driver r8152) pe
usb 2-3. La 16:01:45 si la 17:26:41 adaptorul s-a resetat si a fost re-enumerat.
Kernelul sterge interfata si o recreeaza - dar nimeni nu o readauga in vmbr0 si
nu o ridica, pentru ca nu exista regula de hotplug. Din acel moment masina merge
perfect si e invizibila in retea.

Partea care merita retinuta e de ce la 16:01 si-a revenit si la 17:26 nu. La
16:01 LRM-ul HA era activ, deci watchdog-ul era armat: pierderea retelei a dus la
pierderea quorumului, watchdog-mux a expirat la 16:02:39 si a resetat masina la
16:02:44 - repornire care a readus reteaua din intamplare, pentru ca la boot
interfetele se ridica prin auto. La 17:26 fence-ul mutase deja vm:109 pe pvemini,
LRM-ul era idle, watchdog-ul nearmat. Nimic nu a mai repornit masina. Singurul
lucru care "repara" defectul asta era un efect secundar, nu un mecanism proiectat
- pe un nod fara servicii HA, aceeasi defectiune devine permanenta si tacuta.

Reparat cu ifreload -a de la consola, la 09:49. Restul verificarii e curat: ZFS
ONLINE fara erori, cluster 3/3, SMART fara FAILED, replicarea se reia singura.

Reparatia de fond intra in Tier 1: eno1 exista si e functional, doar ca nu are
cablu (Link detected: no). Adaptorul USB e cauza a doua incidente pe nodul asta.
Am scris si ordinea operatiilor, pentru ca inversata te lasa fara retea cu drum
pana la nod.

Prima rulare reala a scriptului a scos la iveala trei defecte ale lui, toate
reparate aici:

- tiparele de semnatura hardware prindeau linii normale de boot ("Registered
  thermal governor", "NMI watchdog: Enabled", "EDAC MC: Ver: 3.0.0") si produceau
  un verdict de defect hardware care contrazicea concluzia corecta din acelasi
  bilant. Strans tiparele si filtrat prin -p warning; verificat pe nod: 0
  potriviri.
- LRM idle era raportat ca "stare neclara". E starea normala a unui nod fara
  servicii HA - iar scriptul spune acum explicit ca idle inseamna watchdog
  nearmat, adica exact motivul pentru care caderea de la 17:26 nu s-a auto-reparat.
- Tailscale era raportat [ok] desi e delogat: systemctl is-active zice active, dar
  tailscale status zice "Logged out". De aici si cele 27 de zile de offline.

Consemnat si raspunsul la intrebarea cu magic packet, cu MAC-urile ambelor
interfete, ca sa nu se reia: WoL nu ar fi ajutat oricum, masina nu era oprita.
Dupa mutarea pe eno1 devine insa realmente utilizabil.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAEUqrv26jCM5KwAPtkHb8
2026-08-28 09:55:10 +03:00

355 lines
20 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Incident 2026-08-27 — pveelite dispare din rețea 16 ore, cu mașina pornită (reset adaptor USB LAN)
**Severity:** Medium (zero impact pe producție — nodul nu găzduia niciun serviciu viu —
dar clusterul rămâne pe **2 voturi din 3**, fără marjă de quorum, și replicarea către
pveelite e oprită)
**Detected:** 2026-08-27 17:31 EEST (alertă automată `pveelite-down-alert.sh` → email)
**Resolved:** 2026-08-28 09:49 EEST (`ifreload -a` de la consola fizică)
**Status:** **REZOLVAT** — cauză confirmată din jurnal. Rămâne o acțiune de fond:
mutarea rețelei de pe adaptorul USB pe `eno1`
**Author:** Claude Code (mmarius28@gmail.com)
---
## TL;DR — lanțul cauzal
1. **12:25–12:36** — oprire **planificată** a întregului cluster, comandată din stația de
admin (10.0.20.144). Guest-urile oprite ordonat prin API (`qmshutdown:303` la 12:25 de la
`root@pam`), apoi nodurile. Oprirea a fost **curată** pe toate trei — `systemd-poweroff.service:
Finished`, `Reached target poweroff.target`. Tiparul e exact al lui
[`cluster-shutdown.ps1`](../scripts/cluster-shutdown.ps1).
2. **13:20:26–13:20:41** — toate trei nodurile pornesc la loc și reformează clusterul complet
(membership `1.1c7`, Members: 1 2 3). **pveelite a revenit normal** și a funcționat 2h40m.
3. **16:01:48 → 16:03:17** — pveelite dispare din corosync și revine după ~89 de secunde.
La 16:03:10 se reatașează ca **client NFS** (`rpc.mountd: v4.2 client attached from
10.0.20.202:986`), iar curba de memorie din RRD se resetează — **probabil s-a repornit
singur**, deși o întrerupere de rețea de 89 s explică și ea reatașarea NFS (vezi
*Ipoteza alternativă* mai jos). Cert e că nimeni nu i-a comandat nimic.
4. **17:15:01** — ultimul semn de viață: cronul de pe pveelite se conectează prin SSH la
pvemini, ca la fiecare 15 minute.
5. **17:26:44** — pveelite pică definitiv. **Nu a mai revenit.**
6. **17:27:03** — corosync formează membership `1.1d8` fără nodul 3. Quorum păstrat (2/3).
7. **17:28:04–17:28:23** — HA fence executat **corect**: lock obținut, `vm:109` recuperat de
pe nodul fenced pe pvemini și lăsat în starea în care era (`stopped`). Fără repornire
nedorită, fără buclă OOM — spre deosebire de [incidentul din 2026-04-20](2026-04-20-cluster-outage.md).
8. **17:31** — alerta a plecat pe email, după cele 5 minute de prag din script. Lanțul de
alertare a funcționat end-to-end.
**Root cause:** nedeterminabilă de la distanță — nodul nu răspunde nici la ARP. Dovezile
disponibile **exclud cauzele software** și lasă în picioare două ipoteze hardware: defect de
alimentare pe cutia pveelite (declanșat probabil de ciclul de oprire-pornire de la prânz)
sau cedarea adaptorului USB de rețea. Ce se poate afirma acum:
- **Nu e resurse:** RRD-ul de pe pvemini arată nodul complet inactiv în ora dinaintea
căderii — CPU 0,4 %, load 0,10, RAM 2,15 din 15,3 GB, rootfs 18,5 GB constant. Nu e
repetarea scenariului OOM din aprilie.
- **Nu e rețeaua clusterului ca întreg:** în ultimele 7 zile nu există niciun flap knet în
afara zilei de azi, iar pve1 ↔ pvemini sunt stabile continuu de la 13:20. Asta **nu**
exclude însă o problemă strict pe portul / adaptorul lui pveelite.
- **Nu e UPS:** `ups.status: OL`, baterie 100 %, input 239,6 V, load 8 %. Ultimul test de
autonomie de azi a fost pe UPS-ul serverului 36, nu pe cel al clusterului.
- **Nu e comandă de la noi:** singura rulare `ups-shutdown` de azi (14:12) a fost în
**dry-run**, iar în jurnal nu există niciun poweroff/reboot trimis către 10.0.20.202.
- **Tiparul e de hardware:** reset spontan la 16:01, apoi moarte definitivă 85 de minute
mai târziu, pe o mașină idle. Semnătură clasică de PSU / RAM / termic.
### ROOT CAUSE CONFIRMAT (2026-08-28, din jurnalul nodului)
Nodul **nu s-a oprit niciodată**. La verificarea din 28.08 ora 09:49, `uptime` arăta
**17 ore și 46 de minute**, cu boot-ul pornit la **2026-08-27 16:03:06** — a mers
neîntrerupt toată noaptea, fără rețea. Lista de boot-uri confirmă:
```
-1 Thu 2026-08-27 13:20:28 -> Thu 2026-08-27 16:02:44
0 Thu 2026-08-27 16:03:06 -> Fri 2026-08-28 09:49:22
```
**Vinovatul:** adaptorul USB de rețea — Realtek RTL8156B, `0bda:8156`, „USB 10/100/1G/2.5G
LAN", driver `r8152`, pe portul `usb 2-3` al controllerului `xhci_hcd 0000:00:14.0`.
**Ce s-a întâmplat la 16:01:45** — adaptorul s-a resetat și a fost re-enumerat:
```
xhci_hcd 0000:00:14.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.
vmbr0: port 1(enx6c1ff71abe67) entered disabled state
r8152 2-3:1.0 enx6c1ff71abe67 (unregistering): left promiscuous mode
usb 2-3: new SuperSpeed USB device number 3 using xhci_hcd
r8152 2-3:1.0 enx6c1ff71abe67: renamed from eth0
```
Kernelul șterge interfața și o recreează. **Interfața nouă nu e readăugată automat în
`vmbr0` și nu e ridicată** — nu există regulă de hotplug. Din acel moment mașina merge
perfect, dar nu mai are rețea.
**De ce la 16:01 și-a revenit, iar la 17:26 nu.** La 16:01 nodul avea LRM-ul HA **activ**,
deci watchdog-ul era armat. Pierderea rețelei a dus la pierderea quorumului, iar watchdog-ul
a resetat mașina — repornire care a readus rețeaua *din întâmplare*, pentru că la boot
interfețele se ridică prin `auto`:
```
16:02:08 pmxcfs: node lost quorum
16:02:08 pve-ha-crm: lost lock 'ha_manager_lock' -> status change master => lost_manager_lock
16:02:09 pve-ha-lrm: lost lock 'ha_agent_pveelite_lock' -> status change active => lost_agent_lock
16:02:39 watchdog-mux: client watchdog expired - disable watchdog updates
16:02:44 (ultima linie din boot-ul -1 — resetul hardware)
```
La **17:26:41** s-a produs exact același reset USB. De data asta însă fence-ul mutase deja
`vm:109` pe pvemini, LRM-ul era **idle**, deci **watchdog-ul nu mai era armat**. Nimic nu a
mai repornit mașina, și a rămas pornită și fără rețea 16 ore.
> **Concluzia neplăcută:** singurul lucru care „repara" defectul ăsta era watchdog-ul HA,
> adică un efect secundar, nu un mecanism proiectat. Pe un nod fără servicii HA, aceeași
> defecțiune devine permanentă și tăcută.
**Remediul aplicat:** `ifreload -a` de la consola fizică, la 09:49. Interfața și puntea au
revenit imediat (`vmbr0 UP`, `enx6c1ff71abe67 UP,LOWER_UP`), nodul a reintrat în cluster.
**Nu a fost alimentarea.** Nicio semnătură de eroare hardware în jurnal — zero potriviri
pentru MCE, panic, temperatură peste prag, EDAC sau erori de I/O.
---
### Ipoteza alternativă, formulată înainte de confirmare
**pveelite are placă de rețea pe USB**, iar deconectarea ei e modul de defectare deja
documentat al acestui nod: incidentul [2026-04-20](2026-04-20-cluster-outage.md) a pornit
de la un *USB LAN disconnect*, iar tokenul corosync a fost mărit la 10 s tocmai ca să
tolereze „glitch-uri USB pveelite" (`cluster/README.md`, secțiunea Corosync Tuning).
**Din exterior, cele două scenarii sunt indistinctibile.** Un nod care s-a oprit și un nod
care și-a pierdut adaptorul de rețea arată identic: fără ping, fără ARP, fără corosync,
fără SSH. Toate observațiile din acest document sunt compatibile cu ambele.
Ce înclină totuși spre repornire la 16:01 — dar **nu** dovedește nimic despre 17:26:
- Curba de memorie din RRD urcă constant după boot-ul de la 13:20 (2,19 → 2,43 GB la 16:00),
apoi **coboară la 2,10 GB la 16:30** — sub valoarea de imediat după boot — și reîncepe să
urce (2,15 GB la 17:00). Tiparul unei reporniri, nu al unei întreruperi de rețea.
- La 16:03:10, `rpc.mountd` înregistrează `v4.2 client attached` de la 10.0.20.202. Un mount
NFS se reface la boot — deși o reatașare NFSv4 după expirarea lease-ului într-o partiție
de 89 de secunde rămâne posibilă.
Pentru **17:26 nu există niciun indiciu echivalent** — nodul pur și simplu a încetat să fie
vizibil. O deconectare USB explică asta la fel de bine ca o pierdere de alimentare.
> **Consecință practică, înainte de orice altceva:** când ajungi la nod, **prima observație
> e dacă mașina merge** — ventilatoare, LED-uri, imagine pe monitor. Dacă e pornită, nu a
> fost o cădere de alimentare, jurnalul e intact și complet, iar reparația e la dongle /
> cablu / port de switch. Nu apăsa butonul de power înainte să te uiți.
Testul decisiv, automatizat în scriptul de verificare: **jurnalul continuă după 17:26:44?**
Dacă da, mașina a mers mai departe și a căzut doar rețeaua.
---
## Cronologie (EEST)
| Ora | Nod | Eveniment | Sursa |
|-----|-----|-----------|-------|
| 12:25:02 | pvemini | `<root@pam> qmshutdown:303` — începe oprirea ordonată a guest-urilor | `pvedaemon` |
| 12:28:59 | pvemini | Stația de admin (10.0.20.144) se conectează prin SSH | `sshd` |
| 12:33:56 | pvemini | `Members left: 3` — pveelite se oprește primul | `corosync` |
| 12:35:58 | pvemini | `Members left: 1` — pve1 se oprește | `corosync` |
| 12:36:58 | pvemini | `Finished systemd-poweroff.service` — oprire curată, ultimul nod | `journalctl -b -1` |
| 13:20:24 | pve1 | boot | `uptime -s` |
| 13:20:26 | pvemini | boot | `uptime -s` |
| 13:20:41 | — | Cluster complet: membership `1.1c7`, Members[3]: 1 2 3 | `corosync` |
| 14:12:26 | pvemini | `ups-shutdown` orchestrat — **DRY-RUN**, fără efect. Status OL, baterie 100 % | `/var/log/ups-shutdown.log` |
| 16:00:02 | pvemini | cron de pe pveelite, SSH normal | `sshd` |
| **16:01:48** | pvemini | `link: host: 3 link: 0 is down` — pveelite dispare | `corosync` |
| 16:02:07 | pvemini | `Members left: 3`, `Failed to receive the leave message` | `corosync` |
| 16:03:10 | pvemini | `rpc.mountd: v4.2 client attached from 10.0.20.202` — remount NFS ⇒ probabil a bootat | `rpc.mountd` |
| 16:03:17 | pvemini | `Members joined: 3` — pveelite revine în cluster | `corosync` |
| 16:15 / 16:30 / 16:45 / 17:00 | pvemini | cronurile de pe pveelite rulează normal | `sshd` |
| **17:15:01** | pvemini | **ultimul semn de viață** al lui pveelite | `sshd` |
| 17:26:35 | — | ultimul timestamp LRM pveelite | `ha-manager status` |
| **17:26:44** | pvemini | `link: host: 3 link: 0 is down` — cădere definitivă | `corosync` |
| 17:26:48 | pvemini | `Token has not been received in 7987 ms` | `corosync` |
| 17:27:03 | pvemini | Membership `1.1d8`, Members[2]: 1 2. **Quorum păstrat** | `corosync` |
| 17:27:13 | pvemini | `node 'pveelite': online => unknown` | `pve-ha-crm` |
| 17:28:04 | pvemini | `node 'pveelite': unknown => fence`; `vm:109` → `fence` | `pve-ha-crm` |
| 17:28:13 | pvemini | Lock de fence obținut; `vm:109` recuperat pe pvemini, `recovery` → `request_stop` | `pve-ha-crm` |
| 17:28:23 | pvemini | `vm:109` → `stopped`. Recovery încheiat curat | `pve-ha-crm` |
| **17:31** | pvemini | Alertă email trimisă (prag de 5 minute atins) | `/var/run/pveelite-down-alerted` |
| 21:22 | — | Verificare: ping 100 % loss, `ip neigh` → `FAILED`, nod inaccesibil de 4 ore | investigație |
---
## Starea la momentul investigației (27.08, ora 21:22 — înainte de a se cunoaște cauza)
### Cluster
```
Expected votes: 3 | Total votes: 2 | Quorum: 2 | Quorate: Yes
Members: 0x1 10.0.20.200 (pve1), 0x2 10.0.20.201 (pvemini, local)
/etc/pve/.members: pveelite online: 0
```
**Clusterul funcționează, dar fără nicio marjă.** Dacă mai cade un nod, se pierde quorumul
și `/etc/pve` devine read-only pe tot clusterul — toate guest-urile îngheață.
### Ce rula pe pveelite
**Nimic viu.** Singurul guest asignat nodului era `CT 301 docker-portainer-template`
(`template: 1`, oprit). `vm:109` era înregistrat în HA pe pveelite, dar în starea `stopped`,
și a fost recuperat pe pvemini la 17:28. Niciun serviciu HA activ nu era pe pveelite.
Motivul pentru care asta a mers bine: după incidentul din aprilie, sarcina a fost consolidată
pe pvemini/pve1, iar pveelite a rămas doar țintă de replicare + rezervă de failover.
### Replicare
| Job | Țintă | Ultima sincronizare | Stare |
|-----|-------|---------------------|-------|
| 100-1, 102-1, 103-1, 104-1 | pveelite | **2026-08-26** ~21:05–21:21 | ✗ eșec, FailCount 1 |
| 106-1 | pveelite | 2026-08-27 16:00:03 | ✗ eșec, FailCount 1 |
| 108-1, 171-1, 201-1 | pveelite | 2026-08-27 17:15 | ✗ eșec, FailCount 1 |
| 109-1 | pveelite | niciodată | ✗ eșec, FailCount 1 |
| **toate `*-0`** | **pve1** | **2026-08-27 20:00–21:20** | ✓ **OK** |
Eroarea e uniformă: `ssh ... root@10.0.20.202 -- pvesr prepare-local-job ... failed: exit code 255`
(SSH nu poate deschide conexiunea).
**Copia DR pe pve1 e intactă și la zi** — CT 108 Oracle și VM 201 replicate la 21:15, RPO 15 min
respectat. Redundanța a scăzut de la 2 copii la 1, nu la 0.
### Fără acces out-of-band
`tailscale status` → `pveelite ... offline, last seen 27d ago`. Nu doar că nodul e mort, dar
**tailscaled nu mai rulează pe el de 27 de zile** — deci nici dacă ar fi doar o problemă de
rețea LAN, tot n-am putea ajunge la el. Singura cale rămasă e fizică.
### Colateral observat
- `local-zfs` pe pvemini la **92,06 %** (69 GB liberi din 875 GB). Nu e cauza incidentului,
dar e o problemă separată care merită tratată.
- Scriptul `/opt/scripts/pveelite-down-alert.sh` descrie în corpul alertei un export NFS
`10.0.20.202:/mnt/pve/oracle-backups` care **nu mai există** în `storage.cfg`. Textul
alertei e depășit și induce în eroare la citire.
---
## Ce a funcționat bine
Merită consemnat, pentru că sunt exact lucrurile reparate după aprilie:
1. **Fence-ul a mers curat.** Lock obținut, un singur serviciu recuperat, starea `stopped`
respectată. Fără repornire nedorită, fără cascadă.
2. **Consolidarea sarcinii pe pvemini/pve1 a făcut incidentul un non-eveniment** pentru
producție. În aprilie, căderea unui nod muta 4 containere pe o mașină de 16 GB și
declanșa 3 ore de buclă OOM.
3. **Alertarea a funcționat** — prag de 5 minute, email livrat la 17:31 prin
`mail.romfast.ro`, coadă goală, `status=sent`.
4. **Replicarea către pve1 nu a fost afectată** — a doua țintă și-a făcut treaba.
---
## Verificarea de la revenire — rezultate (2026-08-28 09:49)
Rulat [`verifica-pveelite.ps1`](../scripts/verifica-pveelite.ps1) din stația de admin:
| Verificare | Rezultat |
|---|---|
| Cauza căderii | **Cădere de rețea, nu de alimentare** — jurnalul continuă cu 58.454 de linii după 17:26:44 |
| Adaptor USB LAN | **Reseturi confirmate** la 16:01:45 și 17:26:41, cu re-enumerare `usb 2-3` |
| Semnături hardware | **Zero** — fără MCE, panic, temperatură peste prag, EDAC, erori de I/O |
| ZFS | `ONLINE`, fără erori de date, fără resilver |
| Cluster | **3 din 3 voturi**, marja de quorum refăcută |
| Replicare | se reia singură — `109-1 SYNCING`, restul `pending` |
| HA | LRM `idle` — normal, nodul nu are servicii asignate |
| SMART | fără `FAILED` pe discuri |
| Tailscale | serviciu pornit, dar **DELOGAT** — vezi Tier 1 |
### Trei defecte ale scriptului, găsite la prima rulare reală și reparate
1. **Fals pozitiv la semnăturile hardware.** Tiparele inițiale (`thermal`, `nmi`, `edac`,
`BUG:`) prindeau linii normale de boot — „Registered thermal governor", „NMI watchdog:
Enabled", „EDAC MC: Ver: 3.0.0" — și produceau un verdict de defect hardware care
**contrazicea concluzia corectă din același bilanț**. Tiparele au fost strânse și
filtrate prin `-p warning`; verificat pe nod: 0 potriviri.
2. **LRM `idle` raportat ca „stare neclară".** `idle` e starea normală a unui nod fără
servicii HA. Acum e tratată ca atare — și, mai important, scriptul spune explicit că un
LRM idle înseamnă **watchdog nearmat**, adică fix motivul pentru care căderea de la 17:26
nu s-a auto-reparat.
3. **Tailscale raportat `[ok]` deși era delogat.** `systemctl is-active` întorcea `active`,
dar `tailscale status` spunea `Logged out`. Verificarea se uită acum la starea reală.
---
## Plan de prevenție
### 🔴 Tier 1 — la repornirea nodului
**1. Tailscale pe pveelite**
Mort de 27 de zile. Fără el, orice incident viitor pe nodul ăsta cere din nou deplasare
fizică.
```bash
ssh root@10.0.20.202 "systemctl enable --now tailscaled && tailscale up && tailscale status"
```
**2. Mută rețeaua de pe adaptorul USB pe `eno1` — reparația de fond.**
`eno1` **există și e funcțional**, doar că nu are cablu: `Link detected: no`, driver
încărcat, `Supports Wake-on: pumbg`. Adaptorul USB e cauza a **două** incidente pe acest nod
(2026-04-20 și cel de față) și rămâne un punct unic de cedare pe magistrala USB.
Ordinea contează, altfel rămâi din nou fără rețea, cu drum până la nod:
```bash
# 1. Mută fizic cablul LAN din dongle-ul USB in portul eno1 de pe placa de baza.
# 2. De la CONSOLA fizica (nu prin SSH — reteaua pica in timpul operatiei):
sed -i 's/bridge-ports enx6c1ff71abe67/bridge-ports eno1/' /etc/network/interfaces
ifreload -a
ip -br link # eno1 trebuie sa fie UP, vmbr0 UP
```
Dongle-ul USB rămâne ca rezervă, scos din `vmbr0`.
**3. Regulă de hotplug, dacă adaptorul USB rămâne în uz.**
Cauza reală nu e resetul USB în sine — e faptul că interfața recreată **nu e readăugată în
punte**. `auto enx...` în `/etc/network/interfaces` ridică interfața doar la boot;
`allow-hotplug` o ridică și la re-enumerare. Fără asta, orice reset USB scoate nodul din
rețea definitiv.
**4. Adresele MAC — consemnate acum, ca să nu se mai piardă.**
| Interfață | MAC | Wake-on-LAN |
|---|---|---|
| `eno1` (placă de bază) | `84:69:93:57:b2:ea` | `Supports: pumbg`, activ `g` |
| `enx6c1ff71abe67` (USB Realtek RTL8156B) | `6c:1f:f7:1a:be:67` | `Supports: pumbg`, activ `g` |
În timpul incidentului s-a pus întrebarea dacă nodul poate fi trezit cu un magic packet.
**Nu s-a putut nici măcar încerca:** intrarea ARP expirase peste tot — `ip neigh` pe pvemini
(`INCOMPLETE`) și pe pve1 (`FAILED`), tabela stației de admin, LXC-urile de pe LAN. Nodurile
au IP static, deci nu există lease DHCP, iar MAC-ul nu era consemnat nicăieri.
Concluzia, scrisă explicit ca să nu se reia discuția: **WoL nu ar fi ajutat oricum** — mașina
nu era oprită, ci pornită și fără rețea. Un magic packet nu are ce trezi. După mutarea pe
`eno1`, WoL devine însă realmente utilizabil, pentru că e placă integrată, alimentată în
soft-off — spre deosebire de un dongle USB.
**5. Textul alertei — scos exportul NFS inexistent.**
`/opt/scripts/pveelite-down-alert.sh` menționează `10.0.20.202:/mnt/pve/oracle-backups`, care
nu mai e în `storage.cfg`. Cine citește alerta la 3 noaptea o ia pe o pistă falsă.
### 🟡 Tier 2
**6. Detecția tăcerii — nodul a stat 16 ore căzut fără să afle nimeni.**
Alerta a funcționat corect la 17:31, dar apoi incidentul a rămas nesupravegheat peste noapte.
Mai grav: pe un nod **fără servicii HA**, watchdog-ul nu e armat, deci nu există niciun
mecanism care să repare sau măcar să semnaleze o cădere de rețea. Nodul rămâne pornit,
sănătos și invizibil. Merită o alertă de repetiție (nu doar una la început de incident) sau
un al doilea inel corosync pe `eno1`, care ar fi ținut nodul în cluster peste căderea USB.
**7. `local-zfs` pe pvemini la 92 %.**
Separat de incident, dar pe același nod pe care stă acum toată producția.
---
## Referințe
- [Incident 2026-04-20 — cluster outage pvemini + pveelite](2026-04-20-cluster-outage.md) —
precedentul de „nod care moare fără niciun log"
- [Incident 2026-04-30 — Kingston backup SSD hang](2026-04-30-pvemini-backup-ssd-hang.md)
- [Oprire planificată a clusterului](../docs/oprire-planificata-cluster.md)
- [Failover și replicare](../failover/README.md)
- Script de verificare: [`../scripts/verifica-pveelite.ps1`](../scripts/verifica-pveelite.ps1)