虛擬磁碟選項可讓您設定、移轉和管理資料存放區中儲存的虛擬磁碟。您也可以透過 vSphere Client 執行其中大部分工作。

受支援的磁碟格式

建立或複製虛擬磁碟時,您可以使用 -d|--diskformat子選項來指定磁碟格式。

從下列格式選擇:

  • zeroedthick(預設值) - 虛擬磁碟所需的空間會在建立時加以配置。在建立過程中,保留在實體裝置中的所有資料都不會清除,但是從虛擬機器首次執行寫入操作時,您可按需要將這些資料歸零。虛擬機器不會從磁碟讀取失效的資料。
  • eagerzeroedthick- 虛擬磁碟所需的空間會在建立時加以配置。與zeroedthick格式相比,在建立過程中會將實體裝置上保留的資料歸零。建立此類格式的磁碟所需的時間可能會比建立其他類型的磁碟久得多。
  • thin- 精簡佈建的虛擬磁碟。與 thick格式不同,它在建立過程中不會為虛擬磁碟配置所需空間,僅會在需要時提供或歸零。
  • rdm:device – 虛擬相容模式原始磁碟對應。
  • rdmp:device – 實體相容模式 (傳遞) 原始磁碟對應。
  • 2gbsparse– 範圍大小上限為 2 GB 的疏鬆磁碟。您可以將此格式的磁碟與主控的 VMware 產品 (如 VMware Fusion) 搭配使用。但是,除非先使用 vmkfstools以相容的格式 (如 thickthin) 重新匯入磁碟,否則無法在 ESXi 主機上開啟疏鬆磁碟的電源。

NFS 資料存放區上的磁碟格式

對於 NFS 僅能使用 thinthickzeroedthick2gbsparse 磁碟格式。

Thickzeroedthickthin 格式通常具有相同的行為,因為決定配置原則的是 NFS 伺服器而非ESXi 主機。大多數 NFS 伺服器上的預設配置原則是thin。但是,在支援 Storage APIs - Array Integration 的 NFS 伺服器上,您可以zeroedthick格式建立虛擬磁碟。保留空間作業使 NFS 伺服器能夠配置和保證空間。

如需有關陣列整合 API 的詳細資訊,請參閱vSphere 中的儲存區硬體加速

建立虛擬磁碟

使用 vmkfstools命令可建立虛擬磁碟。

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

此選項將在資料存放區上的指定路徑建立虛擬磁碟。指定虛擬磁碟的大小。為 大小 輸入值時,請新增尾碼以指示其單位類型,例如 k (KB)、m (MB) 或g (GB)。單位類型不區分大小寫。vmkfstools會將 kK 的含義解譯為 KB。如果不指定單位類型,vmkfstools將預設為位元組。

您可以與 -c選項一同指定下列子選項。

  • -d|--diskformat指定磁碟格式。
  • -W|--objecttype會指定虛擬磁碟是 VMFS 或 NFS 資料存放區上的檔案,還是位於 vSANVirtual Volumes 資料存放區上的物件。
  • --policyFile fileName 會指定磁碟的虛擬機器儲存區原則。

建立虛擬磁碟的範例

此範例說明如何建立一個名為 disk.vmdk 的 2 GB 虛擬磁碟檔案。您要在名為myVMFS的 VMFS 資料存放區上建立該磁碟。此磁碟檔案代表虛擬機器可以存取的空白虛擬磁碟。

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

初始化虛擬磁碟

使用 vmkfstools 命令可初始化虛擬磁碟。

-w|--writezeros
此選項透過在虛擬磁碟的所有資料上寫入零來將其清空。完成此命令的時間可能較長,視虛擬磁碟的大小以及主控虛擬磁碟的裝置 I/O 頻寬而定。
備註: NFS 資料存放區不支援此命令。
注意: 使用此命令時,將遺失虛擬磁碟上的所有現有資料。

擴充精簡佈建的虛擬磁碟

使用 vmkfstools 命令可擴充精簡佈建的虛擬磁碟。

-j|--inflatedisk

此選項將 thin 虛擬磁碟轉換成 eagerzeroedthick,並保留所有現有資料。此選項對尚未配置的任何區塊進行配置和歸零。

將 Zeroedthick 虛擬磁碟轉換成 Eagerzeroedthick 磁碟

使用 vmkfstools 命令可將任何歸零完整虛擬磁碟轉換成積極式歸零完整磁碟。

-k|--eagerzero

在執行轉換時,此選項會保留虛擬磁碟上的任何資料。

遵循此範例:

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

移除歸零的區塊

使用 vmkfstools 命令移除歸零的區塊。

-K|--punchzero

此選項將取消配置所有歸零的區塊,並僅保留那些先前配置的且包含有效資料的區塊。得到的虛擬磁碟為精簡格式。

刪除虛擬磁碟

使用 vmkfstools 命令刪除 VMFS 磁碟區上指定路徑的虛擬磁碟檔案。

請使用以下選項:

-U|--deletevirtualdisk

重新命名虛擬磁碟

使用 vmkfstools 命令重新命名位於 VMFS 磁碟區上指定路徑的虛擬磁碟檔案。

您必須指定原始檔案名稱或檔案路徑 oldName,以及新檔案名稱或檔案路徑 newName

-E|--renamevirtualdisk oldNamenewName

複製或轉換虛擬磁碟或 RDM

使用 vmkfstools 命令建立您所指定之虛擬磁碟或原始磁碟的複本。

非根使用者無法複製虛擬磁碟或 RDM。您必須指定原始檔案名稱或檔案路徑 oldName,以及新檔案名稱或檔案路徑 newName

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

使用下列子選項變更您所建立之複本對應的參數。

  • -d|--diskformat指定磁碟格式。
  • -W|--objecttype會指定虛擬磁碟是 VMFS 或 NFS 資料存放區上的檔案,還是位於 vSANVirtual Volumes 資料存放區上的物件。
  • --policyFile fileName 會指定磁碟的虛擬機器儲存區原則。

依預設,ESXi使用其原生方法執行複製作業。如果您的陣列支援複製技術,則可以將作業卸載到陣列。若要避免 ESXi原生複製,請指定 -N|--avoidnativeclone 選項。

複製或轉換虛擬磁碟的範例

此範例說明如何將主要虛擬磁碟的內容從 templates存放庫複製到 myVMFS 檔案系統上名為 myOS.vmdk 的虛擬磁碟檔案中。

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

可以透過新增行到虛擬機器組態檔,來將虛擬機器設定為使用此虛擬磁碟,如下列範例所示:

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

如果您要轉換磁碟的格式,請使用 -d|--diskformat子選項。

當您使用與ESXi不相容的格式 (例如 2gbsparse 格式) 匯入虛擬磁碟時,這個子選項非常有用。轉換磁碟後,您可以將此磁碟連結到您在 ESXi中建立的新虛擬機器。

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

延伸虛擬磁碟

建立虛擬磁碟後,您可以使用 vmkfstools 命令延伸配置給虛擬機器的磁碟大小。

-X|--extendvirtualdisk newSize[bBsSkKmMgGtT]

指定 newSize 參數並新增適當的單位尾碼。單位類型不區分大小寫。vmkfstools 會將 kK 的含義解譯為 KB。如果不指定單位類型,vmkfstools 將預設為 KB。

newSize 參數將定義整個磁碟的大小,而不是磁碟新增的增量。

例如,若要將 4 G 的虛擬磁碟延伸 1 G,請輸入:vmkfstools -X 5gdisk name

透過使用 -d eagerzeroedthick 選項,可將虛擬磁碟延伸為 eagerzeroedthick 格式。

當您使用 -X 選項時,需考量下列事項:

  • 請勿延伸具有相關快照的虛擬機器的基礎磁碟。否則,您可能再也無法認可快照或將基礎磁碟還原為原始大小。
  • 延伸磁碟後,您可能需要更新磁碟上的檔案系統。因此,客體作業系統可識別新的磁碟大小並加以使用。

升級虛擬磁碟

此選項可將指定的虛擬磁碟檔案從 ESX Server 2 格式轉換成 ESXi 格式。

使用此選項轉換 LEGACYSPARSE、LEGACYPLAIN、LEGACYVMFS、LEGACYVMFS_SPARSE 和 LEGACYVMFS_RDM 類型的虛擬磁碟。

-M|--migratevirtualdisk

建立虛擬相容模式原始裝置對應

使用 vmkfstools 命令,在 VMFS 磁碟區上建立原始裝置對應 (RDM) 檔案,並將原始 LUN 對應至此檔案。建立此對應之後,您便可以如存取一般 VMFS 虛擬磁碟一樣存取 LUN。對應的檔案長度與其所指向的原始 LUN 的大小相同。

-r|--createrdm device

當指定 device 參數時,使用以下格式:

/vmfs/devices/disks/disk_ID:P

建立虛擬相容模式 RDM 的範例

在此範例中,建立名為 my_rdm.vmdk 的 RDM 檔案,並將 disk_ID 原始磁碟對應到該檔案。

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

透過將下列幾行新增到虛擬機器組態檔中,可以將虛擬機器設定為使用 my_rdm.vmdk 對應檔案:

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

建立實體相容模式原始裝置對應

使用 vmkfstools 命令將傳遞原始裝置對應至 VMFS 磁碟區上的一個檔案。透過此對應,虛擬機器在存取其虛擬磁碟時能夠略過 ESXi SCSI 命令篩選。當虛擬機器必須傳送專屬的 SCSI 命令時,例如當 SAN 感知軟體在虛擬機器中執行時,此類型的對應非常有用。

-z|--createrdmpassthru deviceexample.vmdk

建立此類型的對應後,便可使用該對應存取原始磁碟,如存取任何其他 VMFS 虛擬磁碟一般。

當指定 device 路徑時,請使用以下格式:

/vmfs/devices/disks/device_ID

針對 .vmdk 名稱,請使用此格式。在使用此命令之前,請務必先建立資料存放區。

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

列出 RDM 的屬性

使用 vmkfstools 命令列出原始磁碟對應的屬性。這些屬性可協助您識別您的 RDM 檔案所對應的儲存裝置。

-q|--queryrdm my_rdm.vmdk

此選項可列印原始磁碟 RDM 的名稱。此選項還可列印原始磁碟的其他識別資訊,例如磁碟識別碼。

列出 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 

顯示虛擬磁碟幾何

使用 vmkfstools 命令取得有關虛擬磁碟幾何的資訊。

-g|--geometry

輸出的格式如下:Geometry information C/H/S,其中 C 代表磁柱的數目,H 代表磁頭的數目,而 S 代表磁區的數目。

備註: 在將虛擬磁碟從主控的 VMware 產品匯入 ESXi 主機時,可能會看到磁碟幾何不符的錯誤訊息。磁碟幾何不符也可能會在您載入客體作業系統或執行新建立的虛擬機器時觸發問題。

檢查和修復虛擬磁碟

使用 vmkfstools 命令檢查或修復損毀的虛擬磁碟。

-x|--fix [check|repair]

例如,

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

檢查磁碟鏈結的一致性

使用 vmkfstools 命令檢查整個快照鏈結。可以判定磁碟鏈結中是否有損壞的連結或是否存在無效的父子關聯性。

-e|--chainConsistent