清楚了解当您的数据处于危险时,虚拟机快照和备份可为您做的事情。消除疑问,快照不是备份。两种不同的机制应对不同的需求。今天,我将解释虚拟机快照和备份之间的差别,并为您提供几个适用情景。
尽管许多 Veeam 产品都将快照作为备份的一部分,但是快照本身不是备份。本逻辑也适用于 VMware 虚拟机快照、Hyper-V 检查点和存储快照。
快照如何运行?
概括地说,虚拟机快照是保存虚拟机的数据状态的进程,以便于能够及时恢复到该点。拍摄快照后,可以关闭、打开或暂停虚拟机。多个快照以父级-子级层次结构组织。
通常,在测试软件更新或对虚拟机进行非安全操作时会使用快照,然后返回到最初状态。我们可以将快照想象为一个书签或撤销按钮。快照不是基本磁盘的完整副本,因此如果出现存储故障,这将不足以恢复虚拟机。
VMware 快照
在 VMware 虚拟机中,虚拟磁盘是存在数据存储 (LUN) 上的 .vmdk 文件。在 Snapshot Manager 中创建快照时,最初磁盘变为只读,所有新的数据变动将写入指向原始磁盘的临时 .vmdk delta 磁盘。delta 磁盘是拍摄快照时的磁盘状态和虚拟磁盘当前状态的状态之差。拍摄 VMware 快照的过程还会涉及创建两个额外的文件:快照和元数据信息 (.vmsd),以及运行状态信息 (.vmsn)。删除(提交)快照后,所有变动将合并到最初 .vmdk 文件,并返回读写模式。
图 1.VMware vSphere 客户端中的快照
为确保在 vSphere 虚拟化环境中正常使用快照,VMware 提供了几个最佳实践:
- 在一个链中使用最多 32 个快照,但为确保更好的性能,建议仅使用两到三个快照
- 不要让快照运行超过 24 – 72 小时,这会增加容量空间的消耗。
- 不要将快照用作备份。如果原始虚拟磁盘被删除,您将无法从快照恢复虚拟机。
Hyper-V 检查点
Hyper-V 快照则略有不同(从 Windows Server 2012 R2 开始,Hyper-V快照重命名为 Hyper-V 检查点)。在 Hyper-V Manager 中创建 Hyper-V 检查点时,正在运行的虚拟机将暂停,在父级虚拟磁盘(.vhd /.vhdx) 的文件夹创建 .avhd(x) 差分磁盘来存储变动,并创建 .xml 配置文件副本。原始虚拟磁盘设为只读;如果虚拟机正在运行,则还有两个关联文件 — 虚拟机保存状态 (.bin) 和内存信息 (.vsv),然后虚拟机恢复运行。
图 2.Hyper-V Manager 中的检查点
Microsoft 针对 Hyper-V 检查点的建议包括:
- 不要在运行时间敏感型服务的虚拟机上使用快照,如 Microsoft Exchange Server 或 Active Directory Domain Services
- 不要在有快照时扩展虚拟机的现有虚拟存储,因为它们会被损坏
- 在 Hyper-V Manager 快照树中删除.avhd(x) 文件,不要手动删除它们
存储快照是什么?
存储快照是一种可用于部分备份作业的出色架构。Veeam Backup & Replication 支持诸多存储阵列的 Backup from Storage Snapshots和 Veeam Explorer for Storage Snapshots 。这里还有一些需要说明的信息:
- 即使您拥有可充分利用 Veeam Explorer for Storage Snapshots 的存储阵列,您仍需要将备份放到不同的存储。Veeam Explorer for Storage Snapshots 是一种利用源阵列快照进行恢复的技术。
- Backup from Storage Snapshots 支持使用存储阵列的功能进行备份,并将数据转到不同存储。
作为 Veeam 的力推者之一,Rick Vanover 表示:“我们拥有大量的客户成功案例,这些案例表明,再好的阵列也会出现故障。 因此,我们强烈建议请将您的备份放到不同的存储,并遵照 3-2-1 规则。”
我应在何时使用快照?
快照是短期解决方案,主要用于测试和开发环境,从而快速打补丁、更新或测试,并在遇到一般故障时进行回滚。不太建议将它们用于生产。然而,对于一些情景,快照仍适用于生产环境。例如,如果您在进行危险的操作,如可能损坏系统的操作系统更新或配置变动,则快照是一个好办法。
为何不建议为生产环境使用快照?主要出于数据完整性原因。使用快照时,您并非创建虚拟硬盘的副本。它需要虚拟机虚拟磁盘和 delta 磁盘,这意味着如果虚拟磁盘卷受损,您的快照也会消失,因为它们无法被合并到基本磁盘。快照无法应对磁盘故障,您仍会遇到单点故障。
另一个原因基于性能。快照会影响虚拟机的性能。这不经常发生,仅在一些特定情况下出现,但特定情况会发生。例如,在老快照上运行高负载虚拟机(导致大小增加)肯定会减慢这些虚拟机的性能,尤其是在使用动态磁盘的情况下。在一个快照上保持虚拟机长时间运行是一个常见的错误 — 快照的大小会增加,因为快照文件会保存所有变动,而非存储在源磁盘上。由此,提交将花费更长时间,甚至会在合并流程期间导致虚拟机停机。
等等,Veeam 难道不使用快照吗?
这是个很好的问题。Veeam Backup & Replication 会将快照作为备份作业的一部分,并使用 VMware VM 快照,Hyper-V 检查点或存储快照。很重要的一点是,快照本身不是备份。但是,它可用作备份流程的关键部分。这是因为,快照是备份文件或复制虚拟机数据移动流程的一部分。完成备份作业时,快照将被移除。
备份与快照有何不同?
备份是一致的虚拟机副本,在原始文件因灾难或人为错误而损坏的情况下,能够为您提供恢复的可能性。与快照不同的是,备份独立于虚拟机,可以轻松导出并存储到其他地方(云、磁带或其他远程存储)。阅读有关 3-2-1 黄金规则的更多信息。
Veeam Backup & Replication 充分利用 VSS 技术 (Volume Shadow Copy Service) 和应用感知映像处理创建映像级虚拟备份。映像级虚拟机备份让您能够保护整个工作负载,包括虚拟磁盘、操作系统、软件应用和系统配置文件。所有这些都存储到单个映像级虚拟机备份文件,Veeam可为您的关键业务应用提供多个恢复选项,如虚拟机整机恢复,细粒度恢复以及应用项目恢复等。
此外,Veeam Backup & Replication 采用了多项技术,可以优化备份流量,减少备份文件大小,如重复数据删除、压缩或 WAN 加速等,并为您提供了使用 SureBackup 测试备份可恢复性的能力。此外,Veeam 还为您提供了可以快速测试和排除虚拟机故障的虚拟实验室—Virtual Lab。利用 Veeam 的产品,您可以创建不影响生产且能够执行不同操作的隔离虚拟环境,如测试软件更新或运行培训。
我的环境无法使用任何类型的快照该怎么办?
真有这个可能性。Veeam备份流程的一种方式是,使用 Veeam Agent for Microsoft Windows 或 Veeam Agent for Linux。这些新的 Veeam 备份产品不使用任何基础设施快照。对于 Windows,Veeam采用VSS 框架制作基于映像的备份;对于 Linux,Veeam 采用 veeamsnap 制作文件系统的映像。
此外,Veeam Backup & Replication v10 附带的 Veeam CDP 能力将为不使用 VMware 快照的 VMware 虚拟机提供一种复制引擎。这一引擎充分利用了 vSphere API I/O Filtering (VAIO)。
总结
仅使用 VM 快照并非保护数据、并在出现故障的情况下进行恢复的可靠方式,但是它们对快速测试和故障排除非常实用。此外,如果用作综合事件序列的一部分进行备份或复制作业,则可使用虚拟机快照。但请注意,您需要关注快照容量并适当管理,从而避免任何存储和性能问题。另一方面,映像级虚拟机备份可提供较高的应用和数据保护级别,实现较低 RPO,同时支持几乎所有恢复情景 — 从虚拟机整机到应用项目恢复。