最近有博友提出一個需求,他們公司的服務器磁盤空間不足了,現在無法正常創建虛擬機,其實並沒有使用到這麼多空間,只是因爲劃了這麼多空間給虛擬機,所以造成磁盤空間不足,那麼是否有什麼解決的方法了?詳細瞭解發現虛擬機在配置磁盤的時候設置的是厚置備延遲置零。其實厚置備延遲置零與Thin Provision在性能上是有一定的區別,但對於業務並非100%高性能的系統來說,兩者並不會產生太大的區別,這時候對於這種磁盤空間不足我們可以通過將對應的虛擬機磁盤轉換成Thin Provision來解決此問題;
下面我們來實戰一下怎麼樣進行磁盤轉換;
1、刪除需要轉換磁盤的虛擬機所有的快照(確保轉移的成功);
2、確認需轉換磁盤的虛擬機所使用的磁盤空間大小(使用空間大小爲:9GB左右);
3、確認物理存儲空間是否有足夠的空間進行磁盤空間轉換,可用空間159GB(根據虛擬機所使用空間及物理存儲所可用空間進行計算空間是否足夠,即:物理存儲可用空間-虛擬機已使用空間>0,159-9=150GB>0);
4、SSH連接到ESXI底層,進入對應的虛擬機目錄,查看虛擬機使用空間大小;
~ # cd /vmfs/volumes/ /vmfs/volumes # ls 10280e7d-6a55e3ca-df6d-5fd26550c289 514c46ac-84ef6c38-36f8-6cae8b265432 55c4803c-50844520-b188-6cae8b265432 36ad1971-2282b36e-d514-51bcd142b10c 514c46ba-f61109d4-588a-6cae8b265432 55d5967d-3db0943c-8bed-6cae8b265432 514c4668-d52067b8-35c7-6cae8b265432 52948201-5cebf63e-914e-6cae8b265432 DS5020_800G ESXILun5_NetApp MSQL_DBBAK datastore1 /vmfs/volumes # cd DS5020_800G /vmfs/volumes/55d5967d-3db0943c-8bed-6cae8b265432 # pwd /vmfs/volumes/DS5020_800G
5、進行轉換磁盤空間
10點14分開始轉換40GB的虛擬機磁盤,10點17分轉換完成,用時3分鐘;
# vmkfstools -i Win2012R2-MoBan.vmdk -d thin Win2012R2-MoBan_new.vmdk Destination disk format: VMFS thin-provisioned Cloning disk 'Win2012R2-MoBan.vmdk'... Clone: 100% done.
6、進行虛擬機磁盤置換
# du -sh * 40.0G Win2012R2-MoBan-flat.vmdk 1.0M Win2012R2-MoBan.nvram 0 Win2012R2-MoBan.vmdk 0 Win2012R2-MoBan.vmsd 8.0K Win2012R2-MoBan.vmx 0 Win2012R2-MoBan.vmxf 7.7G Win2012R2-MoBan_new-flat.vmdk 0 Win2012R2-MoBan_new.vmdk 1.0M vmware.log # mv Win2012R2-MoBan-flat.vmdk Win2012R2-MoBan-flat.vmdk.bak # mv Win2012R2-MoBan.vmdk Win2012R2-MoBan.vmdk.bak # mv Win2012R2-MoBan_new-flat.vmdk Win2012R2-MoBan-flat.vmdk # mv Win2012R2-MoBan_new.vmdk Win2012R2-MoBan.vmdk
7、修改VMDK虛擬機磁盤配置文件
修改最新虛擬機配置文件Win2012R2-MoBan.vmdk的RW 83886080 VMFS "Win2012R2-MoBan_new-flat.vmdk"爲Win2012R2-MoBan.vmdk.bak的RW 83886080 VMFS "Win2012R2-MoBan-flat.vmdk"
# more Win2012R2-MoBan.vmdk.bak # Disk DescriptorFile version=1 encoding="UTF-8" CID=976e78ac parentCID=ffffffff isNativeSnapshot="no" createType="vmfs" # Extent description RW 83886080 VMFS "Win2012R2-MoBan-flat.vmdk" # The Disk Data Base #DDB ddb.deletable = "true" ddb.toolsVersion = "9216" ddb.virtualHWVersion = "8" ddb.longContentID = "20213abdb6a45c24c39c3d02976e78ac" ddb.uuid = "60 00 C2 9c 54 0c d7 f3-d6 27 5a 9d 68 d4 3f ba" ddb.geometry.cylinders = "5221" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic" # more Win2012R2-MoBan.vmdk # Disk DescriptorFile version=1 encoding="UTF-8" CID=976e78ac parentCID=ffffffff isNativeSnapshot="no" createType="vmfs" # Extent description RW 83886080 VMFS "Win2012R2-MoBan_new-flat.vmdk" # The Disk Data Base #DDB ddb.deletable = "true" ddb.toolsVersion = "9216" ddb.virtualHWVersion = "8" ddb.longContentID = "20213abdb6a45c24c39c3d02976e78ac" ddb.uuid = "60 00 C2 9e 56 5c ca 5d-15 55 35 7d 52 d8 d2 05" ddb.geometry.cylinders = "5221" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.thinProvisioned = "1" ddb.adapterType = "lsilogic"
8、啓動系統即可;
9、刪除原有虛擬磁盤即可;