diff --git a/proxmox/cluster/README.md b/proxmox/cluster/README.md index 839e22c..2005b5f 100644 --- a/proxmox/cluster/README.md +++ b/proxmox/cluster/README.md @@ -384,11 +384,44 @@ pvesh get /cluster/backup # lista reala a job-urilor ### ⚠️ Replicarea ZFS NU e backup -Job-urile din `pvesr status` (LXC 103 → pve1 și pveelite, seara la 21:02/21:03, plus -celelalte) oglindesc **starea curentă**. O ștergere accidentală sau o corupție ajunge pe -toate nodurile la următorul sync — nu există niciun punct în timp din care să revii. -Replicarea protejează împotriva pierderii unui **nod**; backup-ul, împotriva pierderii de -**date**. Sunt necesare amândouă, pe mecanisme și storage-uri diferite. +Job-urile din `pvesr status` oglindesc **starea curentă**. O ștergere accidentală sau o +corupție ajunge pe toate nodurile la următorul sync — nu există niciun punct în timp din care +să revii. Replicarea protejează împotriva pierderii unui **nod**; backup-ul, împotriva +pierderii de **date**. Sunt necesare amândouă, pe mecanisme și storage-uri diferite. + +Toate guest-urile `running` replică pe alte două noduri (verificat 2026-08-11). LXC 102 a fost +adăugat atunci — vezi capcana de mai jos. + +```bash +pvesr status # toate job-urile, LastSync, FailCount +pvesr create-local-job 102-0 pve1 --schedule 21:20 +pvesr run --id 102-0 --verbose # sync manual, util la prima rulare +``` + +**Capcană: volume orfane blochează re-crearea unei replicări.** Când un job de replicare e +șters, volumul rămâne pe nodurile țintă. La recreare, sync-ul eșuează imediat cu: + +``` +No common base snapshot on volume(s) local-zfs:subvol-102-disk-0 +``` + +Nu e o problemă de spațiu sau de rețea — pur și simplu există deja un dataset cu acel nume, +fără snapshot comun din care să continue. Se rezolvă ștergând volumul de pe fiecare țintă, +apoi rulând sync-ul, care va face o copie completă: + +```bash +pvesh get /nodes/pve1/storage/local-zfs/content --output-format json # ce e pe nodul tinta +pvesh delete /nodes/pve1/storage/local-zfs/content/local-zfs:subvol-102-disk-0 +``` + +Verifică întâi că guest-ul nu rulează pe nodul respectiv — un volum cu `vmid` care trăiește pe +alt nod e prin definiție orfan. Aici, pve1 avea o copie de 50 GB iar pveelite una de 30 GB, +din epoci diferite, ambele nefolosite. + +> **SSH între noduri trece prin Tailscale** și cere autentificare interactivă, deci +> `ssh root@10.0.20.201 "ssh pve1 ..."` se blochează. Pentru orice inspecție pe alt nod, +> folosește `pvesh get /nodes//...` — merge din pvemini fără autentificare +> suplimentară. ### Guest-uri FĂRĂ backup