這篇文章主要介紹虛擬磁盤工具vmkfstools怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司溝通電話:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域十余年,包括成都墻體彩繪等多個(gè)領(lǐng)域擁有豐富的營銷推廣經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為網(wǎng)站錦上添花!
一、 虛擬磁盤類型
厚置備延遲置零 //默認(rèn)選項(xiàng)
創(chuàng)建過程中為虛擬磁盤分配所需空間。創(chuàng)建時(shí)不會擦除物理設(shè)備上保留的任何數(shù)據(jù),但是以后從虛擬機(jī)首次執(zhí)行寫操作時(shí)會按需要將其置零
2.厚置備置零
創(chuàng)建支持群集功能的厚磁盤。在創(chuàng)建時(shí)為虛擬磁盤分配所需的空間。創(chuàng)建中會將物理設(shè)備上保留數(shù)據(jù)置零。創(chuàng)建所需的時(shí)間可能會比創(chuàng)建其他類型的磁盤長。
3.精簡置備
使用該磁盤最初所需要的數(shù)據(jù)存儲空間。如果以后精簡磁盤需要更多空間,則它可以增長到為其分配的最大容量。
二、 vmkfstools 操作實(shí)例
操作前請先關(guān)閉虛擬機(jī),打開ESXI配置里的安全配置文件里的 ssh 服務(wù),并需要登陸到ESXI,輸入用戶名及密碼。
1 虛擬磁盤類型轉(zhuǎn)換,thick to thin
vmkfstools 命令格式
# vmkfstools -i
參數(shù)解釋:
-i
-d {thin|thick}
1.1 進(jìn)入虛擬機(jī)所在的datastore目錄,每個(gè)目錄為一個(gè)虛擬機(jī)
# cd /vmfs/volumes/datastore1
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # ls
cobbler-5.85 converter-two-57.72 datanode2-57.78
1.2 此次轉(zhuǎn)換的虛擬機(jī)為converter-two-57.72,進(jìn)入該虛擬機(jī)目錄
/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
1.3 轉(zhuǎn)換過程中需要用到的文件是vmdk磁盤文件,vmdk有兩種,一種是“虛擬機(jī)名.vmdk”,vmdk文件很小,存放了虛擬磁盤的一些配置信息(如虛擬磁盤數(shù)據(jù)文件等);另一種是“虛擬機(jī)名-flat.vmdk”,實(shí)際數(shù)據(jù)都存放在flat.vmdk文件中,轉(zhuǎn)換時(shí)需要使用vmdk文件而不是flat.vmdk文件。
1.4 開始轉(zhuǎn)換過程
A:使用vmkfstools將厚模式的vmdk文件克隆為精簡的vmdk磁盤文件,轉(zhuǎn)換后將生成兩個(gè)新的vmdk和flat.vmdk文件
/vmfs/..../converter-two-57.72 # vmkfstools -i converter-two.vmdk -d thin converter-two_new.vmdk
/vmfs/..../converter-two-57.72 # du -sh *
20.0G converter-two-flat.vmdk
64.0k converter-two.vmdk
64.0k converter-two.vmx
64.0k converter-two.vmxf
7.9G converter-two_new-flat.vmdk
64.0k converter-two_new.vmdk
B:將原來的厚模式磁盤文件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
C:將新生成的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
D:編輯 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"
E:啟動虛擬機(jī)檢查是否工作正常,對比精簡置備與厚置備大小
/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
1.5其它方式
精簡置備轉(zhuǎn)換至厚置備置零:
vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk
厚置備延遲置零轉(zhuǎn)換至厚置備置零:
vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk
2 更改虛擬磁盤(vmdk)大小
要特別注意的是,如果此虛擬機(jī)已有快照,請先刪除所有快照在執(zhí)行以下操作,否則這個(gè)VMDK將出錯(cuò),內(nèi)部的資料丟失。
2.1 vmkfstools 命令格式
vmkfstools -X [新的大小] [目的vmdk文件]
2.2 當(dāng)前虛擬機(jī)虛擬磁盤大小
[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 關(guān)閉虛擬機(jī),登陸ESXI 調(diào)整虛擬磁盤大小
/converter-two-57.72 # vmkfstools -X 40g converter-two.vmdk
2.4 開啟虛擬機(jī),驗(yàn)證虛擬磁盤大小
[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 命令參數(shù)
/bin # vmkfstools
vmkfstools -C --createfs vmfs3
-b --blocksize #[mMkK]
-S --setfsname fsName
-Z --spanfs span-partition
-G --growfs grown-partition
問題補(bǔ)充:
給虛機(jī)VM1精簡配置了1TB空間,經(jīng)過長期的運(yùn)行,現(xiàn)在在VM1的windows系統(tǒng)里看到數(shù)據(jù)只有200GB左右,但是vmdk文件已有1TB。我覺得,形成的原因是精簡配置只增長不收縮。
解決:
通過Storage vMotion在同一文件系統(tǒng)且磁盤區(qū)塊大小一樣的存儲之間是無法回收膨脹的Thin Provision的VMDK空間的。因?yàn)镹TFS文件系統(tǒng)的機(jī)制,被寫入過的文件即使將文件刪除系統(tǒng)也不會將磁盤區(qū)塊置零,下次再寫入數(shù)據(jù)只會優(yōu)先操作標(biāo)記為零的區(qū)塊來寫。目前比較簡單方便的方法是,在VM上下載一個(gè)SDelete.exe的程序,然后用cmd運(yùn)行,參數(shù)用-z,這個(gè)參數(shù)是將那些被寫入過數(shù)據(jù)的區(qū)塊標(biāo)記為零,并且是針對虛擬機(jī)使用,在物理機(jī)上這個(gè)參數(shù)無效。格式如:sdelete.exe -z c:,運(yùn)行過程比較慢,耐心等待,期間在操作系統(tǒng)中會看見你的磁盤會被占滿,等運(yùn)行完成后又會回到正常的容量。
命令運(yùn)行完成后,用SSH連接到ESXi主機(jī)上進(jìn)到需要回收空間的.vmdk目錄下,運(yùn)行vmkfstools工具,參數(shù)用-K(因?yàn)镋SXi主機(jī)是Linux的底層OS所以注意大小寫),如vmkfstools -K VirtualMachine.vmdk,然后等運(yùn)行完成后就能夠成功回收膨脹的Thin Provision空間了。
該方法僅限于Windows系統(tǒng),Linux和其他非NTFS文件系統(tǒng)目前我還沒找到回收的方法。
附上測試圖一張(回收空間之前我的vCenter Server.vmdk的占用空間是96.0GB):
以上是“虛擬磁盤工具vmkfstools怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!