# VM 201 - Troubleshooting Pană de Curent (2026-01-11) ## Rezumat Incident **Data:** 2026-01-11 **Problemă:** VM 201 nu pornea după o pană de curent **Cauză root:** HA blocat în starea "migrate" din cauza dependențelor de storage indisponibil **Rezoluție:** Migrare manuală, eliminare HA, configurare replicare --- ## Cronologie Incident ### 1. Stare Inițială - VM 201 era configurat pe **pveelite** (migrat anterior de HA) - Replicare configurată: pveelite → pve1, pvemini - HA activ în `ha-group-main` (prioritate: pvemini:100 > pveelite:50) ### 2. Ce s-a întâmplat la pana de curent 1. pvemini a căzut 2. HA a încercat să migreze VM 201 pe pveelite 3. Migrarea a eșuat din cauza ISO atașat de pe storage `backup` 4. Când pvemini a revenit, HA a încercat să migreze înapoi 5. HA a rămas blocat în starea "migrate", reîncercând la fiecare 10 secunde ### 3. Erori întâlnite ``` storage 'backup' is not available on node 'pveelite' migration aborted ``` --- ## Probleme Identificate | Problemă | Impact | Rezolvare | |----------|--------|-----------| | ISO atașat de pe storage local (`backup:iso/virtio-win-latest.iso`) | Blochează migrarea automată | Detașat ISO: `qm set 201 --ide1 none` | | Snapshot-uri cu referințe la storage `backup` | Blochează migrarea | Șterse snapshot-uri | | Replicare configurată invers | Discuri pe nod greșit | Recreat job-uri replicare | | Clone ZFS (base-300) legat de discuri VM 201 | Blochează ștergerea | Promovat clone: `zfs promote` | | HA cu failback automat | Încerca să mute înapoi VM-ul | Eliminat din HA | --- ## Pași de Rezolvare ### Pas 1: Diagnostic ```bash # Verificare unde e VM-ul find /etc/pve/nodes -name '201.conf' # Verificare stare HA ha-manager status | grep 201 # Verificare erori ssh root@10.0.20.202 "journalctl -u pve-ha-lrm -n 50" ``` ### Pas 2: Dezactivare HA temporar ```bash ha-manager set vm:201 --state disabled # Sau eliminare completă: ha-manager remove vm:201 ``` ### Pas 3: Detașare ISO ```bash qm set 201 --ide1 none ``` ### Pas 4: Ștergere snapshot-uri cu referințe problematice ```bash qm delsnapshot 201 Windows11VisualSVNROAUpdate qm delsnapshot 201 Windows11Debloated qm delsnapshot 201 Windows11ProaspatInstalat ``` ### Pas 5: Ștergere job-uri replicare corupte ```bash pvesr delete 201-0 --force pvesr delete 201-1 --force ``` ### Pas 6: Migrare manuală ```bash qm migrate 201 pvemini ``` ### Pas 7: Recreare job-uri replicare ```bash pvesr create-local-job 201-0 pve1 --schedule '*/30' --comment 'central W11' pvesr create-local-job 201-1 pveelite --schedule '*/30' --comment 'central W11' ``` ### Pas 8: Curățare discuri vechi nefolosite ```bash # Promovare clone (dacă există) zfs promote rpool/data/base-300-disk-0 zfs promote rpool/data/base-300-disk-1 # Ștergere discuri vechi zfs destroy -r rpool/data/vm-201-disk-0 zfs destroy -r rpool/data/vm-201-disk-2 ``` --- ## Configurație Finală ### VM 201 - **Nod:** pvemini (10.0.20.201) - **IP:** 10.0.20.122 - **Discuri:** vm-201-disk-1 (EFI), vm-201-disk-3 (500GB) ### HA - **Status:** ELIMINAT (control manual) - **Motiv:** Evitare blocaje la migrare automată ### Replicare - **201-0:** pvemini → pve1 (*/30) - **201-1:** pvemini → pveelite (*/30) --- ## Lecții Învățate ### 1. NU atașa ISO-uri de pe storage local Storage-ul `backup` este local pe pvemini și nu e disponibil pe alte noduri. Asta blochează migrarea. **Soluție:** Detașează ISO-urile când nu sunt necesare: ```bash qm set 201 --ide1 none --ide2 none ``` ### 2. NU crea snapshot-uri cu ISO atașat Snapshot-urile salvează referințele la storage, care blochează migrarea ulterioară. ### 3. Replicarea și HA sunt independente - **Replicare (pvesr):** Copiază discurile ZFS între noduri - **HA:** Gestionează pornirea/migrarea automată Poți avea replicare fără HA. ### 4. `/etc/pve` este partajat în cluster Chiar dacă un nod e offline, fișierele de configurare sunt accesibile de pe alte noduri prin pmxcfs. ### 5. Clone-urile ZFS blochează ștergerea Dacă ai creat un VM template dintr-un snapshot, clone-ul trebuie promovat înainte de a șterge volumul părinte: ```bash zfs promote rpool/data/base-XXX-disk-Y ``` --- ## Procedură Failover Manual (Viitor) ### Când pvemini cade: ```bash # De pe pveelite sau pve1: mv /etc/pve/nodes/pvemini/qemu-server/201.conf /etc/pve/nodes/pveelite/qemu-server/201.conf qm start 201 ``` ### Când pvemini revine (failback): ```bash qm migrate 201 pvemini --online ``` --- ## Comenzi Utile ```bash # Status replicare pvesr status | grep 201 # Forțare replicare imediată pvesr schedule-now 201-0 && pvesr schedule-now 201-1 # Verificare discuri pe noduri ssh root@10.0.20.201 "zfs list | grep vm-201" ssh root@10.0.20.202 "zfs list | grep vm-201" ssh root@10.0.20.200 "zfs list | grep vm-201" # Verificare configurare VM qm config 201 | grep -E 'disk|efidisk|virtio|ide' ``` --- ## Referințe - **Documentație VM 201:** `vm201-windows11.md` - **Proxmox Replication:** https://pve.proxmox.com/wiki/Storage_Replication - **Proxmox HA:** https://pve.proxmox.com/wiki/High_Availability --- **Data rezolvare:** 2026-01-11 **Durată incident:** ~2 ore **Autor:** Marius Mutu