Le opzioni dei dischi virtuali consentono di configurare, migrare e gestire i dischi virtuali archiviati nei datastore. È inoltre possibile eseguire la maggior parte di queste attività tramite vSphere Client.

Formati di dischi supportati

Quando si crea o si clona un disco virtuale, è possibile utilizzare l'opzione -d|--diskformat per specificare il formato del disco.

Scegliere tra i seguenti formati:

  • zeroedthick (impostazione predefinita) - Lo spazio necessario per il disco virtuale viene allocato durante la creazione. Tutti i dati rimanenti sul dispositivo fisico non vengono cancellati durante la creazione, ma vengono azzerati su richiesta alla prima scrittura dalla macchina virtuale. La macchina virtuale non legge i dati obsoleti dal disco.
  • eagerzeroedthick - Lo spazio necessario per il disco virtuale viene allocato al momento della creazione. Al contrario del formato zeroedthick, i dati rimanenti sul dispositivo fisico vengono azzerati durante la creazione. La creazione di dischi in questo formato potrebbe richiedere molto più tempo rispetto alla creazione di altri tipi di dischi.
  • thin - Disco virtuale con thin provisioning. A differenza del formato thick, lo spazio richiesto per il disco virtuale non viene allocato durante la creazione, ma viene fornito, azzerato, su richiesta.
  • rdm:dispositivo - Mappatura del disco "raw" della modalità di compatibilità virtuale.
  • rdmp:dispositivo - Mappatura del disco "raw" in modalità di compatibilità fisica (pass-through).
  • 2gbsparse - Un disco di tipo sparse con dimensione massima di 2 GB. È possibile utilizzare dischi in questo formato con prodotti VMware ospitati, come ad esempio VMware Fusion. Tuttavia, non è possibile attivare il disco di tipo sparse su un host ESXi a meno che non si importi nuovamente il disco con vmkfstools in un formato compatibile, ad esempio thick o thin.

Formati disco nei datastore NFS

Gli unici formati di disco che è possibile utilizzare per NFS sono thin, thick, zeroedthick e 2gbsparse.

I formati Thick, zeroedthick e thin in genere si comportano nello stesso modo perché il server NFS, e non l'host ESXi, determina il criterio di allocazione. Il criterio di allocazione predefinito nella maggior parte dei server NFS è thin. Tuttavia, nei server NFS che supportano Storage APIs - Array Integration, è possibile creare dischi virtuali in formato zeroedthick. L'operazione di prenotazione dello spazio consente ai server NFS di allocare e garantire lo spazio.

Per ulteriori informazioni sulle API di integrazione array, vedere Accelerazione hardware di storage in vSphere.

Creazione di un disco virtuale

Utilizzare il comando vmkfstools per creare un disco virtuale.

-c|--createvirtualdisk size[bB|sS|kK|mM|gG]
      -d|--diskformat [thin|zeroedthick|eagerzeroedthick]
      -W|--objecttype [file|vsan|vvol]
      --policyFile fileName

Questa opzione consente di creare un disco virtuale nel percorso specificato in un datastore. Specificare le dimensioni del disco virtuale. Quando si immette il valore per dimensione, è possibile indicare il tipo di unità aggiungendo un suffisso k (kilobyte), m (megabyte) o g (gigabyte). Per il tipo di unità non viene applicata distinzione tra maiuscole e minuscole. vmkfstools interpreta k o K come kilobyte. Se non si specifica un tipo di unità, vmkfstools imposta byte come valore predefinito.

È possibile specificare i seguenti sottotipi con l'opzione -c.

  • -d|--diskformat specifica i formati dei dischi.
  • -W|--objecttype specifica se il disco virtuale è un file in un datastore VMFS o NFS o un oggetto in un datastore vSAN o Virtual Volumes.
  • --policyFile fileName specifica il criterio di storage della macchina virtuale per il disco.

Esempio di creazione di un disco virtuale

In questo esempio viene illustrato come creare un file del disco virtuale a due gigabyte denominato disk.vmdk. Si crea il disco nel datastore VMFS denominato myVMFS. Il file del disco rappresenta un disco virtuale vuoto a cui le macchine virtuali possono accedere.

vmkfstools -c 2048m /vmfs/volumes/myVMFS/disk.vmdk

Inizializzazione di un disco virtuale

Utilizzare il comando vmkfstools per inizializzare un disco virtuale.

-w|--writezeros
Questa opzione pulisce il disco virtuale scrivendo zero su tutti i relativi dati. A seconda delle dimensioni del disco virtuale e della larghezza di banda I/O per il dispositivo che ospita il disco virtuale, il completamento di questo comando potrebbe richiedere molto tempo.
Nota: Questo comando non è supportato nei datastore NFS.
Attenzione: Quando si utilizza questo comando, si perdono i dati esistenti nel disco virtuale.

Creazione di un disco virtuale thin

Utilizzare il comando vmkfstools per eseguire l'inflate di un disco virtuale thin.

-j|--inflatedisk

Questa opzione consente di convertire un disco virtuale thin in eagerzeroedthick, conservando tutti i dati esistenti. L'opzione alloca e azzera tutti i blocchi che non sono già allocati.

Conversione di un disco virtuale Zeroedthick in un disco Eagerzeroedthick

Utilizzare il comando vmkfstools per convertire qualsiasi disco virtuale zeroedthick in un disco eagerzeroedthick.

-k|--eagerzero

Durante l'esecuzione della conversione, questa opzione conserva tutti i dati nel disco virtuale.

Seguire questo esempio:

vmkfstools --eagerzero /vmfs/volumes/myVMFS/VMName/disk.vmdk

Rimozione dei blocchi azzerati

Utilizzare il comando vmkfstools per rimuovere i blocchi azzerati.

-K|--punchzero

Questa opzione dealloca tutti i blocchi azzerati e lascia solo i blocchi allocati in precedenza e che contengono dati validi. Il disco virtuale risultante è in formato thin.

Eliminazione di un disco virtuale

Utilizzare il comando vmkfstools per eliminare un file del disco virtuale nel percorso specificato nel volume VMFS.

Utilizzare l'opzione seguente:

-U|--deletevirtualdisk

Ridenominazione di un disco virtuale

Utilizzare il comando vmkfstools per rinominare un file di disco virtuale nel percorso specificato nel volume VMFS.

È necessario specificare il nome del file originale o il percorso oldName e il nuovo nome file o percorso file newName.

-E|--renamevirtualdisk oldName newName

Clonazione o conversione di un disco virtuale o RDM

Utilizzare il comando vmkfstools per creare una copia di un disco virtuale o di un disco "raw" specificato.

Un utente non root non può clonare un disco virtuale o un RDM. È necessario specificare il nome del file originale o il percorso oldName e il nuovo nome file o percorso file newName.

 -i|--clonevirtualdisk oldName newName
      -d|--diskformat [thin|zeroedthick|eagerzeroedthick|rdm:device|rdmp:device|2gbsparse]
      -W|--objecttype [file|vsan|vvol]
      --policyFile fileName
      -N|--avoidnativeclone

Utilizzare i seguenti parametri secondari per modificare i parametri corrispondenti per la copia creata.

  • -d|--diskformat specifica i formati dei dischi.
  • -W|--objecttype specifica se il disco virtuale è un file in un datastore VMFS o NFS o un oggetto in un datastore vSAN o Virtual Volumes.
  • --policyFile fileName specifica il criterio di storage della macchina virtuale per il disco.

Per impostazione predefinita, ESXi utilizza i suoi metodi nativi per eseguire le operazioni di clonazione. Se l'array supporta le tecnologie di clonazione, è possibile disattivare le operazioni nell'array. Per evitare la clonazione nativa di ESXi, specificare l'opzione -N|--avoidnativeclone.

Esempio di clonazione o conversione di un disco virtuale

Questo esempio illustra come clonare il contenuto di un disco virtuale master dal repository templates in un file del disco virtuale denominato myOS.vmdk nel file system myVMFS.

vmkfstools -i /vmfs/volumes/myVMFS/templates/gold-master.vmdk /vmfs/volumes/myVMFS/myOS.vmdk

È possibile configurare una macchina virtuale affinché utilizzi questo disco virtuale aggiungendo righe al file di configurazione delle macchine virtuali, come nell'esempio seguente:

scsi0:0.present = TRUE 
scsi0:0.fileName = /vmfs/volumes/myVMFS/myOS.vmdk

Se si desidera convertire il formato del disco, utilizzare l'opzione secondaria -d|--diskformat.

Questa opzione secondaria è utile quando si importano dischi virtuali in un formato non compatibile con ESXi, ad esempio il formato 2gbsparse. Dopo la conversione del disco, è possibile collegarlo a una nuova macchina virtuale creata in ESXi.

Ad esempio:
vmkfstools -i /vmfs/volumes/myVMFS/templates/gold-master.vmdk /vmfs/volumes/myVMFS/myOS.vmdk  -d thin

Estensione di un disco virtuale

Dopo aver creato una macchina virtuale, è possibile utilizzare il comando vmkfstools per estendere le dimensioni di un disco allocato alla macchina virtuale.

-X|--extendvirtualdisk newSize[bBsSkKmMgGtT]

Specificare il parametro newSize aggiungendo un suffisso di unità appropriato. Per il tipo di unità non viene applicata distinzione tra maiuscole e minuscole. vmkfstools interpreta k o K come kilobyte. Se non si specifica il tipo di unità, vmkfstools viene impostato su kilobyte.

Il parametro newSize definisce le nuove dimensioni, non solo l'incremento aggiunto al disco.

Ad esempio, per estendere un disco virtuale a 4 g di 1 g, immettere: vmkfstools -X 5g nome disco.

È possibile estendere il disco virtuale al formato eagerzeroedthick utilizzando l'opzione -d eagerzeroedthick.

Quando si utilizza l'opzione -X, si applicano le considerazioni seguenti:

  • Non estendere il disco di base di una macchina virtuale a cui sono associati snapshot. In caso contrario, non è più possibile eseguire il commit dello snapshot o ripristinare le dimensioni originali del disco di base.
  • Dopo aver esteso il disco, potrebbe essere necessario aggiornare il file system nel disco. Di conseguenza, il sistema operativo guest riconosce le nuove dimensioni del disco e può utilizzarlo.

Aggiornamento dei dischi virtuali

Questa opzione consente di convertire il file del disco virtuale specificato dal formato ESX Server 2 al formato ESXi.

Utilizzare questa opzione per convertire i dischi virtuali di tipo LEGACYSPARSE, LEGACYPLAIN, LEGACYVMFS, LEGACYVMFS_SPARSE e LEGACYVMFS_RDM.

-M|--migratevirtualdisk

Creazione di una mappatura di un'unità "raw" in modalità di compatibilità virtuale

Utilizzare il comando vmkfstools per creare un file RDM (mappatura unità "raw") in un volume VMFS e mappare un LUN raw a questo file. Dopo aver stabilito questa mappatura, è possibile accedere al LUN come si farebbe con un normale disco virtuale VMFS. La lunghezza della mappatura è uguale alla dimensione del LUN raw a cui punta.

-r|--createrdm device

Quando si specifica il parametro device, utilizzare il formato seguente:

/vmfs/devices/disks/disk_ID:P

Esempio di creazione di una RDM in modalità di compatibilità virtuale

In questo esempio viene creato un file RDM denominato my_rdm.vmdk e il disco "raw" disk_ID viene mappato a tale file.

vmkfstools -r /vmfs/devices/disks/disk_ID my_rdm.vmdk

È possibile configurare una macchina virtuale per utilizzare il file di mappatura my_rdm.vmdk aggiungendo le seguenti righe al file di configurazione della macchina virtuale:

scsi0:0.present = TRUE 
scsi0:0.fileName = /vmfs/volumes/myVMFS/my_rdm.vmdk

Creazione di una mappatura dell'unità "raw" in modalità di compatibilità fisica

Utilizzare il comando vmkfstools per mappare un dispositivo passthrough raw a un file in un volume VMFS. Con la mappatura, una macchina virtuale può ignorare il filtro dei comandi SCSI ESXi quando accede al disco virtuale. Questo tipo di mappatura è utile quando la macchina virtuale deve inviare comandi SCSI proprietari, ad esempio quando nella macchina virtuale è in esecuzione un software che supporta la SAN.

-z|--createrdmpassthru device example.vmdk

Dopo aver stabilito questo tipo di mappatura, è possibile utilizzarla per accedere al disco "raw" quando si accede a qualsiasi altro disco virtuale VMFS.

Quando si specifica il percorso device, utilizzare il formato seguente:

/vmfs/devices/disks/device_ID 

Per il nome .vmdk, utilizzare questo formato. Assicurarsi di creare il datastore prima di utilizzare il comando.

/vmfs/volumes/datastore_name/example.vmdk 
Ad esempio,
vmkfstools -z /vmfs/devices/disks/naa.600a0000000000000... /vmfs/volumes/datastore1/mydisk.vmdk

Elenco degli attributi di un'RDM

Utilizzare il comando vmkfstools per elencare gli attributi di una mappatura disco "raw". Gli attributi consentono di identificare il dispositivo di storage su cui sono mappati i file RDM.

-q|--queryrdm my_rdm.vmdk

Questa opzione visualizza il nome del disco "raw" RDM. L'opzione visualizza anche altre informazioni di identificazione, come l'ID del disco, per il disco "raw".

Esempio di elenco di attributi RDM

# vmkfstools -q /vmfs/volumes/VMFS/my_vm/my_rdm.vmdk 

Disk /vmfs/volumes/VMFS/my_vm/my_rdm.vmdk is a Passthrough Raw Device Mapping 

Maps to: vml.020000000060050768019002077000000000000005323134352020 

Visualizzazione della geometria di un disco virtuale

Usare il comando vmkfstools per ottenere informazioni sulla modalità di gestione di un disco virtuale.

-g|--geometry

L'output è nella forma: Geometry information C/H/S, dove C rappresenta il numero di cilindri, H rappresenta il numero di teste e S rappresenta il numero di settori.

Nota: Quando si importano dischi virtuali da prodotti VMware ospitati nell'host ESXi, è possibile che venga visualizzato un messaggio di errore di mancata corrispondenza della geometria del disco. La mancata corrispondenza della geometria del disco potrebbe anche causare problemi quando si carica un sistema operativo guest o si esegue una macchina virtuale appena creata.

Verifica e riparazione dei dischi virtuali

Utilizzare il comando vmkfstools per verificare o riparare un disco virtuale se si danneggia.

-x|--fix [check|repair]

Ad esempio,

vmkfstools -x check /vmfs/volumes/my_datastore/my_disk.vmdk

Verifica della coerenza della catena di dischi

Utilizzare il comando vmkfstools per verificare l'intera catena di snapshot. È possibile determinare se uno dei link della catena è danneggiato o se esistono relazioni padre-figlio non valide.

-e|--chainConsistent