VMware ESXi non vede il disco dopo l'installazione
Dopo l'installazione di ESXi, a volte un disco non compare durante la creazione di un datastore, oppure ESXi trova su di esso un vecchio datastore ma non lo monta. La causa determina la soluzione: alcune soluzioni conservano i dati sul disco, altre li eliminano. Questa guida spiega come individuare prima la causa e poi scegliere lo scenario corretto.
I comandi sono per ESXi 8.0 e funzionano anche su ESXi 7.0. Eseguili come root nella ESXi Shell o tramite SSH.
ESXi 7.0 ha raggiunto la fine del supporto generale il 2 ottobre 2025 e non riceve più correzioni di sicurezza. Se il server esegue ancora ESXi 7.0, pianifica l'aggiornamento a una versione supportata.
Individuare la causa
Apri l'ESXi Host Client nel browser e vai su Storage → Devices. Trova il disco e controlla cosa viene mostrato.
- Il disco è elencato in Storage → Devices ma non è disponibile nella procedura guidata New datastore. Prima di modificare qualsiasi cosa, verifica se contiene un datastore esistente, partizioni di sistema o altre partizioni. Vedi gli scenari 1 e 2.
- ESXi segnala un vecchio datastore VMFS sul disco, ma il datastore non è montato. Molto probabilmente il disco era usato da un'altra installazione di ESXi oppure è stato clonato. Passa allo scenario 1.
- Il disco non compare affatto nell'elenco. ESXi non vede il dispositivo stesso. Passa allo scenario 3.
Lo stesso controllo dalla riga di comando. Elenca i dischi visti da ESXi:
esxcli storage core device list | grep -E "^[a-z]|Display Name|Size"
Elenca i volumi VMFS che ESXi ha trovato ma non ha montato:
esxcli storage vmfs snapshot list
Se il secondo comando non mostra volumi, il disco può comunque contenere un normale datastore VMFS smontato manualmente. ESXi non monta automaticamente un datastore di questo tipo, ma non si tratta nemmeno di uno snapshot. Controlla l'elenco dei file system:
esxcli storage filesystem list
Se il datastore è presente nell'elenco con Mounted impostato su false, montalo tramite il nome:
esxcli storage filesystem mount -l DATASTORE_NAME
Oppure tramite l'UUID:
esxcli storage filesystem mount -u DATASTORE_UUID
Se il secondo comando mostra un volume, usa lo scenario 1. Se nessuno dei due comandi mostra il datastore, ciò non significa ancora che il disco contenga solo vecchie partizioni: potrebbe essere il disco di avvio (vedi lo scenario 4) o contenere dati che ti servono. Controlla le partizioni come descritto nello scenario 2 prima di eliminare qualsiasi cosa.
Scenario 1. Montare un datastore VMFS esistente e conservare i dati
Usa questo scenario quando il disco contiene un datastore con macchine virtuali che ti servono. Succede dopo la reinstallazione di ESXi sullo stesso server, quando il disco viene spostato da un altro host o quando il disco è una copia di un altro disco.
Ogni volume VMFS ha una firma collegata all'identificatore del dispositivo su cui è stato creato. Se l'identificatore del dispositivo cambia, ad esempio dopo la clonazione del disco, lo spostamento su un altro controller o la presentazione con un LUN ID diverso, ESXi rileva il volume come snapshot non risolto (unresolved snapshot) e non lo monta automaticamente. Questo evita di montare due copie dello stesso datastore. Non ogni datastore non montato è uno snapshot: se il comando seguente non mostra nulla, la causa è un'altra.
Controlla il volume:
esxcli storage vmfs snapshot list
Esempio di output:
5f5b217c-2b53d2b8-d1a4-ac1f6be04cea Volume Name: datastore1 VMFS UUID: 5f5b217c-2b53d2b8-d1a4-ac1f6be04cea Can mount: true Reason for un-mountability: Can resignature: true Reason for non-resignaturability: Unresolved Extent Count: 1
Puoi mantenere la firma esistente (mount) oppure scriverne una nuova (resignature).
Montare il volume con la firma esistente
Usa questo metodo quando il datastore originale non è più collegato a questo host, ad esempio dopo la reinstallazione di ESXi:
esxcli storage vmfs snapshot mount -l datastore1
Sostituisci datastore1 con il Volume Name presente nell'output. Se più volumi hanno lo stesso nome, usa invece l'UUID: -u 5f5b217c-2b53d2b8-d1a4-ac1f6be04cea. Lo stesso vale per resignature. Il mount persiste dopo il riavvio. Per montare il volume solo fino al riavvio successivo, aggiungi -n.
Scegli in base al fatto che il volume originale sia ancora collegato. Se il datastore originale con lo stesso UUID è montato sull'host, la copia non può essere montata con la firma esistente. In questo caso usa resignature.
Rigenerare la firma del volume (resignature)
Usa questo metodo quando il datastore originale e la sua copia devono funzionare contemporaneamente sullo stesso host:
esxcli storage vmfs snapshot resignature -l datastore1
ESXi scrive un nuovo UUID e il datastore compare con un nome come snap-1a2b3c4d-datastore1. Puoi rinominarlo nell'Host Client.
Dopo resignature, le macchine virtuali presenti su questo datastore non sono registrate sull'host. Apri il datastore in Storage → Datastore browser, individua il file .vmx di ogni macchina virtuale e registralo. Dalla riga di comando, registra una macchina virtuale con:
vim-cmd solo/registervm /vmfs/volumes/DATASTORE/VM/VM.vmx
Sostituisci DATASTORE e VM con il nome del datastore e la cartella della macchina virtuale. Resignature non può essere annullato.
Verificare il risultato
esxcli storage filesystem list
Il datastore deve essere presente nell'elenco con Mounted impostato su true. Compare anche in Storage → Datastores nell'Host Client.
I comandi meno recenti esxcfg-volume -l (elenco) e esxcfg-volume -M <UUID> (mount persistente) svolgono la stessa funzione e funzionano ancora in ESXi 7.0 e 8.0. Il comando vicfg-volume appartiene a vSphere CLI, che non è più supportata.
Scenario 2. Eliminare le vecchie partizioni e usare il disco come nuovo
Usa questo scenario solo quando il disco non contiene dati che ti servono. Casi tipici: il disco era usato da un altro sistema operativo, da un RAID hardware o da una vecchia installazione di ESXi che non ti serve più. ESXi non propone un disco di questo tipo per un nuovo datastore finché sono presenti le vecchie partizioni.
La cancellazione della tabella delle partizioni elimina tutti i dati presenti sul disco. Controlla due volte l'identificatore del disco e assicurati che non sia il disco da cui ESXi si avvia né un disco con un datastore che ti serve.
Nell'Host Client
Vai su Storage → Devices e fai clic sul disco. Fai clic su Actions e seleziona Clear partition table. Conferma l'azione.
Poi vai su Storage → Datastores, fai clic su New datastore e crea un datastore VMFS sul disco.
Se devi rimuovere una sola partizione, seleziona invece Edit partitions, elimina la partizione e salva le modifiche.
Dalla riga di comando
Trova il nome del dispositivo del disco:
ls /vmfs/devices/disks/ | grep -v ":"
Assicurati che non sia il disco di avvio e che non vi sia alcun datastore su di esso. Sostituisci DEVICE con il nome ottenuto dal comando precedente:
esxcli storage core device list -d DEVICE | grep -E "Display Name|Is Boot Device" esxcli storage vmfs extent list
Is Boot Device deve essere false e il dispositivo non deve comparire nell'output di esxcli storage vmfs extent list. Assicurati inoltre che il disco non sia usato per il crash dump o per i log di sistema:
esxcli system coredump partition list esxcli system syslog config get
Il dispositivo non deve comparire nell'output di coredump e la directory di syslog non deve trovarsi su un datastore di questo disco. Se non sei sicuro di come venga usato il disco, non eseguire il comando distruttivo. Poi mostra le sue partizioni:
partedUtil getptbl /vmfs/devices/disks/DEVICE
Scrivi una nuova tabella delle partizioni GPT vuota:
partedUtil mklabel /vmfs/devices/disks/DEVICE gpt
Esegui una nuova scansione degli adattatori in modo che l'Host Client veda il disco vuoto:
esxcli storage core adapter rescan --all
Poi crea il datastore nell'Host Client come descritto sopra.
Scenario 3. Il disco non è visibile affatto
Se il disco non compare in Storage → Devices, ESXi non vede il dispositivo stesso. Partizioni e datastore qui non contano: il problema riguarda l'hardware, la modalità del controller o il driver.
Controlla gli adattatori di storage e i relativi driver:
esxcli storage core adapter list
Poi esegui una nuova scansione degli adattatori:
esxcli storage core adapter rescan --all
Controlla di nuovo l'elenco dei dispositivi:
esxcli storage core device list
Se il disco continua a mancare, verifica le cause seguenti.
Cause comuni:
- il disco è collegato a un controller RAID e non è stato aggiunto ad alcun disco virtuale (unità logica) nelle impostazioni del controller;
- il controller funziona in una modalità non supportata da ESXi, ad esempio RAID software della scheda madre;
- non esiste un driver ESXi per il controller o per l'unità NVMe. ESXi 7.0 e versioni successive non supportano più i vecchi driver vmklinux, quindi l'hardware che funzionava con ESXi 6.x potrebbe smettere di funzionare;
- il disco è disattivato nelle impostazioni BIOS/UEFI, è guasto o non è collegato.
Verifica il controller e il modello del disco nella Broadcom Compatibility Guide. Per un controller RAID, apri la sua utility di configurazione durante l'avvio e assicurati che il disco faccia parte di un disco virtuale, oppure imposta il controller in modalità HBA (pass-through) se la supporta.
I clienti dei server dedicati INTROSERV possono contattare il supporto se il disco non è visibile in ESXi. Il supporto verifica la configurazione del controller e l'hardware del server.
Scenario 4. Il disco di sistema ha poco o nessuno spazio per un datastore
A partire da ESXi 7.0, il programma di installazione crea partizioni di avvio e una partizione ESX-OSData sul disco di avvio. Per impostazione predefinita, queste partizioni di sistema occupano fino a 138 GB. Se il disco di avvio è di 142 GB o meno, il programma di installazione non crea su di esso alcun datastore locale. Su un disco più grande, il datastore riceve solo lo spazio rimanente. Il disco è visibile, ma ha poco o nessuno spazio libero.
Non si tratta di un errore. La disposizione esatta dipende dalle dimensioni del disco e dalle opzioni di installazione. Se ti serve lo spazio sul disco di sistema, reinstalla ESXi con partizioni di sistema più piccole. Quando compare la schermata di avvio del programma di installazione di ESXi, premi Shift+O per modificare le opzioni di avvio e aggiungi il parametro seguente alla fine della riga. Si tratta di un'opzione di avvio del programma di installazione, non di un comando per la ESXi Shell:
systemMediaSize=min
Con min, le partizioni di sistema occupano 33 GB. Questo valore è pensato per server con un solo disco e un insieme ridotto di funzionalità. Gli altri valori sono small (69 GB, per server con almeno 512 GB di RAM), default (138 GB) e max (tutto lo spazio disponibile). L'opzione è disponibile a partire da ESXi 7.0 Update 1c.
La reinstallazione di ESXi con un nuovo layout delle partizioni elimina il datastore locale esistente sul disco di sistema. Sposta prima le macchine virtuali o eseguine il backup.
L'altra possibilità è mantenere ESXi sul disco di sistema e creare i datastore solo su altri dischi.
Conclusione
Verifica per prima cosa se ESXi vede il disco e se ha trovato su di esso un vecchio volume VMFS. Se il disco contiene un datastore che ti serve, montalo oppure rigenera la firma (resignature). Se il disco contiene vecchi dati che non ti servono, cancella la tabella delle partizioni e crea un nuovo datastore. Se il disco non è visibile affatto, verifica la modalità del controller e il supporto del driver.