51 06/04/2026 07/04/2026 7 min

Obiettivo operativo

Se il nodo Proxmox usa un datastore su NFS montato da Ubuntu, i template LXC (CT) vanno scaricati nello storage corretto e poi verificati da interfaccia o CLI. L’obiettivo è semplice: rendere disponibili i template per creare container in modo rapido, senza finire con file sparsi nel filesystem locale del nodo o con permessi sbagliati sul mount.

Il punto critico non è il download in sé, ma dove viene salvato il file e se lo storage è davvero visto da Proxmox come storage di tipo “vztmpl”. Se il mount NFS è solo presente nel sistema operativo ma non registrato in Proxmox, il template non comparirà nella GUI e la creazione del CT fallirà o proporrà storage non coerenti.

Prerequisiti da verificare prima del download

Prima di scaricare qualunque template, controlla questi tre punti:

  1. Il mount NFS è attivo e stabile sul nodo Proxmox.
  2. Lo storage Proxmox punta davvero al path NFS e supporta il contenuto vztmpl.
  3. Hai spazio libero sufficiente sul volume NFS e permessi di scrittura corretti.

Verifica lato sistema operativo con:

df -hT | grep -E 'nfs|Filesystem'
mount | grep nfs

Verifica lato Proxmox con:

pvesm status
cat /etc/pve/storage.cfg

Nel file /etc/pve/storage.cfg cerca una voce NFS simile a questa:

nfs: ct-nfs
    export /srv/proxmox
    path /mnt/pve/ct-nfs
    server 192.0.2.10
    content vztmpl,iso,backup

Se content non include vztmpl, i template LXC non verranno gestiti da quello storage. In quel caso va corretto lo storage prima di procedere.

Scaricare il template da interfaccia Proxmox

La via più pulita, se vuoi evitare errori di path, è usare la GUI di Proxmox. Il flusso tipico è questo:

  1. Apri il nodo Proxmox.
  2. Vai su Storage e seleziona lo storage NFS.
  3. Entra nella scheda CT Templates.
  4. Clicca Templates o Download.
  5. Scegli il template desiderato e avvia il download.

Dopo il download, il template deve comparire nell’elenco dei CT template disponibili per quello storage. Se non appare subito, fai refresh della scheda o controlla se il download è rimasto in errore.

Questo approccio è preferibile quando più operatori gestiscono il cluster, perché riduce il rischio di salvare il template nel posto sbagliato o di sovrascrivere file esistenti.

Scaricare il template da CLI

Se vuoi automatizzare o verificare in modo preciso cosa succede, usa la CLI. Proxmox gestisce i template LXC con pveam.

Prima elenca i template disponibili:

pveam available

Se vuoi filtrare una distro specifica:

pveam available | grep -i debian
pveam available | grep -i ubuntu

Poi scarica il template nello storage NFS registrato in Proxmox:

pveam download ct-nfs ubuntu-24.04-standard_24.04-1_amd64.tar.zst

Qui ct-nfs è il nome dello storage definito in storage.cfg. Il file viene salvato nel path del content type vztmpl associato a quello storage, non in una cartella arbitraria del filesystem.

Per verificare che il template sia stato scaricato davvero:

pvesm list ct-nfs --content vztmpl
ls -lh /mnt/pve/ct-nfs/template/cache/

Il nome file esatto può variare in base alla versione del template. Se il file non compare in /mnt/pve/ct-nfs/template/cache/, il problema è quasi sempre nel mount, nei permessi, o nella definizione dello storage.

Gestire correttamente il mount NFS su Ubuntu

Se il NFS è montato da un server Ubuntu, il lato server deve essere sano e il client Proxmox deve vedere il filesystem in modo consistente. Il controllo minimo sul server Ubuntu è questo:

showmount -e 192.0.2.10
exportfs -v
systemctl status nfs-server

Se il mount è lato client Proxmox e vuoi controllare la stabilità:

mount | grep /mnt/pve/ct-nfs
journalctl -u pvedaemon -u pvestatd --since '1 hour ago'

Su NFS, i problemi più comuni sono:

  • export non coerente tra server e client.
  • permessi UID/GID non compatibili.
  • rotta di rete o timeout verso il server NFS.
  • storage Proxmox creato ma non montato correttamente.

Se il mount non è stabile, il download può fallire a metà o il template può comparire e poi sparire dopo un refresh. In quel caso non forzare subito il rebuild: prima risolvi la disponibilità del mount.

Configurazione storage Proxmox corretta

Per un uso ordinato, lo storage NFS deve essere definito in Proxmox con il content type corretto. Una configurazione funzionale in /etc/pve/storage.cfg può essere simile a questa:

nfs: ct-nfs
    export /srv/proxmox
    path /mnt/pve/ct-nfs
    server 192.0.2.10
    content vztmpl,backup,iso
    options vers=4.1

La parte importante è content vztmpl. Senza quella, Proxmox non considera quel datastore idoneo ai template LXC. Se usi anche backup o ISO sullo stesso share, assicurati che lo spazio libero sia monitorato con attenzione, perché i template e i backup condividono lo stesso volume.

Se vuoi limitare il blast radius, separa idealmente i template dai backup e dalle ISO. In ambienti piccoli può andare bene un unico NFS, ma appena aumentano i carichi conviene segmentare per tipo di contenuto.

Verifica del template prima di creare il container

Una volta scaricato il template, controlla che sia visibile e integro. Il controllo minimo è:

pvesm list ct-nfs --content vztmpl

Atteso:

  • il template compare nell’elenco;
  • la dimensione file è plausibile;
  • non ci sono errori di accesso allo storage.

Se vuoi una verifica più concreta, controlla la presenza del file sul mount:

ls -lh /mnt/pve/ct-nfs/template/cache/

Se il file c’è ma la GUI non lo mostra, il problema è spesso di stato cache o di storage non refreshato. In quel caso prova a ricaricare la pagina e controlla i log del demone Proxmox.

Download automatico e refresh della lista

In ambienti di provisioning ripetitivo conviene automatizzare almeno la disponibilità del template. Il pattern tipico è:

  1. Verifica che lo storage NFS sia montato.
  2. Controlla se il template già esiste.
  3. Scarica solo se manca.
  4. Rinfresca l’elenco dei template.

Esempio operativo:

STORAGE=ct-nfs
TEMPLATE=ubuntu-24.04-standard_24.04-1_amd64.tar.zst

pvesm list "$STORAGE" --content vztmpl | grep -q "$TEMPLATE" || pveam download "$STORAGE" "$TEMPLATE"
pvesm list "$STORAGE" --content vztmpl

Questo evita download duplicati e riduce il rumore nei log. Se fai provisioning via script, conviene aggiungere anche un controllo sullo spazio disponibile prima del download.

Problemi tipici e lettura rapida dei sintomi

Se il download fallisce, il sintomo va letto per layer.

  • DNS: il server NFS non si risolve o punta all’host sbagliato.
  • Rete: timeout, mount che cade, errori di connessione.
  • Storage: lo storage non è definito come NFS in Proxmox o non supporta vztmpl.
  • Permessi: il path NFS è montato ma non scrivibile.
  • Capacità: spazio esaurito sul volume NFS.

Controlli rapidi:

ping -c 2 192.0.2.10
showmount -e 192.0.2.10
df -h /mnt/pve/ct-nfs
journalctl -xe | tail -n 50

Se trovi errori di permesso, non correggere a colpi di chmod casuali sul client: va capito come il server NFS esporta la directory e con quali UID/GID lavora il mount.

Creazione del CT dopo il download

Quando il template è disponibile, puoi creare il container da GUI o CLI scegliendo quel template come base. In GUI, il template compare nella lista del wizard di creazione CT. Da CLI, il flusso tipico è:

pct create 120 /mnt/pve/ct-nfs/template/cache/ubuntu-24.04-standard_24.04-1_amd64.tar.zst \
  --hostname ct-test \
  --cores 2 \
  --memory 2048 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp

Atteso: il container viene creato senza errori e il template viene letto dal path corretto. Se il file non è accessibile, il problema è quasi sempre nel mount o nel path dello storage.

Controlli finali e rollback

Dopo il download, fai questi controlli finali:

  1. pvesm list ct-nfs --content vztmpl mostra il template.
  2. ls -lh /mnt/pve/ct-nfs/template/cache/ mostra il file sul mount NFS.
  3. La GUI Proxmox mostra il template nella scheda CT Templates.
  4. La creazione di un CT di test parte senza errori.

Rollback minimo, se qualcosa va storto e vuoi tornare allo stato precedente:

  1. Rimuovi solo il template scaricato dallo storage, non toccare il resto del volume.
  2. Verifica che il mount NFS resti intatto e che altri contenuti non siano impattati.
  3. Se hai modificato storage.cfg, ripristina la versione precedente dal backup o dal diff.

Comandi utili per il rollback del template, solo se serve e dopo aver verificato il nome file esatto:

rm -f /mnt/pve/ct-nfs/template/cache/ubuntu-24.04-standard_24.04-1_amd64.tar.zst
pvesm list ct-nfs --content vztmpl

Assunzione: il nodo Proxmox vede il mount NFS come storage gestito e il server Ubuntu esporta una directory stabile e scrivibile.

Checklist rapida da usare in produzione

  1. Conferma il mount NFS.
  2. Conferma content vztmpl nello storage Proxmox.
  3. Scarica il template con pveam o dalla GUI.
  4. Verifica la presenza del file in /mnt/pve/.../template/cache/.
  5. Usa il template per creare un CT di test.

Se uno di questi passi fallisce, non andare avanti a tentativi: il punto di guasto è quasi sempre nel layer storage o nella definizione dello storage in Proxmox, non nel template in sé.