实验室新到了一台esxi服务器,但是供货商安装的系统磁盘用的厚置备,现在需要转换一下省点空间方便备份,否则厚置备500G的系统全量往机械盘冷备份太慢了o(╥﹏╥)o,从网上找了个视频教程,整理成文档方便后续直接复制指令。

教程参考视频:ESXi存储空间不够用?试试这个方法吧!虚拟硬盘置备模式转换教程~ - YouTube,解释了精简置备和厚置备的切换方法,这里我只需要厚置备转精简置备即可。

预备措施

请先确保以下操作已经完成:

  • 待更改的虚拟机已经关机
  • 删除所有快照
  • ESXI已经置于维护模式
  • 剩余的存储空间要大于待转换的磁盘文件大小(要用个临时文件,大小和待转换的vmdk大小相同)

精简置备—->厚置备、置零

精简置备转厚置备是最简单的,只需要在数据存储浏览器-虚拟机目录下-xxx.vmdk右键,点击扩充硬盘即可

image-20260912000552013

扩充完之后重启esxi,即可将磁盘改成厚置备。

厚置备、延迟置零—->厚置备、置零

使用vmkfstools命令进行切换:

image-20260912001357770

1
vmkfstools -k/vmfs/volumes/6a9fd-xxxxx-4f04/ubuntu22.04/ubuntu22.04.vmdk

vmkfstools是磁盘管理指令

-k是参数

/vmfs/volumes/6a9fd-xxxxx-4f04/ubuntu22.04/ubuntu22.04.vmdk 是你要改的磁盘的真实地址,盘的地址可以在存储里看,然后再跟上磁盘文件的目录就行

image-20260912001756699

扩充完之后重启esxi,即可将磁盘改成厚置备、置零。

厚置备—->精简置备

该转换方法原理是新建一个精简置备的vmdk 然后再把原来的删掉,之后在重命名即可。

  1. 可以看到现在磁盘还是厚置备。
    image-20260912004303810

  2. 通过ssh进入后台的vmdk所在目录:

    1
    cd /vmfs/volumes/6a9fd-xxxxx-4f04/ubuntu22.04/
  3. 执行vmkfstools指令:

    1
    vmkfstools -i ubuntu22.04.vmdk -d thin ubuntu22.04_thin.vmdk

    -i ubuntu22.04.vmdk 是原磁盘文件

    -d thin ubuntu22.04_thin.vmdk 是新生成的磁盘文件

    thin表示生成一个精简置备的跳转硬盘,其他指令如下:
    image-20260912002717732

  4. 在web端数据存储浏览里头可以看到,精简置备的硬盘只有28G(实际数据大小)
    image-20260912002832576

  5. 删除原来的500Gvmdk文件,刷新之后会出来一个-flat.vmdk文件,需要一并删除
    image-20260912003133842
    image-20260912003201905

    .vmdk文件只是链接文件,是快捷方式,-flat.vmdk才是真正储存数据的地方

  6. 在ssh里头使用mv命令把新文件重命名成原来的

    1
    mv ubuntu22.04_thin.vmdk ubuntu22.04.vmdk
    1. 重命名只是重命名vmdk,-flat.vmdk的数据文件还是原来的
    2. ubuntu22.04.vmdk作为链接文件里头已经写明指向ubuntu22.04_thin-flat.vmdk了,所以ubuntu22.04_thin-flat.vmdk这个文件不能重命名

    image-20260912003911354

  7. 重启esxi,就可以看到磁盘变成精简置备了

    image-20260912005011837