docs(proxmox): cum se converteste un linked clone in full clone pe local-zfs
`qm move-disk <vmid> <disk> local-zfs --delete 1` esueaza intotdeauna pentru zvol-uri: PVE respinge mutarea pe acelasi storage, iar conditia din Qemu.pm:4688 e mereu adevarata fiindca numele volumului n-are sufix de format. Nici storage-ul `local` nu e ruta de ocolire — n-are `images` in content. Documentata metoda care functioneaza (zfs send/recv local + swap de volid), asa cum a fost aplicata pe VM 303. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MoFGxftQw92PX4Sdkn94pv
This commit is contained in:
@@ -107,6 +107,38 @@ rpool/data # ZFS pool pentru VM/LXC
|
|||||||
/var/lib/vz/template/cache/ # LXC templates
|
/var/lib/vz/template/cache/ # LXC templates
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### ⚠️ Linked clone → full clone: `qm move-disk` NU merge pe `local-zfs`
|
||||||
|
|
||||||
|
Un VM clonat din template rămâne **linked clone** (`zfs list -o name,origin` arată un
|
||||||
|
`origin`), iar template-ul sursă nu poate fi șters cât timp există. Metoda evidentă —
|
||||||
|
`qm move-disk <vmid> virtio0 local-zfs --delete 1` — **eșuează întotdeauna**. PVE respinge
|
||||||
|
mutarea pe același storage (`/usr/share/perl5/PVE/API2/Qemu.pm:4688`):
|
||||||
|
|
||||||
|
```perl
|
||||||
|
die "you can't move to the same storage with same format\n"
|
||||||
|
if $oldstoreid eq $storeid && (!$format || !$oldfmt || $oldfmt eq $format);
|
||||||
|
```
|
||||||
|
|
||||||
|
Pentru zvol-uri `$oldfmt` e mereu `undef` (numele n-are sufix `.raw`), deci condiția e
|
||||||
|
adevărată indiferent de parametri. Nici storage-ul `local` nu e o rută de ocolire — are
|
||||||
|
`content iso,vztmpl,backup`, fără `images`.
|
||||||
|
|
||||||
|
**Ce funcționează** (aplicat pe VM 303 în 2026-08-11, ~8 min downtime pentru 64 GB): backup
|
||||||
|
`vzdump` întâi, apoi ștergerea snapshot-urilor VM-ului (blochează detașarea sursei), oprire
|
||||||
|
curată, și copie ZFS locală cu swap de volid în `/etc/pve/qemu-server/<vmid>.conf`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
zfs snapshot rpool/data/vm-303-disk-1@fullclone
|
||||||
|
zfs send rpool/data/vm-303-disk-1@fullclone | zfs recv rpool/data/vm-303-disk-2
|
||||||
|
zfs destroy rpool/data/vm-303-disk-2@fullclone
|
||||||
|
zfs destroy rpool/data/vm-303-disk-1@fullclone
|
||||||
|
zfs set refreservation=none rpool/data/vm-303-disk-2 # local-zfs e sparse 1
|
||||||
|
```
|
||||||
|
|
||||||
|
`zfs send` fără `-i` produce un flux complet, deci datasetul rezultat nu are `origin`.
|
||||||
|
În config, discul vechi se lasă ca `unusedN` — rollback prin swap invers, ~1 minut. Ambele
|
||||||
|
discuri trebuie tratate, inclusiv `efidisk0`.
|
||||||
|
|
||||||
## Comenzi Utile Proxmox
|
## Comenzi Utile Proxmox
|
||||||
|
|
||||||
### Gestiune VM-uri
|
### Gestiune VM-uri
|
||||||
|
|||||||
Reference in New Issue
Block a user