虛擬磁碟選項可讓您設定、移轉和管理資料存放區中儲存的虛擬磁碟。您也可以透過 vSphere Client 執行其中大部分工作。
受支援的磁碟格式
建立或複製虛擬磁碟時,您可以使用 -d|--diskformat
子選項來指定磁碟格式。
從下列格式選擇:
zeroedthick
(預設值) - 虛擬磁碟所需的空間會在建立時加以配置。在建立過程中,保留在實體裝置中的所有資料都不會清除,但是從虛擬機器首次執行寫入操作時,您可按需要將這些資料歸零。虛擬機器不會從磁碟讀取失效的資料。eagerzeroedthick
- 虛擬磁碟所需的空間會在建立時加以配置。與zeroedthick
格式相比,在建立過程中會將實體裝置上保留的資料歸零。建立此類格式的磁碟所需的時間可能會比建立其他類型的磁碟久得多。thin
- 精簡佈建的虛擬磁碟。與thick
格式不同,它在建立過程中不會為虛擬磁碟配置所需空間,僅會在需要時提供或歸零。rdm:
device – 虛擬相容模式原始磁碟對應。rdmp:
device – 實體相容模式 (傳遞) 原始磁碟對應。2gbsparse
– 範圍大小上限為 2 GB 的疏鬆磁碟。您可以將此格式的磁碟與主控的 VMware 產品 (如 VMware Fusion) 搭配使用。但是,除非先使用vmkfstools
以相容的格式 (如thick
或thin
) 重新匯入磁碟,否則無法在 ESXi 主機上開啟疏鬆磁碟的電源。
NFS 資料存放區上的磁碟格式
對於 NFS 僅能使用 thin
、thick
、zeroedthick
和 2gbsparse
磁碟格式。
Thick
、zeroedthick
和 thin
格式通常具有相同的行為,因為決定配置原則的是 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
會將 k
或K
的含義解譯為 KB。如果不指定單位類型,vmkfstools
將預設為位元組。
您可以與 -c
選項一同指定下列子選項。
-d|--diskformat
指定磁碟格式。-W|--objecttype
會指定虛擬磁碟是 VMFS 或 NFS 資料存放區上的檔案,還是位於 vSAN 或 Virtual Volumes 資料存放區上的物件。--policyFile fileName
會指定磁碟的虛擬機器儲存區原則。
建立虛擬磁碟的範例
此範例說明如何建立一個名為 disk.vmdk 的 2 GB 虛擬磁碟檔案。您要在名為myVMFS
的 VMFS 資料存放區上建立該磁碟。此磁碟檔案代表虛擬機器可以存取的空白虛擬磁碟。
vmkfstools -c 2048m /vmfs/volumes/myVMFS/disk.vmdk
初始化虛擬磁碟
使用 vmkfstools
命令可初始化虛擬磁碟。
-w|--writezeros
擴充精簡佈建的虛擬磁碟
使用 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 資料存放區上的檔案,還是位於 vSAN 或 Virtual 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
會將 k
或 K
的含義解譯為 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
代表磁區的數目。
檢查和修復虛擬磁碟
使用 vmkfstools 命令檢查或修復損毀的虛擬磁碟。
-x|--fix [check|repair]
例如,
vmkfstools -x check /vmfs/volumes/my_datastore/my_disk.vmdk
檢查磁碟鏈結的一致性
使用 vmkfstools 命令檢查整個快照鏈結。可以判定磁碟鏈結中是否有損壞的連結或是否存在無效的父子關聯性。
-e|--chainConsistent