Document VM 201 power outage incident and update HA configuration
- Add troubleshooting guide for 2026-01-11 power outage incident - Update vm201-windows11.md with correct storage details (disk-1, disk-3) - Remove HA configuration, document manual failover procedure - Add ZFS replication status and commands - Document lessons learned: ISO attachments block migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
202
proxmox/vm201-troubleshooting-pana-curent-2026-01-11.md
Normal file
202
proxmox/vm201-troubleshooting-pana-curent-2026-01-11.md
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
# 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
|
||||||
@@ -24,12 +24,17 @@
|
|||||||
### Storage Details
|
### Storage Details
|
||||||
```bash
|
```bash
|
||||||
# Verificare disk usage
|
# Verificare disk usage
|
||||||
ssh root@10.0.20.201 "qm config 201 | grep scsi"
|
ssh root@10.0.20.201 "qm config 201 | grep -E 'efidisk|virtio'"
|
||||||
|
|
||||||
# Output:
|
# Output:
|
||||||
# scsi0: local-zfs:vm-201-disk-0,size=500G
|
# efidisk0: local-zfs:vm-201-disk-1,efitype=4m,pre-enrolled-keys=1,size=528K
|
||||||
|
# virtio0: local-zfs:vm-201-disk-3,size=500G
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Discuri active:**
|
||||||
|
- `vm-201-disk-1` - EFI disk (528K)
|
||||||
|
- `vm-201-disk-3` - Disk principal Windows (500GB, ~89GB utilizat)
|
||||||
|
|
||||||
### Network Configuration
|
### Network Configuration
|
||||||
- **Interface:** net0 - virtio bridge=vmbr0
|
- **Interface:** net0 - virtio bridge=vmbr0
|
||||||
- **IP Assignment:** DHCP (managed by network DHCP server)
|
- **IP Assignment:** DHCP (managed by network DHCP server)
|
||||||
@@ -335,6 +340,7 @@ ssh root@10.0.20.201 "qm delsnapshot 201 pre-update-snapshot"
|
|||||||
### Documentație VM 201 Specifică
|
### Documentație VM 201 Specifică
|
||||||
- **SSL Certificates IIS:** `vm201-certificat-letsencrypt-iis.md`
|
- **SSL Certificates IIS:** `vm201-certificat-letsencrypt-iis.md`
|
||||||
- **Troubleshooting Incident 2025-10-08:** `vm201-troubleshooting-backup-nfs.md`
|
- **Troubleshooting Incident 2025-10-08:** `vm201-troubleshooting-backup-nfs.md`
|
||||||
|
- **Troubleshooting Pană Curent 2026-01-11:** `vm201-troubleshooting-pana-curent-2026-01-11.md`
|
||||||
|
|
||||||
### Documentație Infrastructură Generală
|
### Documentație Infrastructură Generală
|
||||||
- **Proxmox Cluster General:** `proxmox-ssh-guide.md`
|
- **Proxmox Cluster General:** `proxmox-ssh-guide.md`
|
||||||
@@ -367,13 +373,47 @@ ssh root@10.0.20.201 "qm delsnapshot 201 pre-update-snapshot"
|
|||||||
- Gitea: 10.0.20.165:3000
|
- Gitea: 10.0.20.165:3000
|
||||||
- Portainer: 10.0.20.170:9443
|
- Portainer: 10.0.20.170:9443
|
||||||
|
|
||||||
### High Availability
|
### High Availability și Replicare
|
||||||
- **HA Status:** Enabled (managed by pve-ha-crm)
|
|
||||||
- **Priority:** Normal
|
|
||||||
- **Autostart:** Enabled (onboot: 1)
|
|
||||||
- **Recovery:** Automatic VM migration în caz de node failure
|
|
||||||
|
|
||||||
**Troubleshooting HA:** Vezi `vm201-troubleshooting-backup-nfs.md` → "VM 201 - HA Error"
|
#### HA Status: DEZACTIVAT (Control Manual)
|
||||||
|
- **HA:** Eliminat din cluster HA (decizie post-incident 2026-01-11)
|
||||||
|
- **Motiv:** Control manual asupra failover-ului pentru a evita blocaje
|
||||||
|
- **Autostart:** Enabled (onboot: 1) - pornește automat când nodul bootează
|
||||||
|
|
||||||
|
#### Replicare ZFS (Activă)
|
||||||
|
- **Job 201-0:** pvemini → pve1 (la fiecare 30 min)
|
||||||
|
- **Job 201-1:** pvemini → pveelite (la fiecare 30 min)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Verificare status replicare
|
||||||
|
ssh root@10.0.20.201 "pvesr status | grep 201"
|
||||||
|
|
||||||
|
# Forțare replicare imediată
|
||||||
|
ssh root@10.0.20.201 "pvesr schedule-now 201-0 && pvesr schedule-now 201-1"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Procedură Failover Manual (când pvemini cade)
|
||||||
|
|
||||||
|
**Important:** `/etc/pve` este un filesystem partajat (pmxcfs). Chiar dacă pvemini e offline, configurarea VM-ului e accesibilă de pe orice nod din cluster.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# De pe pveelite (10.0.20.202) sau pve1 (10.0.20.200):
|
||||||
|
|
||||||
|
# 1. Mută configurarea pe nodul unde vrei să pornești
|
||||||
|
mv /etc/pve/nodes/pvemini/qemu-server/201.conf /etc/pve/nodes/pveelite/qemu-server/201.conf
|
||||||
|
|
||||||
|
# 2. Pornește VM-ul (discurile sunt deja replicate)
|
||||||
|
qm start 201
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Procedură Failback (migrare înapoi pe pvemini)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Când pvemini e din nou online, migrează VM-ul înapoi
|
||||||
|
qm migrate 201 pvemini --online
|
||||||
|
```
|
||||||
|
|
||||||
|
**Troubleshooting:** Vezi `vm201-troubleshooting-pana-curent-2026-01-11.md`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -402,6 +442,6 @@ ssh root@10.0.20.201 "qm delsnapshot 201 pre-update-snapshot"
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Ultima actualizare:** 2025-11-19
|
**Ultima actualizare:** 2026-01-11
|
||||||
**Autor:** Marius Mutu
|
**Autor:** Marius Mutu
|
||||||
**Proiect:** ROMFASTSQL - VM 201 Documentation
|
**Proiect:** ROMFASTSQL - VM 201 Documentation
|
||||||
|
|||||||
Reference in New Issue
Block a user