【IT168 专稿】与其他灾难恢复解决方案相比,NetApp SnapMirror软件具有经过验证的高效率、精简性及合理成本,因此多年来该软件一直是在各种 NetApp 存储环境中进行复制和灾难恢复的首选技术。NetApp 近年来不断通过推出新特性和新功能来增强 SnapMirror,使该产品能够符合更广泛的要求,并能更高效地利用网络带宽。
SnapMirror的五大优势

▲图 1) NetApp SnapMirror。
使用SnapMirror 技术可以获得以下显著优势:
• 高效。块级更新可以降低对网络带宽和时间的要求。从 Data ONTAP 7.3.2 开始,卷 SnapMirror 还提供本机网络压缩功能,从而进一步降低带宽成本。
• 灵活。可在不同的 NetApp 存储系统之间复制数据。在异步模式下,支持一对一、一对多、多对一或多对多复制拓扑。
• 工作效率更高。通过将 SnapMirror 与 NetApp FlexClone 结合使用,可以将存储在您灾难恢复环境中的数据用于开发/测试、数据挖掘或其他目的。
• 一致。通过与 NetApp SnapManager 套件集成,可在复制应用程序数据的同时确保其完全一致,便于快速恢复。
• 安全。灾难恢复计划测试不会影响生产和正在进行的复制,因此可以更频繁地进行测试,从而确保在灾难来袭时不会手忙脚乱。为了保护应用程序数据免遭破坏,您的灾难恢复站点可保留多个 Snapshot 副本,以便快速轻松地恢复到数据破坏之前的某个时间点。
SnapMirror 有两种运行模式:卷和 qtree。卷 SnapMirror 通常是首选模式。卷 SnapMirror 的使用相对普遍,因此我们的许多开发工作(包括与 SnapManager 产品套件的集成)都侧重于使用卷 SnapMirror。这样一来,卷 SnapMirror 的灵活性和效率也得以提高。本文将介绍如何实施卷 SnapMirror 技术、最常见的用例、实施 SnapMirror 的非常好的实践等内容。
在Data ONTAP中实施卷SnapMirror
卷SnapMirror 在物理块级运行。它可将整个卷的内容(包括所有 Snapshot 副本)及所有卷属性从源(主)卷逐字复制到目标(二级)卷。因此,目标存储系统上运行的 Data ONTAP 主版本必须与源存储系统上运行的 Data ONTAP 版本相同或更高。如果主系统上正在运行重复数据删除或 NetApp 数据压缩(Data ONTAP 8.0.1 中新增),则目标卷上也会继承节省的空间,因为卷是相同的,WAN 上也会实现节省。
卷 SnapMirror 从基线副本开始复制,该副本中的所有卷数据均从源位置复制到目标位置。完成基线副本复制之后,以后的复制会定期进行。必要时可将目标卷设置为可写。换句话说,如果发生了影响源系统或主系统的故障,您可以对操作进行故障转移,转而写入目标系统。故障得到解决后,您可以执行故障恢复重新同步操作,将新增的更改复制回源系统,恢复正常运行。该功能是 SnapMirror 与 NetApp SnapVault 之间的关键区别,NetApp SnapVault 主要用于磁盘到磁盘备份。

▲表 1) 异步卷 SnapMirror 与 qtree SnapMirror 之间的关键区别。
卷 SnapMirror 支持异步、半同步和同步复制,到目前为止,异步复制是最常用的。
在异步模式下,源位置上将定期创建卷的 Snapshot 副本。只有在上一复制周期后更改或新创建的块才会传输到目标位置,因而此方法在节省存储系统开销和网络带宽方面非常高效。
同步模式会在发生更新时就将更新内容从源位置发送到目标位置,而不是根据预定计划发送。这样即可通过目标系统来保护在源系统中写入的数据,即使整个源系统发生故障,数据也不会受影响。可以利用 NVLOG 转发和一致点 (CP) 转发使目标系统保持最新。通过 NVLOG 转发,可以将写入日志(通常缓存在 NetApp 存储器上的 NVRAM 中)中的数据与目标系统保持同步。通过一致点转发,可以使磁盘上的文件系统映像保持同步。
半同步模式与同步模式在以下两个方面有所不同。无需等待目标系统的确认即可提交并确认针对源系统的写入;不使用 NVLOG 转发。由于这两项变更缩短了可实现的恢复点目标 (RPO) 时间,所以加快了应用程序的响应速度。
从 Data ONTAP 7.3.2 开始,新增了 SnapMirror 网络压缩功能。借助 SnapMirror 网络压缩,数据只有在网络中传输时才会被压缩;源系统和目标系统上的数据仍将保持未压缩状态。通过下面两个额外的步骤来支持压缩功能:
• 在源系统上压缩
• 在目标系统上解压缩
在源系统上,需要复制的数据块将传送到压缩引擎中进行压缩。压缩引擎根据存储系统上的 CPU 数量创建多个线程。多个压缩线程可以并行压缩数据。然后,经过压缩的块通过网络进行传输。在目标系统上收到经过压缩的块,并使用类似的多线程方法解压缩。之后,解压缩后的数据会写入相应的卷。

▲图 2) SnapMirror 网络压缩。
压缩引擎和解压缩引擎可以根据用户喜好配置为节省网络带宽或在最短时间内完成传输。
所有 NetApp 存储平台(包括 V 系列虚拟化系统与 IBM N 系列)均仅在异步运行模式下支持 SnapMirror 网络压缩。SnapMirror 的半同步运行模式和同步运行模式目前不支持网络压缩。
SnapMirror的应用场景
SnapMirror有两个主要用例: 灾难恢复和远程数据访问/数据分发
此外,通过 SnapMirror 来利用和复制 FlexClone 卷也正在成为一个新的重要用例。
灾难恢复。使用卷 SnapMirror,可在灾难恢复设施或二级数据中心中的其他 NetApp 存储系统内建立数据镜像。如果需要使用灾难恢复版本,可以将应用程序切换到灾难恢复站点上的服务器,并将应用程序流量重定向到这些服务器,保持恢复状态的时间根据您的需要而定。生产站点恢复正常后,SnapMirror 可以将数据高效地传输回生产存储系统,然后继续 SnapMirror 传输。
卷 SnapMirror 支持多跳或级联配置。例如,可将卷从旧金山的系统复制到纽约市的系统,然后从纽约市的系统复制到新加坡的系统。
远程数据访问/数据分发。SnapMirror 还支持将大量数据分发到地理位置偏远的地区,允许在本地以只读模式访问数据。可以采用 FlexClone 技术在本地建立可写副本。异步 SnapMirror 支持一对多和多对一配置。
通过远程数据访问,不仅可以加快本地客户访问数据的速度,而且还能提高成本高昂的网络资源和服务器资源的利用率并更准确地预测这些资源的使用量。这样,您便可在选定的时间复制源数据,从而最大限度地减少总体网络负载。控制复制数据的时间这一功能对于需要确保数据集处于一致状态的情况也非常有用。

▲图 3) 使用卷 SnapMirror 进行远程数据访问。
与FlexClone 配合使用的用例。SnapMirror 与 FlexClone 技术配合使用时可以提供独特的优势,能够支持应用程序开发/测试环境及灾难恢复测试。通过对灾难恢复存储设备执行应用程序开发/测试,您可以更充分地利用多数时间都可能处于闲置状态的资源。
要想在不影响正在进行的复制流程的前提下对灾难恢复流程进行测试可能比较困难。借助 FlexClone,您可以轻松克隆灾难恢复卷并充分测试灾难恢复流程,而不会影响正在进行的 SnapMirror 复制流程。
有些环境会利用 FlexClone 卷为虚拟桌面基础架构 (VDI)、数据仓库及本地开发和测试提供节省空间的副本。很多情况下可能都需要复制此类克隆副本来对它们进行保护。在 Data ONTAP 8.0.1(7 模式)之前,如果使用 Volume SnapMirror 来复制 FlexClone 卷,则会失去节省的空间。目标上的 FlexClone 卷需要的容量与父卷大小相等。从 Data ONTAP 8.0.1 开始,当在标准模式(7 模式)下操作时,只要也复制了 FlexClone 卷的父卷,就可以使用 Volume SnapMirror 来复制 FlexClone 卷,在目标系统上无需额外容量。

▲图 4) 从 Data ONTAP 8.0.1 开始,只要复制了父卷,就可以使用 SnapMirror 复制 FlexClone 卷,而不会降低存储效率。
使用SnapMirror技术
卷SnapMirror 可实现从数秒到数分钟的恢复时间目标 (RTO),以及低至几分钟的恢复点目标 (RPO)。如果您需要的 RPO 比异步 SnapMirror 可以实现的 RPO 更短,则必须选择 MetroCluster™ 或者同步/半同步 SnapMirror。请记住,同步解决方案的实施通常需要使用大得多的网络带宽以及专业化的网络设备,因此代价不菲。
当距离不超过 100 千米时,MetroCluster 是首选解决方案,因为它可提供持续的数据可用性和自动故障转移与恢复。SnapMirror 同步模式将支持的距离扩大一倍,达到 200 千米;SnapMirror 半同步模式支持的距离可以超过 200 千米(如果您需要更长距离内尽可能低的 RPO)。同步和半同步 SnapMirror 支持的功能集与异步 SnapMirror 不同,例如使用同步和半同步模式时不支持网络压缩和 SnapManager 集成。
当您开始使用卷 SnapMirror 时,必须注意一些常规注意事项:
• 注意您正在运行的操作模式对 Data ONTAP 版本的要求。
o 异步卷 SnapMirror:目标系统必须使用相同版本或更高版本的主版本/次要版本。
o 同步或半同步卷 SnapMirror:源系统和目标系统必须运行相同版本。

▲表 2) 异步 SnapMirror 对源系统和目标系统 Data ONTAP 的要求。
• 卷 SnapMirror 仅支持在类型相同的聚合之间进行复制:即32 位聚合复制到32 位聚合或64 位聚合复制到 64 位聚合。
• SnapMirror 可以在以太网和光纤通道上运行。有关光纤通道的要求,请参见交换机支持表(需要 NOW™ 访问权限)。
• 同步和半同步模式易受距离和往返时间 (RTT) 影响。同步模式下,RTT 应小于 2 毫秒;半同步模式下,RTT 应小于 5 毫秒。
• 可并发执行的 SnapMirror 传输有数量限制。这些限制具体取决于您所拥有的 NetApp 系统的类型以及您正在运行的 Data ONTAP 的版本。
SnapMirror与其他NetApp 技术
鉴于SnapMirror 在许多 NetApp 部署中都具有核心的重要作用,我们对它非常重视,力保它可与绝大多数 NetApp 软件解决方案进行互操作。以下是一些您可能想要了解的使用细节:
• SnapManager 套件。SnapManager 套件旨在为重要应用程序(包括 Microsoft Exchange、SQL Server 和 SharePoint 以及 Oracle、SAP)提供数据保护和灾难恢复服务。这些应用程序中也包括 VMware 和 Microsoft Hyper-V™ 虚拟机管理程序。使用相应的 SnapManager 产品(或适用于 VMware 的虚拟存储控制台)时,您可以确保一致地复制应用程序和/或虚拟机管理程序数据,以便可以在远程站点重新启动操作。
• FlexClone。请参见前面关于用例的部分,了解关于使用 SnapMirror 和 FlexClone 的信息。另外还可参见“基础知识回顾”中的 FlexClone 篇。
在某些情况下,节省空间的卷克隆将包含有必要进行复制的关键数据。
• 重复数据删除。当您使用卷 SnapMirror 复制经过重复数据删除的卷时,目标卷会继承所节省的空间。
结论
NetApp SnapMirror 技术是一种重要的灾难恢复及通用复制工具,可单独使用也可与 NetApp SnapManager 套件之类的其他解决方案配合使用。
作者简介

▲Srinath Alapati,NetApp 技术营销工程师
Srinath 于 2004 年加入 NetApp,已在数据保护部门工作超过四年。他拥有 10 年以上的 IT 从业经验,主要负责服务器和存储基础架构的管理。Srinath 本人撰写并与人合著了多篇关于 SnapMirror、MetroCluster、VMware 和 Exchange 的技术报告,在多个技术会议上也有过发言。他也是参与 NetApp IT 灾难恢复实施的核心团队成员。