我们有大约 15 个运行 Win2k8 的虚拟机快照,您可能已经猜到了,我们的数据存储很快就会用完空间。我的目标是删除所有快照,因为使用快照进行备份似乎是一个巨大的错误。
现在我的问题是,由于剩余空间不多,我们该如何删除快照,以便将数据存储上的最少空间用于合并过程。我们是从下往上开始删除树,即从删除最近的快照开始向上移动,还是从删除最旧的快照开始向下移动?
答案1
为了最大限度地减少合并期间使用的空间:
关闭虚拟机。这样交换文件(配置的保留 RAM 的大小)就被删除了,您不必担心在删除快照时创建的临时快照文件会在您删除快照时占用您的可用空间。
从中删除最老的首先删除快照。例如,最接近基数的快照。提交该快照后,您将增加磁盘空间。如果从最新的快照(距离基数最远的快照)开始,则将已删除的快照更改滚动到上一个快照中,并且随着您向基数移动,它将变得越来越大。如果您运行的是 ESXi 4.0 update 2 或更高版本,它将按顺序为您执行此操作。如果您运行的是 4.0 update 2 之前的 ESXi,它将执行相反的操作,并保留所有快照直到完成,并保留临时快照以记录删除快照时的活动。因此,如果您运行的是 4.0 Update 2 之前的版本,则批判的您需要先手动删除最旧的,然后逐一删除最新的。
亲自,当我遇到这种情况时,无论我使用的是哪个版本的 ESXi,我都会使用此过程:
- 关闭虚拟机。
- 每次删除一个快照,从最旧的快照(最靠近数据库的快照)开始,向最新的快照(距离数据库最远的快照)前进。
答案2
为什么你会有一个“大约 15 个快照的树”吗?我知道你能但这并不意味着它是一种聪明的做事方式,曾经听说过克隆或备份 - 它们用于保存虚拟机的长期时间点副本,快照只是被未经训练的人滥用,因为他们认为它们是“免费的” - 但事实并非如此。
不管怎样,这都是你自己的麻烦,而且除了花时间手动从最新到最旧删除它们之外,没有真正的解决办法。
答案3
VMWare 网站上的这篇文章表示最好的方法是先删除最早的快照(如果低于 ESX4.0U2)或者不用担心它:
对于 VMware ESX 4.0 Update-2 之前的版本,整合所有快照的任务(删除所有快照任务)会导致仅存储在第二个快照增量磁盘中的唯一更改通过快照链向上复制到第一个快照或其“父级”中。此效果对于每个先前的父文件都是递归的。
示例:您有一个大小为 8 GB 的基础磁盘和 2 个级别的快照,每个级别为 4 GB。在“删除所有快照”任务期间,第一个快照增量磁盘文件可能会增长到 8 GB(最坏的情况),因为第二个快照中的所有新块都已写入。存储在两个快照级别中的任何常见更改都不需要额外的空间。
从 ESX4.0 Update 2 开始,快照机制发生了变化。VMware ESX 现在采用了改进的整合程序,从而减少了对可用空间的需求。即使数据存储区中可用的可用空间很少,您也可以整合虚拟机增量磁盘。
如果您只删除部分快照或需要手动删除,我建议先删除最早的快照以尽量减少磁盘使用量,否则您可能会遇到上述示例中出现的情况。
答案4
对于那些陷入这种情况并找到这个论坛的人,我希望你阅读所有的答案,因为 Choppers 是错的 - IT_Architect 是正确的。
您需要从最靠近基础磁盘的快照开始删除快照,即最靠近快照管理器窗口中列表顶部的快照。这将最大限度地减少快照删除过程中对可用空间的需求。
如果您遵循 Choppers 方法,您将需要大量可用空间才能成功删除所有快照 - 如果您正在查看 15 个打开的快照链,那么您可能没有这么多空间!
想想看……只有自基础磁盘以来的磁盘更改存储在第一个快照文件中。第二个快照文件包含自第一个快照文件以来的更改。第三个快照仅包含自第二个快照文件以来的更改。基础磁盘文件永远不会大于其分配的大小。每个快照文件都可以增长到与基础磁盘相同的大小。请参见下面的示例
基础磁盘 (100 GB) - snap1 (5 GB) - snap2 (3 GB) - snap3 (15 GB)
snap1 中存储的所有更改的磁盘块都包含在基础磁盘中。只是这些块自启动快照以来发生了变化,所以它们存储在 snap1 文件中。
相反,snap3 文件为 15 GB,其所有更改不可能包含在较小的 3GB snap2 文件中。如果您先删除 snap3 快照,其更改将合并到 snap2 文件中。在此过程之后,snap2 可能最小为 12 GB,并且假设 snap3 文件中的 3 GB 更改与 snap2 文件中的磁盘块完全相同。这是最佳情况。
更糟糕的是,在删除 snap3 快照期间,snap3 文件会保留在数据存储中,直到成功删除快照。因此,最好的情况是,您将使用至少 12GB 的更多磁盘空间来删除 snap3 快照……但您可能需要更多空间。
这就是为什么您开始删除最接近基础磁盘的快照,因为基础磁盘文件永远不会变大(除非它是精简配置的,但那是另一种麻烦)。