在介紹 vmkfstools 如何使用以前,須要先了解下 vmware 虛擬磁盤的類型:html
一 虛擬磁盤類型 node
- 使用vSphere Client建立新的虛擬機在選擇虛擬磁盤類型時,將會出現如下三個選項:
- 厚置備延遲置零 (zeroed thick) //默認選項
- 厚置備置零 (eager zeroed thick)
- 精簡置備 (thin)
- 厚置備延遲置零:以默認的厚格式建立虛擬磁盤。建立過程當中爲虛擬磁盤分配所需空間。建立時不會擦除物理設備上保留的任何數據,
- 可是之後從虛擬機首次執行寫操做時會按須要將其置零。
- 厚置備置零:建立支持羣集功能(如 Fault Tolerance)的厚磁盤。在建立時爲虛擬磁盤分配所需的空間。
- 與平面格式相反,在建立過程當中會將物理設備上保留的數據置零。建立這種格式的磁盤所需的時間可能會比建立其餘類型的磁盤長。
- 精簡置備:使用精簡置備格式。最初,精簡置備的磁盤只使用該磁盤最初所須要的數據存儲空間。若是之後精簡磁盤須要更多空間,
- 則它能夠增加到爲其分配的最大容量。
二 vmkfstools 操做實例ios
注意事項:
操做前請先關閉虛擬機
操做前須要打開ESXI ssh 服務,並須要登錄到ESXI
用戶名:root
密碼:使用vSphere Client登陸ESX/ESXi的密碼ssh
- 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
三 vmkfstools 命令參數ide
- /bin # vmkfstools
- No valid command specified
- OPTIONS FOR FILE SYSTEMS:
- vmkfstools -C --createfs vmfs3
- -b --blocksize #[mMkK]
- -S --setfsname fsName
- -Z --spanfs span-partition
- -G --growfs grown-partition
- deviceName
- -P --queryfs -h --humanreadable
- -T --upgradevmfs
- vmfsPath
- OPTIONS FOR VIRTUAL DISKS:
- vmkfstools -c --createvirtualdisk #[gGmMkK]
- -d --diskformat [zeroedthick|
- thin|
- eagerzeroedthick]
- -a --adaptertype [buslogic|lsilogic|ide]
- -w --writezeros
- -j --inflatedisk
- -k --eagerzero
- -K --punchzero
- -U --deletevirtualdisk
- -E --renamevirtualdisk srcDisk
- -i --clonevirtualdisk srcDisk
- -d --diskformat [zeroedthick|
- thin|
- eagerzeroedthick|
- rdm:<device>|rdmp:<device>|
- 2gbsparse]
- -X --extendvirtualdisk #[gGmMkK]
- [-d --diskformat eagerzeroedthick]
- -r --createrdm /vmfs/devices/disks/...
- -q --queryrdm
- -z --createrdmpassthru /vmfs/devices/disks/...
- -v --verbose #
- -g --geometry
- -x --fix [check|repair]
- vmfsPath
- OPTIONS FOR DEVICES:
- -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv] /vmfs/devices/disks/...
- -B --breaklock /vmfs/devices/disks/...
參考
http://vaemon.com/article/910.html
http://hi.baidu.com/googleu/blog/item/53763832002b8ae61a4cffc1.htmlui
結束google
若有問題歡迎到此討論 37275208spa