与之前关于厚配置与精简配置,为什么对要克隆的虚拟机进行快速清零比延迟清零花费的时间更长?
例如,在我们最近进行的测试中,快速归零克隆需要大约 85 分钟才能完成,而更改为延迟归零则可以在大约 50 分钟内完成。
使用立即归零和延迟归零时会产生多少开销?
什么时候使用‘eager’模式才是正确的?
答案1
急切归零会将 0 写入所有空块。当这些块首次需要写入时,这会略微提高性能。
延迟归零不会对未分配的块产生任何影响。如果您有一个 80GB 的 VMDK,但只有 10GB 的数据,则只会使用 10GB 的块,其余的块则保持原样,直到需要为止。如果此示例是立即归零,则在创建时会写入所有 80GB,其余 70GB 则用零填充。
如果您在存储级别使用精简配置,则需要避免急切归零,因为这将完全违背精简配置的目的。
什么时候使用‘eager’模式才是正确的?
当您没有对 LUN 进行精简配置并且不介意等待更长时间以创建 VMDK 时,Eager 是正确的模式。
答案2
我重新措辞并简化了这段话,以便不那么令人困惑:
When would 'eager' be the right mode to use?
当您在 VMFS 存储底层 SAN 上使用重复数据删除、压缩或精简 Lun 时,而不是使用精简配置虚拟机,或者除了使用精简配置虚拟机之外。
通常,您仅在通过这种方式创建额外的磁盘来回收 vmfs 卷中的所有可用空间时才会使用它。
Eager Zero 用于将 VMFS 存储上 VMDK 使用的空间清零,但在部署新的 VM 时实际上没什么用。
关于为什么使用它的经典例子总是相当极端/小众,今天更是如此。
那是:
将虚拟机将要写入的扇区预先清零,以便在虚拟机运行时,将 0 写入磁盘时减少 VCPU 负载和磁盘写入延迟。
但是,只有当虚拟机写入磁盘未使用的部分时,才会有这种好处,因此一次写入多次读取的应用程序将获得最大的好处。