VMware ESXI 虛擬磁盤工具 - vmkfstools轉換磁盤類型

本文轉自:http://dngood.blog.51cto.com/446195/785770/

在介紹 vmkfstools 如何使用之前,需要先了解下 vmware 虛擬磁盤的類型:

一 虛擬磁盤類型


使用vSphere Client創建新的虛擬機在選擇虛擬磁盤類型時,將會出現以下三個選項:
                                                          
厚置備延遲置零 (zeroed thick) //默認選項
厚置備置零    (eager zeroed thick)
精簡置備      (thin)
                                                          
厚置備延遲置零:以默認的厚格式創建虛擬磁盤。創建過程中爲虛擬磁盤分配所需空間。
創建時不會擦除物理設備上保留的任何數據,
但是以後從虛擬機首次執行寫操作時會按需要將其置零。
                                                          
厚置備置零:創建支持羣集功能(如 Fault Tolerance)的厚磁盤。
在創建時爲虛擬磁盤分配所需的空間。
與平面格式相反,在創建過程中會將物理設備上保留的數據置零。創建這種格式的磁盤所需的時間可能會比創建其他類型的磁盤長。
                                                          
精簡置備:使用精簡置備格式。最初,精簡置備的磁盤只使用該磁盤最初所需要的數據存儲空間。如果以後精簡磁盤需要更多空間,
則它可以增長到爲其分配的最大容量。


二 vmkfstools 操作實例

注意事項:
操作前請先關閉虛擬機
操作前需要打開ESXI ssh 服務,並需要登陸到ESXI

1 虛擬磁盤類型轉換,thick to thin

vmkfstools 命令格式
# vmkfstools -i<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk>
參數解釋:
-i <source-disk-name.vmdk>參數:原vmdk磁盤名
-d {thin|thick}<destination-disk-name.vmdk> :目標磁盤的格式,thin或thick; <destination-disk-name.vmdk>爲要生成的目標vmdk磁盤名;
                                               
1.1 進入虛擬機所在的datastore目錄,每個目錄爲一個虛擬機
~ # cd /vmfs/volumes/datastore1
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # ls
cobbler-5.85          converter-two-57.72   datanode2-57.78
converter-four-57.74  converter-win-xp      ovf-cos-5.7
                                               
1.2 此次轉換的虛擬機爲converter-two-57.72,進入該虛擬機目錄
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # cd converter-two-57.72/
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404/converter-two-57.72 # du -sh *
20.0G   converter-two-flat.vmdk
64.0k   converter-two.nvram
64.0k   converter-two.vmdk
0   converter-two.vmsd
64.0k   converter-two.vmx
64.0k   converter-two.vmxf
64.0k   vmware-4.log
1.0M    vmware-5.log
1.0M    vmware-6.log
1.0M    vmware-7.log
1.0M    vmware-8.log
64.0k   vmware-9.log
64.0k   vmware.log
                                               
                                               
1.3 需要注意:轉換過程中需要用到的文件是vmdk磁盤文件,vmdk有兩種,一種是”虛擬機名.vmdk”,另一種是”虛擬機名-flat.vmdk”,vmdk文件很小,
存放了虛擬磁盤的一些配置信息(如虛擬磁盤數據文件等),實際數據都存放在flat.vmdk文件中,轉換時需要使用vmdk文件而不是flat.vmdk文件
                                               
1.4 開始轉換
1.4.1 使用vmkfstools將厚模式的vmdk文件克隆爲精簡的vmdk磁盤文件,轉換磁盤完成後將生成兩個新的vmdk和flat.vmdk文件
/vmfs/..../converter-two-57.72 # vmkfstools -i converter-two.vmdk  -d thin converter-two_new.vmdk
Destination disk format: VMFS thin-provisioned
Cloning disk 'converter-two.vmdk'...
Clone: 100% done.
                                               
/vmfs/..../converter-two-57.72 # du -sh *
20.0G   converter-two-flat.vmdk
64.0k   converter-two.nvram
64.0k   converter-two.vmdk
0   converter-two.vmsd
64.0k   converter-two.vmx
64.0k   converter-two.vmxf
7.9G    converter-two_new-flat.vmdk
64.0k   converter-two_new.vmdk
64.0k   vmware-4.log
1.0M    vmware-5.log
1.0M    vmware-6.log
1.0M    vmware-7.log
1.0M    vmware-8.log
64.0k   vmware-9.log
64.0k   vmware.log
                                               
1.4.2 將原來的厚模式磁盤文件vmdk和flat.vmdk文件備份
/vmfs/..../converter-two-57.72 # mv converter-two.vmdk converter-two_old.vmdk
/vmfs/..../converter-two-57.72 # mv converter-two-flat.vmdk converter-two-flat_old.vmdk
                                               
1.4.3 將新生成的vmdk和flat.vmdk磁盤文件分別重命名爲原有磁盤名稱
/vmfs/..../converter-two-57.72 # mv converter-two_new.vmdk converter-two.vmdk   
/vmfs/..../converter-two-57.72 # mv converter-two_new-flat.vmdk converter-two-flat.vmdk
                                               
1.4.4 編輯 vmdk 文件,確保 # Extent description "converter-two-flat.vmdk" 爲原有磁盤名稱
/vmfs/..../converter-two-57.72 # cat converter-two.vmdk
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=9cad19cd
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"
                                               
# Extent description
RW 41932416 VMFS "converter-two_new-flat.vmdk"
                                               
# The Disk Data Base
#DDB
                                               
ddb.deletable = "true"
ddb.toolsVersion = "0"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63"
ddb.geometry.biosCylinders = "2610"
ddb.virtualHWVersion = "7"
ddb.longContentID = "364b422b2ceb3f6f0a4e88d09cad19cd"
ddb.uuid = "60 00 C2 94 89 93 59 2c-d9 22 d3 e4 e6 b3 a4 22"
ddb.geometry.cylinders = "2610"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.thinProvisioned = "1"
ddb.adapterType = "lsilogic"
                                               
1.4.5 啓動虛擬機檢查是否工作正常,對比精簡置備與厚置備大小
/vmfs/..../converter-two-57.72 # du -sh *500.0M converter-two-326dc793.vswp
7.9G    converter-two-flat.vmdk
20.0G   converter-two-flat_old.vmdk
64.0k   converter-two.nvram
64.0k   converter-two.vmdk
0   converter-two.vmsd
64.0k   converter-two.vmx
64.0k   converter-two.vmxf
64.0k   converter-two_old.vmdk
64.0k   vmware-10.log
64.0k   vmware-11.log
1.0M    vmware-6.log
1.0M    vmware-7.log
1.0M    vmware-8.log
64.0k   vmware-9.log
64.0k   vmware.log
                                               
1.5 其它方式
精簡置備轉換至厚置備置零:
vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk
厚置備延遲置零轉換至厚置備置零:
vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk

2 更改虛擬磁盤(vmdk)大小

要特別注意的是,如果此虛擬機已有快照,請先刪除所有快照在執行以下操作,否則這個VMDK將出錯,內部的資料丟失!!!!

2.1 vmkfstools 命令格式
vmkfstools -X [新的大小] [目的vmdk文件]
2.2 當前虛擬機虛擬磁盤大小
[root@bz-cl2 ~]# fdisk -l /dev/sda
                              
Disk /dev/sda: 21.4 GB, 21469396992 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
                              
2.3 關閉虛擬機,登陸ESXI 調整虛擬磁盤大小
/vmfs/..../converter-two-57.72 # vmkfstools -X 40g converter-two.vmdk
                              
2.4 開啓虛擬機,驗證虛擬磁盤大小
[root@bz-cl2 ~]# fdisk -l /dev/sda
                              
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


參考
http://vaemon.com/article/910.html
http://hi.baidu.com/googleu/blog/item/53763832002b8ae61a4cffc1.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章