为什么快照被视为临时备份而不是真正的备份?

为什么快照被视为临时备份而不是真正的备份?

我正在使用 VMware ESXi。在我们的团队中,我们使用快照进行长期备份。

然后我们面临诸如内存溢出和服务器挂断等问题。

我开始阅读 VMware 知识库文章和各处的文章。到处都建议不要长时间使用快照。

甚至 VMware 也建议将快照保存最多三天。

但我们的团队一直要求我们至少保留两个永久快照(直到删除虚拟机)。有时我们可能会使用虚拟机一年)。

  1. 一个快照用于全新的机器状态。(因此,当我们完成应用程序的测试时,我们将恢复到全新状态并安装另一个应用程序)(如果我不允许这样做,我可能经常需要托管虚拟机。)

  2. 下一个快照用于保持 VM 处于某种状态(也许他们会发现一个问题并将该状态保持一段时间。或者他们可能会安装应用程序的先决条件并让机器准备好进行测试。)

从逻辑上讲,他们的需求似乎是合理的。但如果我允许,我就允许他们长期保留快照。我们不会将虚拟机用作邮件服务器或数据库服务器。

为什么长时间保存快照会产生不利影响?

为什么快照被视为临时备份,而不是真正的备份?

答案1

当虚拟机具有活动快照时,其虚拟磁盘 I/O 不会在虚拟机的实际 .VMDK 文件上执行,而是保持不变,并且虚拟机中的任何更改都会写入不同的物理文件;这允许恢复以前的虚拟机状态,但有三个重要的副作用:

  • VM 的磁盘 I/O 速度要慢得多。
  • 随着虚拟机执行的磁盘 I/O 越来越多,这些“增量”文件也会随着时间的推移而不断增长。
  • 当快照被删除时,存储在“增量”文件中的更改必须合并回主 .VMDK 文件中,如果快照已经处于活动状态很长时间,则此过程非常缓慢且耗时。

最好不要长时间保留活动快照。如果您需要对处于给定状态的 VM 进行长期备份,则可以将 VM 复制到其他位置:这不会对 VM 的性能产生影响,而且您最终使用的磁盘空间会比长期快照随着时间的推移所占空间要少。

此外,如果您丢失了虚拟机,将虚拟机的副本存储在不同的地方实际上会有所帮助:快照与其所属的虚拟机一起存储,并且仅在虚拟机可用时才有用;在实际数据丢失(如数据存储区崩溃)的情况下,它们完全无用,因此不能用作真正的备份。

以下是一些有关快照的官方文档:

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180

答案2

VMware 使用的某些快照格式会随着时间的推移而降低性能,因为它们会存储更多数据。我认为最新版本中默认的“稀疏范围”格式似乎没有此属性(每次读取时读取 3 次,每次写入最多读取 2 次或写入 3 次,但磁盘填满后情况不会变得更糟)。因此,我并不完全确定“不要长时间保留快照”属性是否一定任何时候都正确的建议。

不过,我注意到的一件事是,合并快照需要年龄随着它们变大。根据您的使用情况,这可能是也可能不是问题。

至于您的另一个问题,关于“临时备份”,嗯,这很简单——备份旨在在主数据存储丢失后继续存在。由于快照和源存储在一起(如果没有基础映像,快照就毫无用处),您会丢失所有内容——因此快照绝不是备份。

答案3

我知道这篇文章有点旧了,但是提出的问题和观点仍然非常相关。

VMware 快照绝对不是备份。我和许多客户遇到的更糟糕的副作用是,他们保留了 6 个月前的 VMware 快照,ESXi 主机遇到意外中断,导致 ESXi 重新启动或需要重新启动才能清除中断。ESXi 已恢复,VM 已启动,所有数据已恢复到拍摄 VMware 快照的时间点。

在这种情况下,从拍摄 VMware 快照的时间点到发生中断的时刻之间的所有更改都将丢失。

因此,我的一般建议是仅为了特定目的而拍摄 VMware 快照,并在达到该目的后将其删除。

http://kb.vmware.com/kb/1025279

答案4

快照背后的想法更像是在对虚拟机进行某些重新配置(安装新软件、重大升级等)之前的一个还原点。因此,如果您搞砸了它,您可以备份到它正常工作的点,然后走开,而不必责怪您的任何同事 :)

一般的想法是,您将在未来的某个时间点进行合并(当您可以暂时将其关闭而不会影响您的用户时)。

相关内容