在工作中由于同事疏忽,给虚拟机添加磁盘的格式选为厚置备,导致虚拟机直接占用大量磁盘空间。以下介绍一个将厚置备转为精简置备的方法,实测可行。

厚置备转精简置备的方法有好几个,官方介绍的通过“迁移”,“克隆”等方法太费时间。相比来说,使用vmkfstools工具又简单又快捷。

一、ESXI7开启SSH 
二、使用Xshell6连接服务器
三、转换磁盘 
四、修改配置
五、写在后面

一、ESXI7开启SSH服务

如果你能登录服务器的web控制台,那么可以在 控制台-管理-服务 中打开TSMTSM-SSH服务。

如果你不能够登录服务器的web控制台,那么可以在服务器上接入显示器及键盘,按F2进入系统界面,输入root及密码进入配置中心,选择Select and enter Troubleshooting Options,找到SSH的选项,回车,使服务变为enable。

注意:在ESXI6的版本也可以使用vSphere连接服务器,但是在7以上的系统中已经被弃用了。

二、使用Xshell6连接服务器

为什么强调 要使用Xshell6 来连接服务器呢,因为使用Xshell5连接会报错“服务器发送了一个意外的数据包”

esxi 存储硬盘灰色 esxi 硬盘模式 从属_esxi 存储硬盘灰色


具体原因不详,如果你去百度,基本都会说修改/etc/ssh/sshd_config文件,但实测安装Xshell6连接就不会报错。如果有大神知道怎么回事,欢迎交流。

三、转换磁盘

首先确认虚拟机已经关闭!!!

找到虚拟机文件存储的位置,如:/vmfs/volumes/datastore2/V3-WEB/, 使用vmkfstools工具进行转换:

vmkfstools -i VM名称.vmdk -d thin <VM名称新磁盘>.vmdk

在目录中会有两个.vmdk文件,查看大小可发现,V3-EB-flat.vmdk文件足有1000G,而V3-EB.vmdk是描述性文件,进行转换就要改写V3-EB.vmdk文件,所以命令为:

vmkfstools -i V3-EB_1.vmdk -d thin V3-EB_2.vmdk

等进度条跑完,会发现目录下多了俩个文件:V3-EB_2.vmdkV3-EB_2-flat.vmdk,并且-flat.vmdk文件缩小到了几十G。

四、修改配置

直接使用替换文件的方法替换文件:

mv V3-EB_1.vmdk V3-EB_1.vmdk_bak
mv V3-EB_1-flat.vmdk V3-EB_1-flat.vmdk_bak
mv V3-EB_2.vmdk V3-EB_1.vmdk
mv V3-EB_2-flat.vmdk V3-EB_1-flat.vmdk

注意:替换完之后需要修改V3-EB_1.vmdk文件,将文件名进行对应:

RW 2097152000 VMFS "V3-EB_2-flat.vmdk"
修改为:
RW 2097152000 VMFS "V3-EB_1-flat.vmdk"

如果现在启动虚拟机,会发现磁盘还是厚置备,需要将原虚拟机‘取消注册’,然后重新注册一个虚拟机。

回到虚拟机界面,右键 “V3-EB” 虚拟机,点击取消注册 然后到存储→datastore2→数据存储浏览器→V3-EB→V3-EB.vmx,右键选择注册虚拟机,重新注册即可。
到虚拟机管理,即可看到磁盘2已经是精简置备了。

五、写在后面

1、使用Xshell6以上版本连接ESXI7

2、将-flat.vmdk文件转换并替换之后,记得修改.vmdx文件,不然启动虚拟机会报错找不到vmdx文件

3、需要将虚拟机 “取消注册” 之后重新 “注册虚拟机”

4、文件操作请保证虚拟机已处于关闭状态

5、欢迎交流、指正。如果觉得有用,点个赞吧