feat(backup): job pentru VM 303 + inventarul real al job-urilor

VM 303 nu era in niciun job de backup dupa transformarea in full clone.
Adaugat `backup-impare-adina` (zile impare 03:30, storage backup,
keep-last=2 keep-weekly=1), pe zile impare ca sa nu se suprapuna cu VM 201
care ruleaza in acelasi slot pe zile pare.

Sectiunea "Backup Job Configuration" din README descria un job unic
(`backup-fbb668c0-726e`, daily 02:00) care nu mai exista de mult. Inlocuita
cu cele 8 job-uri reale.

Semnalate guest-urile fara backup: LXC 102 si 103, ambele `running`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MoFGxftQw92PX4Sdkn94pv
This commit is contained in:
Marius
2026-08-11 01:03:44 +03:00
parent f48120e46b
commit 02909abea2

View File

@@ -352,23 +352,47 @@ Pentru detalii despre:
## Backup Job Configuration
### Job ID: backup-fbb668c0-726e
- **Schedule:** Daily la 02:00
- **Compression:** zstd
- **Mode:** snapshot
- **Storage:** backup
- **VM-uri incluse:** 100, 103, 104, 106, 108, 201
- **Retention:** 1 daily, 1 weekly
- **Fleecing:** Disabled
- **Notes Template:** {{guestname}}
Nu există un job unic, ci **8 job-uri separate**, alternate pe zile pare/impare ca să nu se
suprapună sarcina termică și de I/O. Sursa de adevăr e `/etc/pve/jobs.cfg`
(`pvesh get /cluster/backup`), nu tabelul de mai jos — verifică-l dacă ceva nu se potrivește.
**Containere în backup:**
- 100 (Portainer) - 10.0.20.170
- 103 (Dokploy) - 10.0.20.167
- 104 (Flowise) - 10.0.20.161
- 106 (Gitea) - 10.0.20.165
- 108 (Oracle) - 10.0.20.121
- 201 (Windows 11 VM) - DHCP
| Job | Guest | Când | Storage | Retenție |
|---|---|---|---|---|
| `backup-impare-oracle` | 108 (Oracle) | zile impare, 02:00 | `backup` | keep-last=2, keep-weekly=1 |
| `backup-impare-rest` | 100, 106, 171 | zile impare, 03:00 | `backup` | keep-last=2, keep-weekly=1 |
| `backup-impare-adina` | 303 (Win11-Adina) | zile impare, 03:30 | `backup` | keep-last=2, keep-weekly=1 |
| `backup-pve1-minecraft` | 101 | zile impare, 22:00 | `backup-ssd` | keep-last=2, keep-weekly=1 |
| `backup-pare-flowise` | 104 | zile pare, 02:00 | `backup` | keep-last=2, keep-weekly=1 |
| `backup-pare-windows` | 201 (roacentral) | zile pare, 03:30 | `backup` | keep-last=2, keep-weekly=1 |
| `backup-pve1-moltbot` | 110 | zile pare, 22:00 | `backup-ssd` | keep-last=2, keep-weekly=1 |
| `backup-f1c87584-8eb2` | 109 (DR) | prima sâmbătă din lună, 15:00 | `backup-pvemini-nfs` | keep-monthly=1 |
Toate rulează cu `mode snapshot`, `compress zstd`, `notes-template {{guestname}}`.
Job-urile sunt executate de daemonul `pvescheduler` (nu de un timer systemd — nu căuta
`pvescheduler.timer`, nu există):
```bash
systemctl is-active pvescheduler
pvesh get /cluster/backup # lista reala a job-urilor
```
### ⚠️ Guest-uri FĂRĂ backup
| Guest | Stare | Comentariu |
|---|---|---|
| **102 `docker.romfast.ro`** | **running** | **neacoperit — Docker host + sandbox-uri agenți AI** |
| **103 `dokploy`** | **running** | **neacoperit** |
| 301 `docker-portainer-template` | stopped | template, recreabil |
| 302 `oracle-test-302` | stopped | mediu de test, recreabil din 310 |
| 310 `Win11-Template-Sysprep` | stopped | template — de evaluat dacă merită backup |
Cele două `running` sunt singurele care contează. Verificare rapidă a acoperirii:
```bash
pvesh get /cluster/resources --type vm --output-format json | \
python3 -c "import sys,json;[print(r['vmid'],r.get('name'),r['status']) for r in json.load(sys.stdin)]"
pvesh get /cluster/backup --output-format json | grep -o '\"vmid\":\"[^\"]*\"'
```
### Comenzi Cluster