vSphere怎样回收虚拟机“精简配置”的磁盘空间

很负责的告诉题主,通过Storage vMotion在同一文件系统且磁盘区块大小一样的存储之间是无法回收膨胀的Thin Provision的VMDK空间的。因为NTFS文件系统的机制,被写入过的文件即使将文件删除系统也不会将磁盘区块置零,下次再写入数据只会优先操作标记为零的区块来写。目前比较简单方便的方法是,在VM上下载一个SDelete.exe的程序,然后用cmd运行,参数用-z,这个参数是将那些被写入过数据的区块标记为零,并且是针对虚拟机使用,在物理机上这个参数无效。格式如:sdelete.exe -z c:,运行过程比较慢,耐心等待,期间在操作系统中会看见你的磁盘会被占满,等运行完成后又会回到正常的容量。命令运行完成后,用SSH连接到ESXi主机上进到需要回收空间的.vmdk目录下,运行vmkfstools工具,参数用-K(因为ESXi主机是Linux的底层OS所以注意大小写),如vmkfstools -K VirtualMachine.vmdk,然后等运行完成后就能够成功回收膨胀的Thin Provision空间了。该方法仅限于Windows系统,Linux和其他非NTFS文件系统目前我还没找到回收的方法。附上测试图一张(回收空间之前我的vCenter Server.vmdk的占用空间是96.0GB):vSphere怎样回收虚拟机“精简配置”的磁盘空间
【vSphere怎样回收虚拟机“精简配置”的磁盘空间】

■网友
我来回答你第2个问题。你的 VMware Tools 点开后只有“关于”,而远程看到客户的 VMware Tools 点开后有操作选项,是因为你安装的 VMware Tools 比客户的 VMware Tools 的版本要新。出于安全考虑,VMware 把 VMware Tools 界面的操作选项都“隐藏”起来了。你依然可以通过命令行来完成之前通过界面菜单完成的任务。
■网友
使用迁移的办法来实现压缩,目前好像比较官方的方法还有一种,你把vmdk取出,使用diskgenius,创建个新vmdsk,然后进行克隆硬盘的操作,选择 按文件复制 。
■网友
手头刚好有收缩虚拟机空间的文档,希望可以帮到大家。http://pan.baidu.com/s/1mg7lJPQ 提取码: dq57
■网友
楼上方法好!学习了,谢谢!
■网友
标准做法:Storage vMotion,向导中会让你选择磁盘类型。这个回收类似于整理磁盘碎片。。。


    推荐阅读