天天看点

ESXI虚拟机厚置备延迟置零转换为Thin Provision方法

        最近有博友提出一个需求,他们公司的服务器磁盘空间不足了,现在无法正常创建虚拟机,其实并没有使用到这么多空间,只是因为划了这么多空间给虚拟机,所以造成磁盘空间不足,那么是否有什么解决的方法了?详细了解发现虚拟机在配置磁盘的时候设置的是厚置备延迟置零。其实厚置备延迟置零与Thin Provision在性能上是有一定的区别,但对于业务并非100%高性能的系统来说,两者并不会产生太大的区别,这时候对于这种磁盘空间不足我们可以通过将对应的虚拟机磁盘转换成Thin Provision来解决此问题;

下面我们来实战一下怎么样进行磁盘转换;

1、删除需要转换磁盘的虚拟机所有的快照(确保转移的成功);

ESXI虚拟机厚置备延迟置零转换为Thin Provision方法
2、确认需转换磁盘的虚拟机所使用的磁盘空间大小(使用空间大小为:9GB左右);
ESXI虚拟机厚置备延迟置零转换为Thin Provision方法
3、确认物理存储空间是否有足够的空间进行磁盘空间转换,可用空间159GB(根据虚拟机所使用空间及物理存储所可用空间进行计算空间是否足够,即:物理存储可用空间-虚拟机已使用空间>0,159-9=150GB>0);
ESXI虚拟机厚置备延迟置零转换为Thin Provision方法
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"      

继续阅读