Di recente ho avuto la necessità di espandere il disco (mount point) di un container LXC su Proxmox, tuttavia nonostante dalla Web UI il resize sembrasse aver funzionato, all’interno del container la dimensione era rimasta invariata.
Il container LXC in questione è un fileserver su Debian 12 con il disco di root su un datastore ZFS sul nodo di Proxmox e diversi mount points su un datastore LVM mappato con iSCSI su un NAS.
Il resize di un disco LVM di un container LXC su Proxmox avviene in due fasi: nella prima fase il disco LVM viene espanso sull’host e viene modificata la sua dimensione nel file di configurazione del container; nella seconda fase il file system (ext4) del LVM viene espanso fino ad occuparne l’intera dimensione.
Nel caso del mio problema la prima fase veniva completata senza errori e perciò non venivano mostrati errori nella Web UI, però la seconda fase falliva e quindi il file system non veniva espanso.
ESTENDERE IL DISCO DI UN CONTAINER DALLA WEB UI
Per espandere il disco di un container LXC su Proxmox dalla Web UI è necessario selezionare il container, navigare nel menù Resources, cliccare su Volume Action ed infine su Resize:
Successivamente, è necessario selezionare la dimensione che si vuole aggiungere al disco e cliccare su Resize disk:
VERIFICARE LA DIMENSIONE DEL DISCO
Accedere alla console del nodo di Proxmox ed eseguire i comandi:
Shell
0
1
2
3
4
5
root@node01:~# ID_CT=252
root@node01:~# lvs | grep "vm-$ID_CT"
vm-252-disk-0lun01-wi-ao----4.00g
vm-252-disk-1lun01-wi-ao----36.00g
vm-252-disk-3lun01-wi-ao----150.00g
vm-252-disk-3lun01-wi-ao----12.00g
NOTA BENE: sostituire 252 con l’ID del container
Verificare la dimensione del disco che si è espanso, in questo caso il disco #3.
The filesystem on/dev/lun01/vm-252-disk-3isnow3670016(4k)blocks long.
Se invece l’output mostrato dovesse contenere degli errori, come ad esempio quello mostrato successivamente, allora eseguire la procedura descritta nel successivo paragrafo:
Failed toupdate the container's filesystem: command 'unshare-m--sh-c'mount --make-rprivate / && mount /dev/lun01/vm-252-disk-3 /tmp && resize2fs /dev/lun01/vm-252-disk-3''failed:exitcode1
EFFETTUARE MANUALMENTE IL RESIZE DEL FILE SYSTEM DI UN CONTAINER
Innanzitutto è necessario avviare il container specificando il suo ID, che in questo caso è 252:
Shell
0
root@node01:~# pct start 252
Successivamente è necessario individuare l’LV Path relativo al disco da modificare:
Shell
0
1
2
3
4
5
6
root@node01:~# lvdisplay | grep "LV Path"
LV Path/dev/lun01/vm-252-disk-1
LV Path/dev/lun01/vm-252-disk-2
LV Path/dev/lun01/vm-252-disk-0
LV Path/dev/lun01/vm-252-disk-3
LV Path/dev/proxmox/swap
LV Path/dev/proxmox/root
Gli LV Path rispettano la sintassi /dev/<nome volume group>/vm-<id container>-disk-<# disk>.
Tramite i soft links presenti nella posizione indicata dagli LV Paths è possibile indentificare i device mappers utilizzati per i dischi LVM del container:
Se stai cercando un modo efficace per gestire e trasmettere i tuoi contenuti multimediali in streaming, Emby Media Server è una delle soluzioni più potenti e versatili disponibili. Grazie alla sua interfaccia intuitiva, alle funzioni avanzate di gestione della...
Se gestisci un'infrastruttura IT, sai quanto sia fondamentale tenere traccia di hardware, software, utenti e interventi di assistenza. GLPI (Gestionnaire Libre de Parc Informatique) è una potente soluzione open-source per l'IT asset management (ITAM) e il service...
oVirt è una delle soluzioni open-source più utilizzate per la gestione della virtualizzazione, offrendo un'interfaccia intuitiva e potenti funzionalità per l'amministrazione delle macchine virtuali. Uno degli aspetti fondamentali per gli amministratori di...
0 commenti