与其他灾难恢复解决方案相比,NetApp SnapMirror软件具有经过验证的高效率、精简性及合理成本,因此多年来该软件一直是在各种NetApp存储环境中进行复制和灾难恢复的首选技术。NetApp近年来不断通过推出新特性和新功能来增强 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所有功能的更多信息,请参见 TR-3446:《SnapMirror Async Overview and Best Practices Guide》与 TR-3326:《SnapMirror Sync and SnapMirror Semi-Sync Overview and Design Considerations》。您还可以阅读之前的一篇关于网络压缩的Tech OnTap文章。
用例
SnapMirror有两个主要用例:
·灾难恢复
·远程数据访问/数据分发
此外,通过SnapMirror来利用和复制FlexClone卷也正在成为一个新的重要用例。
灾难恢复。使用卷SnapMirror,可在灾难恢复设施或二级数据中心中的其他NetApp存储系统内建立数据镜像。如果需要使用灾难恢复版本,可以将应用程序切换到灾难恢复站点上的服务器,并将应用程序流量重定向到这些服务器,保持恢复状态的时间根据您的需要而定。生产站点恢复正常后,SnapMirror可以将数据高效地传输回生产存储系统,然后继续SnapMirror传输。
卷SnapMirror支持多跳或级联配置。例如,可将卷从旧金山的系统复制到纽约市的系统,然后从纽约市的系统复制到新加坡的系统。
远程数据访问/数据分发。SnapMirror还支持将大量数据分发到地理位置偏远的地区,允许在本地以只读模式访问数据。可以采用FlexClone技术在本地建立可写副本。异步SnapMirror支持一对多和多对一配置。
通过远程数据访问,不仅可以加快本地客户访问数据的速度,而且还能提高成本高昂的网络资源和服务器资源的利用率并更准确地预测这些资源的使用量。这样,您便可在选定的时间复制源数据,从而最大限度地减少总体网络负载。控制复制数据的时间这一功能对于需要确保数据集处于一致状态的情况也非常有用。
图 3) 使用卷 SnapMirror 进行远程数据访问。
与FlexClone配合使用的用例。SnapMirror与FlexClone技术配合使用时可以提供独特的优势,能够支持应用程序开发/测试环境及灾难恢复测试。通过对灾难恢复存储设备执行应用程序开发/测试,您可以更充分地利用多数时间都可能处于闲置状态的资源。有关上述内容的详细介绍,请参见相关的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集成。有关如何将MetroCluster与SnapMirror配合使用的更多信息,请查看最近的一篇Tech OnTap文章。
当您开始使用卷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的版本。请访问此链接 <https://now.netapp.com/NOW/knowledge/docs/ontap/rel801/html/ontap/onlinebk/frameset.html>了解更多信息。(需要NOW访问权限。)要了解更多详细信息,请参见相应的技术报告:
·TR-3446:《SnapMirror Async Overview and Best Practices Guide》 <http://www.netapp.com/us/library/technical-reports/tr-3446.html>
·TR-3326:《SnapMirror Sync and SnapMirror Semi-Sync Overview and Design Considerations》 <http://www.netapp.com/us/library/technical-reports/tr-3326.html>
SnapMirror与其他NetApp技术
鉴于SnapMirror在许多NetApp部署中都具有核心的重要作用,我们对它非常重视,力保它可与绝大多数 NetApp 软件解决方案进行互操作。以下是一些您可能想要了解的使用细节:
·SnapManager套件。SnapManager套件旨在为重要应用程序(包括Microsoft Exchange、SQL Server和SharePoint以及Oracle、SAP)提供数据保护和灾难恢复服务。这些应用程序中也包括VMware和Microsoft Hyper-V虚拟机管理程序。使用相应的SnapManager产品(或适用于VMware的虚拟存储控制台)时,您可以确保一致地复制应用程序和/或虚拟机管理程序数据,以便可以在远程站点重新启动操作。
·FlexClone。请参见前面关于用例的部分,了解关于使用SnapMirror和FlexClone的信息。另外还可参见“基础知识回顾”中的FlexClone篇 <http://www.netapp.com/cn/communities/tech-ontap/tot-btb-flexclone-1105-zh.html>。
在某些情况下,节省空间的卷克隆将包含有必要进行复制的关键数据。
·重复数据删除。当您使用卷SnapMirror复制经过重复数据删除的卷时,目标卷会继承所节省的空间。
结论
NetApp SnapMirror技术是一种重要的灾难恢复及通用复制工具,可单独使用也可与NetApp SnapManager套件之类的其他解决方案配合使用。要了解关于NetApp SnapMirror的更多信息,请务必参见 TR-3446:《SnapMirror Async Overview and Best Practices Guide》<http://www.netapp.com/us/library/technical-reports/tr-3446.html>和 TR-3326:《SnapMirror Sync and SnapMirror Semi-Sync Overview and Design Considerations》<http://www.netapp.com/us/library/technical-reports/tr-3326.html>。