首页 > 代码库 > ESXI虚拟机厚置备延迟置零转换为Thin Provision方法
ESXI虚拟机厚置备延迟置零转换为Thin Provision方法
最近有博友提出一个需求,他们公司的服务器磁盘空间不足了,现在无法正常创建虚拟机,其实并没有使用到这么多空间,只是因为划了这么多空间给虚拟机,所以造成磁盘空间不足,那么是否有什么解决的方法了?详细了解发现虚拟机在配置磁盘的时候设置的是厚置备延迟置零。其实厚置备延迟置零与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、删除原有虚拟磁盘即可;
本文出自 “系统运维【SystemDevOps】” 博客,谢绝转载!
ESXI虚拟机厚置备延迟置零转换为Thin Provision方法