为什么长时间保留 VMware 快照是不好的做法?

为什么长时间保留 VMware 快照是不好的做法?

我刚刚开始学习使用 VMware Workstation。我使用它的主要原因之一是它允许我快照。这很棒,因为我可以在实验变化中来回跳跃。

然而,我从 YouTube 视频中听说,保留快照不是一个好主意,建议犯罪快照的变化或者删除它以确保性能稳定性。

VMware 文档指出:

...为了获得更好的性能,请仅使用 2 到 3 个快照,并且不要使用单个快照超过 24-72 小时。

但它并没有解释为什么必须只保留短时间的快照。

有人能详细说明一下吗?我想保留虚拟机的不同状态,我应该使用快照吗?或者还有其他方法吗?也许我还没想起来?

答案1

创建快照时,原始虚拟磁盘将被冻结,并创建一个快照文件。从那一刻起,对虚拟磁盘所做的所有更改都将写入快照文件。

如果您对新情况感到满意,则可以提交快照。然后,所有更改都将应用到原始虚拟磁盘,并且可以删除快照文件。

否则,您可以将系统回滚到制作快照时的状态。

如果您已经有快照,也可以创建另一个快照。然后原始快照将被冻结,所有更改将转到第二个快照文件。您可以继续此操作以在历史记录中创建多个回滚点(如您之前所述)。

随着时间的推移,快照文件会变大,尤其是当您对系统进行大量更改时,例如安装新软件包或删除大量文件。如果您创建多个快照,它们甚至会变得比原始磁盘还大。

当我需要升级我负责的某台服务器时,我会使用快照。如果升级成功且没有问题,我会提交快照。

但是,如果出现问题,我会回滚更改并复制服务器,然后在副本上进行升级,以尝试找出问题所在。

快照会降低性能。您的系统必须始终看到一致的磁盘,因此如果它访问虚拟磁盘,VMware Workstation 将从原始磁盘读取,应用快照中的更改并将结果呈现给您的系统。

VMware Workstation 将使用一些智能缓存来保持性能,但随着快照的增长和快照数量的增长,这将变得更加困难和缓慢。

如果您想保留某个状态,最好复制当时的虚拟磁盘(或整个系统)并将其作为参考。副本的大小永远不会增长,否则您的系统将不会受到快照无限增长的不利影响。

答案2

虽然@NZD的回答在技术上是正确的,但我想补充一个不同的观点。这完全取决于你想要实现什么。我使用了几十个不同的环境,每个环境都有多个快照。其中一些环境用于测试,必须非常稳定,因此它们会保存很长时间,有时长达 6 个月。你只需要意识到这样做可能出现的问题,但你这样做是可以的。

当恢复到旧快照时,我们知道 Windows 和/或应用程序更新将过时。我们知道这可能会导致与域的信任关系不再有效,我们知道时间可能由于夏令时而改变。但是一旦您将所有这些都考虑在内,您就可以拥有一个非常稳定的环境,因此在测试您正在开发的应用程序的更改时,唯一的变化因素就是应用程序本身。

这实际上取决于您想要实现的目标。如果您将 VM 用于生产机器,那么我建议您遵循 NZD 的答案,但是如果您将其用于生产机器,我建议不要使用 VMare Workstation,而是使用 ESX/ESXi 之类的东西来解决性能和稳定性问题。

总而言之,我的答案是:视情况而定,实际上这可能没问题。我认为更重要的因素是确保将快照数量保持在最低水平,因为这会大大降低虚拟机的速度并占用大量空间。

相关内容