本文来自:https://blog.csdn.net/wangjingkaibear/article/details/77097041

用ESXi做虚拟化,创建了一个原始虚拟机并安装好系统做好基本设置,使用ESXi的web界面复制虚拟机,结果后来发现复制出来的都是厚置备,导致占用大量空间。

网上找到一篇教程,但不够清晰,遂有此文。

首先要通过ssh连接虚拟机。

0.删除需要转换磁盘的虚拟机所有的快照(确保转移的成功),并且关闭虚拟机【此步骤是参考的文章里说的】

1.在ESXi的Web页面的【主机】页打开ssh功能。

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

2.使用ssh工具连接虚拟机,可以使用PuTTY,之前用XShell死活连不上

3.进入存放虚拟机的目录,然后进入要转换的虚拟机的目录

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

4.输入“ls -lh”,可以看到有一个很小的vmdk和一个带-flat的体积较大的vmdk,实际上数据是存储在大的那个里,小的是信息。

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

5.输入“vmkfstools -i centos-original_0.vmdk -d thin centos-original_0_new.vmdk”开始转换,中间-d thin的参数是关键

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

6.再次输入“ls -lh”就能看到多了一个centos-original_0_new.vmdk和一个centos-original_0_new-flat.vmdk

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

7.输入

“mv centos-original_0.vmdk centos-original_0.vmdk.bak”

“mv centos-original_0-flat.vmdk centos-original_0-flat.vmdk.bak”

备份原来的vmdk

8.输入

“mv centos-original_0_new.vmdk centos-original_0.vmdk”

“mv centos-original_0_new-flat.vmdk centos-original_0-flat.vmdk”

将新建的vmdk改为原来的vmdk的名字

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

9.输入“vi centos-original_0.vmdk”编辑它。将红框这一行的文件名改成“centos-original_0-flat.vmdk”。保存。

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

10.这时候先不要开机,先在ESXi的【虚拟机】页面取消注册这个虚拟机

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

11.重新注册虚拟机。

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

12.这时候点进去看信息,可以看到已经是精简置备的状态了

ESXi6.5中将虚拟机从厚置备转换为精简置备-LMLPHP

05-11 08:38