Continuitate și oameni

Backup Infra

Verifică zilnic dacă fiecare mașină virtuală are un backup reușit, verificat și copiat în afara sediului.

Versiune
1.3.0
Stadiu
Stabil
Capturi
4
Înlocuiește
Verificări manuale în consolele Proxmox și ale NAS-urilor
Protecție 3-2-1 și RPO. 38 din 40 de VM-uri au un punct de restaurare mai nou de 24 de ore. Panoul verifică regula 3-2-1 pe datastore-urile PBS și pe țintele externe și numără alertele active.
Protecție 3-2-1 și RPO. 38 din 40 de VM-uri au un punct de restaurare mai nou de 24 de ore. Panoul verifică regula 3-2-1 pe datastore-urile PBS și pe țintele externe și numără alertele active.

Capturi din aplicație

Cum arată în lucru

Interfața reală Monolit, cu datele unei firme fictive într-o zi obișnuită. Apăsați pe o captură ca s-o vedeți la dimensiune completă.

VM-uri și containere Proxmox. Lista începe cu problemele: voip-pbx nu e în niciun job de backup, iar app01 nu are backup valid de 3 zile. Celelalte au backup din noaptea aceasta, verificat în PBS.
Captura 2 din 4

VM-uri și containere Proxmox

Lista începe cu problemele: voip-pbx nu e în niciun job de backup, iar app01 nu are backup valid de 3 zile. Celelalte au backup din noaptea aceasta, verificat în PBS.

Punctele de restaurare ale unui VM. Panoul lateral listează snapshot-urile din PBS pentru un VM. Pentru app01, ultimul punct valid este din 21.09, ora 02:00; de atunci job-ul eșuează la înghețarea sistemului de fișiere.
Captura 3 din 4

Punctele de restaurare ale unui VM

Panoul lateral listează snapshot-urile din PBS pentru un VM. Pentru app01, ultimul punct valid este din 21.09, ora 02:00; de atunci job-ul eșuează la înghețarea sistemului de fișiere.

Ținte externe: TrueNAS, S3, Windows, NAS. Pe lângă PBS, modulul citește TrueNAS prin API, bucket-ul S3 din afara sediului, Windows Server Backup prin WinRM și NAS-ul din Ploiești prin SNMP v3, cu ocuparea și data ultimei copii.
Captura 4 din 4

Ținte externe: TrueNAS, S3, Windows, NAS

Pe lângă PBS, modulul citește TrueNAS prin API, bucket-ul S3 din afara sediului, Windows Server Backup prin WinRM și NAS-ul din Ploiești prin SNMP v3, cu ocuparea și data ultimei copii.

1Nivelul 1

Pentru conducere

Ce problemă rezolvă, cum se lucrează cu modulul și ce se poate măsura.

Ce problemă rezolvă

Un backup care eșuează în liniște se descoperă de obicei abia când e nevoie de restaurare. Mașinile virtuale noi rămân des în afara job-urilor de backup. Iar regula 3-2-1 (trei copii, două medii, una în afara sediului) se verifică rar, manual.

Backup Infra citește starea reală a backup-urilor din Proxmox și de pe țintele de stocare. Arată pe un singur ecran ce este protejat, ce nu este și de când.

Ce face, concret

  • Pentru fiecare mașină virtuală și container din Proxmox, arată data ultimului backup, dimensiunea, verificarea și dacă e inclus într-un job.
  • Marchează ca neprotejat orice VM fără un punct de restaurare mai nou decât RPO-ul configurat (implicit 24 de ore).
  • Calculează procentul de protecție și verifică regula 3-2-1 pe datastore-urile Proxmox Backup Server și pe țintele externe.
  • Afișează ocuparea, deduplicarea și numărul de snapshot-uri pentru fiecare datastore. Avertizează de la 85% ocupare.
  • Păstrează istoricul execuțiilor: backup (vzdump), verificare, curățare (prune) și garbage collection.
  • Urmărește și copiile din afara Proxmox: NAS TrueNAS, alte NAS-uri prin SNMP, servere de fișiere Windows și stocare cloud compatibilă S3.
  • Generează alerte pentru backup eșuat, VM neprotejat, VM în afara RPO și datastore aproape plin. Alertele se confirmă din interfață.

Fluxuri de lucru

1. Verificarea de dimineață

  1. Managerul IT deschide panoul: vede procentul de VM-uri protejate și numărul de alerte critice.
  2. Din lista VM/CT, cele neprotejate apar primele.
  3. Pentru un VM cu probleme deschide lista punctelor de restaurare și vede ultima copie validă.

2. Un backup care eșuează repetat

  1. După primul eșec apare alerta „Backup eșuat”, cu mesajul de eroare din Proxmox.
  2. Dacă eșecul durează mai mult decât RPO-ul, apare a doua alertă, „în afara RPO”.
  3. Tehnicianul corectează cauza pe VM. Istoricul execuțiilor arată când a reușit din nou backup-ul.

3. VM nou, uitat în afara job-urilor

  1. La sincronizare, VM-ul apare cu eticheta „fără job”.
  2. Alerta de tip „neprotejat” rămâne activă până când VM-ul primește un restore point.

Beneficii și indicatori

  • Procentul de VM/CT protejate în RPO, pe panoul modulului și pe panoul principal.
  • Numărul de VM-uri fără job de backup: ținta este zero.
  • Vechimea ultimului punct de restaurare valid, pentru fiecare VM.
  • Ocuparea fiecărui datastore și a fiecărei ținte, pentru planificarea capacității.
  • Starea regulii 3-2-1: copii în PBS, număr de medii, copii în afara sediului.

2Nivelul 2

Pentru echipa IT

Arhitectură, integrări, API, roluri și limitările cunoscute.

Arhitectură

  • Serviciu infra_backup, versiunea 1.3.0, port 8006, prefix /api/infra-backup.
  • Schema SQL infra_backup: guests, datastore-uri, snapshot-uri, execuții, alerte, ținte, audit.
  • Datele se aduc prin POST /api/infra-backup/sync (pull din PVE și PBS în baza de date). Rezultatul ultimei sincronizări se păstrează în configurație.
  • Țintele externe se interoghează individual, cu POST /targets/{id}/poll.
  • Variabile de mediu: DB_HOST, DB_USER, DB_PASSWORD, SECRET_KEY (obligatorii) și RPO_HOURS_DEFAULT (opțională).
  • Depinde de core_service (min. 1.0.0).

Integrări și protocoale

  • Proxmox VE: API REST pe portul 8006, cu token API. Verificarea certificatului se poate activa sau dezactiva.
  • Proxmox Backup Server: API REST pe portul 8007, cu token. De aici vin datastore-urile, snapshot-urile, verificările, GC și prune.
  • TrueNAS: API cu cheie, pe portul 443. Citește pool-urile ZFS (capacitate și stare), task-urile de replicare, task-urile de snapshot și alertele.
  • NAS generic: SNMP v2c (community) sau v3 (noAuthNoPriv, authNoPriv, authPriv; SHA/MD5, AES/DES).
  • Server de fișiere Windows: WinRM pe HTTP 5985, cu NTLM. Citește spațiul pe discuri și ultimul Windows Server Backup.
  • Stocare S3: iDrive e2, Backblaze B2, Wasabi, AWS S3, Storj, MinIO. Citește numărul de obiecte, dimensiunea și cel mai recent obiect, folosit pentru RPO-ul copiei din afara sediului. Listarea se oprește la 50.000 de obiecte.
  • Fiecare țintă poate avea un RPO propriu și poate fi marcată ca offsite. Țintele intră în calculul 3-2-1.
  • Evenimente pe magistrala internă: infra_backup.run_failed și infra_backup.guest_unprotected, preluate de SOC.

Endpoint-uri notabile

  • GET /api/infra-backup/dashboard: KPI, conformitate 3-2-1, capacitate. Folosit și de panoul principal.
  • GET /api/infra-backup/guests: VM/CT, cu protected și in_backup_job.
  • GET /api/infra-backup/snapshots/{guest}: punctele de restaurare din PBS.
  • GET /api/infra-backup/runs?limit=: istoricul vzdump, verify, gc și prune.
  • GET /api/infra-backup/repos: datastore-urile, cu ocupare și factor de deduplicare.
  • GET /api/infra-backup/alerts?only_active= și POST /alerts/{id}/ack.
  • POST /api/infra-backup/config/test și POST /targets/test: testează conexiunile înainte de salvare.
  • Total: 19 endpoint-uri în module.yaml.

Roluri și audit

  • Modulul e vizibil doar pentru rolurile admin și it_manager.
  • Salvarea configurației și adăugarea țintelor sunt rezervate acelorași roluri.
  • Secretele (token-uri, chei API, parole, community SNMP) se întorc mascate (****). Se retrimit doar când sunt modificate.
  • Acțiunile se înregistrează în GET /api/infra-backup/audit (utilizator, acțiune, detalii, oră).
  • Confirmarea unei alerte păstrează utilizatorul și ora.

Cerințe

  • Token API în Proxmox VE și în PBS, cu drept de citire.
  • Pentru ținte: cheie API TrueNAS, cont SNMP v3 pe NAS, WinRM activ pe serverul Windows, cheie de acces S3 cu drept de listare.

Limitări și ce e în plan

  • Modulul doar monitorizează. Nu pornește backup-uri și nu face restaurări: acestea rămân în Proxmox și PBS.
  • Sincronizarea cu PVE și PBS este declarată în contract ca pull manual (POST /sync).
  • Pentru NAS-urile citite prin SNMP se vede doar ocuparea volumelor, nu data ultimului backup.