如何从虚拟机内部检测 VMware 快照的存在?

如何从虚拟机内部检测 VMware 快照的存在?

我想fstrim在虚拟机中的文件系统上执行 Linux 或 Windows degrag retrim 以缩小 VMware vSphere 精简磁盘。但是这应该执行仅有的如果不存在快照,则对快照文件系统进行 fstrim 将导致其在 VMware vSphere 精简磁盘上增长到最大大小。

限制:VM 客户操作系统无法访问 vSphere/vCenter 管理界面。

有没有办法从 VM 客户操作系统中检测快照的存在 - 例如通过 VMware 工具?

答案1

:有没有办法从 VM 客户操作系统中检测快照的存在*

A: 据我所知,没有。但是,您可以使用sg_vpd检查是否支持 UNMAP。 例如:

# sg_vpd /dev/sdb -p lbpv
Logical block provisioning VPD page (SBC):
 Unmap command supported (LBPU): 1
 Write same (16) with unmap bit supported (LBWS): 0
 Write same (10) with unmap bit supported (LBWS10): 0
 Logical block provisioning read zeros (LBPRZ): 1
 Anchored LBAs supported (ANC_SUP): 0
 Threshold exponent: 1
 Descriptor present (DP): 0
 Provisioning type: 2

一些解释:

  • provision type是 2,因此您正在从“薄”磁盘运行;
  • unmap command supported (LBPU)为 1,因此您的磁盘声称支持 UNMAP/TRIM

也就是说,fstrim在快照磁盘上发行应该不是有任何不利影响。在 VMWare <= 6.5 上,它应该没有任何影响, 尽管VMWare >= 6.7 似乎即使在使用快照时也支持 TRIM

编辑:正如下面的评论中详细说明的那样,问题与“修剪”快照期间/之后的原始磁盘膨胀有关合并。 如图所示这里,即使在最新的 VMWare 6.7 上,这种副作用似乎也无法避免

相关内容