查看原文
其他

五种业界主流存储双活架构设计方案特点分析,哪种更具优势? | 争议

邓毓 twt企业IT社区 2022-07-03

【摘要】本文从方案特点、第三站点仲裁、两地三中心扩展、读写性能、故障转移、双活能力等多个角度,客观地对业界主流存储双活方案进行整体性详细的解析和对比。

【作者】邓毓,现就职于江西农商银行信息科技部,资深运维工程师,全国第十届 Aix&Linux 高手挑战赛十强,农信银支付清算先进个人,荣获银行业信息科技风险管理课题研究四类成果奖。精通各项运维技术和 IT 基础架构设计,项目经验丰富,运维技术全面,在云计算、双活数据中心、软件定义存储、自动化运维、监控和 OLTP 数据库等领域有深刻的见解和广泛的涉猎。


双活数据中心解决方案指两个数据中心均处于运行状态,可以同时承担生产业务,以提高数据中心的整体服务能力和系统资源利用率,实现RPO(Recovery Point Objective),RTO(Recovery Time Objective)严苛的要求,将企业业务系统连续性提升至一个更高的台阶。

目前,端到端双活数据中心解决方案中最核心的技术当属存储双活技术,这也是备受企业关注的双活技术之一,而现有关于存储双活的内容中,普遍都是对存储双活方案的整体概述,以厂商自带的产品为出发点来组织方案内容,很难对企业的存储双活项目实际落地提供有利支持,从而导致项目实施后,容易被厂商绑定。因此,在本次存储双活方案解析的内容中,笔者将从方案特点、第三站点仲裁、两地三中心扩展、读写性能、故障转移、双活能力等多个角度,公正客观地对业界主流存储双活方案进行整体性详细的解析和对比,涉及华为、EMC、IBM、HDS、NETAPP等五种不同存储厂商的存储双活方案,来帮助企业真正解决存储双活建设的落地难题。本文将从五种业界主流存储双活方案的方案特点展开解析。


一、华为HyperMetro

1、双活方案概述

华为存储层双活方案基于OceanStor融合存储系统的HyperMetro特性实现。HyperMetro采用AA双活架构将两套存储阵列组成跨站点集群,实现数据实时镜像。两端阵列的双活LUN数据实时同步,且两端能够同时处理应用服务器的I/O读写请求,面向应用服务器提供无差异的AA并行访问能力。当任何一台磁盘阵列故障时,业务自动无缝切换到对端存储访问,业务访问不中断。

2、方案特点

(1)免网关设计:Hyper Metro双活架构无需额外部署虚拟化网关设备,直接使用两套存储阵列组成跨站点集群系统。最大支持32个存储控制器,即两套16控存储阵列组建双活关系。

(2)I/O访问路径:Hyper Metro在应用主机侧,通过UltraPath主机多路径软件,将两台存储阵列上的双活成员LUN聚合为一个双活LUN,以多路径Vdisk方式对应用程序提供I/O读写能力。应用程序访问Vdisk时,Ultrapath根据多路径模式,选择最佳的访问路径,将I/O请求下发到存储阵列。

根据双活站点部署距离,Hyper Metro提供了两种I/O访问策略供选择。一是负载均衡模式:该模式下可实现 I/O的跨阵列负载均衡,即I/O以分片的方式在两个阵列上下发。分片大小可配,例如分片大小为128M,即起始地址为 0-128M的I/O在A阵列下发,128M-256M在B阵列下发,以此类推。负载均衡模式主要应用于双活业务部署在同一数据中心的场景。在该场景下,主机业务访问两套双活存储设备的性能几乎相同,为最大化利用两套存储设备的资源,将主机I/O按分片方式下发到两套阵列上。


另一种是优选阵列模式:该模式下,由用户在OceanStor UltraPath上指定优选访问阵列,主机业务访问时,I/O只会在用户设置的优选阵列路径上进行负载均衡下发,不产生跨阵列的 I/O 访问。只有当优选阵列出现故障时,才切换到非优选阵列下发 I/O。优选阵列模式主要应用于双活业务部署在距离较远的双数据中心场景。在该场景下,双活数据中心的跨站点访问的代价较高,假如两个数据中心的链路距离为100km,一次往返传输通常需要消耗约 1.3ms 时间。优选阵列模式可以减少跨站点交互次数,从而提升 I/O 性能。针对数据读场景,双活数据中心的业务主机只需要读本数据中心对应的双活存储阵列即可,避免主机跨数据中心读取数据,提升整体访问性能。针对数据写场景,业务主机直接写本数据中心对应的双活存储阵列,避免主机跨数据中心转发数据,充分利用 HyperMetro AA双活能力,AA集群的每个控制器都能够接收写 I/O,由本地控制器处理本地主机的写I/O请求,减少跨数据中心的转发次数,提升方案整体性能。

(3)存储层组网:下图为Hyper Metro双活方案典型组网架构。可搭建阵列与主机、双活镜像、同城互联等三类网络,数据网络与业务网络分离;两套双活存储阵列间通信支持FC或IP链路,推荐使用FC链路,但需满足站点间RTT(往返延迟)小于2ms要求。另外,存储阵列和仲裁服务器之间的链路采用普遍的IP链路。

(4)一体化双活:该方案下的一套双活设备既支持文件数据服务(File Service),也支持块数据服务(Block Service),能够以NFS文件系统和SAN块存储两种方式提供双活功能;SAN与NAS共用一套仲裁,能够确保两个站点间链路故障时,文件存储和块存储由同一站点提供服务,保障仲裁一致性;SAN与NAS共用一种网络,站点间心跳、配置、数据物理链路合一,一种网络即可满足SAN与NAS传输,并且支持业务网络、站点间网络、仲裁网络全IP部署,组网简单。

(5)存储层数据一致性:通过I/O双写确保数据一致性,系统正常情况下,任意应用IO数据下发,都要同时写到两台阵列才返回主机,确保两台阵列数据实时一致;具备分布式锁机制(DLM),确保主机对同一存储地址的数据访问时,由其中一台写入,确保数据一致性;单存储不可用时,具备数据差异处理机制,其中一台存储不可用时,仅写正常存储,同时数据变化记录到DCL(Data Change Log)空间,待阵列修复好后,HyperMetro 将自动恢复双活Pair关系,并通过DCL记录的信息,将数据增量写入修复好的存储。这样的好处是无需全量同步所有数据,整个过程对主机“透明”,不会影响主机业务。

(6)FastWrite技术:传统通用方案两个站点间的写I/O在传输过程要经历“写命令”和“写数据”两次交互,理论上两站点间距100KM时,将带来2次RTT(往返延时),见下图左;为了提升双写性能,FastWrite技术将“写命令”和“写数据”合并为一次发送,跨站点写IO交互次数减少一半,理论上100KM传输链路仅1次RTT,提升整体写IO性能,见下图右。

(7)跨站点坏块修复技术:为了提升数据可靠性,Hyper Metro具备跨站点自动修复坏块技术,无需人为干预,自动完成修复,业务访问不受影响。流程如下(见下图): 生产主机读取存储A数据-->存储A通过校验发现坏块-->尝试通过重构修复坏块,修复失败(若修复成功,则不进行下述流程)-->存储A检查与远端状态“完整”并发起到远端B阵列读取数据-->读取数据成功,返回生产主机正确数据-->使用远端数据修复本端坏块对应的数据。

(8)RAID2.0技术:存储阵列能够支持多种RAID保护技术,并在此基础之上进一步优化升级,当RAID组中任意硬盘故障,通过RAID2.0技术,能够快速重建RAID,并恢复数据至热备盘,速度相对传统技术大幅提升, 降低了多盘失效风险概率。


二、EMC Vplex

1、双活方案概述

EMC Vplex存储双活方案是基于Vplex网关产品实现,能够将EMC和其他厂商存储异构整合,虚拟化为统一的存储资源池,实现异构存储双活。Vplex双活方案有Vplex Metro和Vplex Geo两种方案,方案由两个站点的两套Vplex集群系统组成,每个站点的Vplex集群都有自己专属的本地存储阵列,通过创建分布式镜像卷为跨集群的镜像卷,提供Vplex Access Anywhere功能,两个站点的Vplex集群各有一个卷,两个卷的ID一样。

2、方案特点

(1)集群配置:如下图所示,每个Vplex集群均包含Vplex Management Console,一个、两个、四个或八个引擎,每个引擎包含一个备用电源。Vplex Local用于使用单个Vplex集群管理数据中心内的数据移动和访问。支持单、双或四配置(分别包含一个、两个或四个引擎),本地Vplex组成Local集群(4引擎8控制器),两站点Local集群再组成Metro/Geo远程集群(最大8引擎,16控制器),形成16个控制节点的AA集群。

(2)同/异步方案:如下图所示,Vplex Metro使用两个包含独特功能的Vplex集群,通过采用写直通缓存(透写)的方式在两个集群之间实时镜像数据,保持后端存储数据的一致性,由于采用实时同步复制,Vplex Metro方案需满足站点间RTT(往返延迟)小于5ms的要求。Vplex Geo用于两个远距离应用集群节点异步使用Access Anywhere访问存储数据,Vplex Geo分布式卷使用回写缓存的方式支持Access Anywhere分布式镜像,该方案最大可支持的站点间RTT(往返延迟)为50ms。另外,Vplex Metro和Vplex Geo方案下部署的集群不要求站点间引擎数量完全一致。

(3)存储层组网:下图为Vplex Metro双活方案主机跨集群连接组网架构。主机与Vplex集群间访问、Vplex集群与后端存储数据传输、Vplex集群间通信网络全部隔离,为保证最高级别的高可用性,每个Vplex Director前端I/O模块和一对SAN光纤交换机之间必须保证2个以上的物理连接,每个主机和每个Vplex引擎的A Director和B Director都需要保持一个以上的路径连接,因此主机和一个Vplex引擎间具有8条逻辑路径。对于每个站点2个、4个引擎的Vplex集群来说,主机连接需要覆盖所有引擎;另外,当主机与本地Vplex集群连接中断时,为保证主机能够跨站点访问另一端Vplex集群,主机需要和其他站点的Vplex集群建立连接,可通过PowerPath多路软件来配置ACTIVE/PASSIVE路径来保证主机优先访问本地的Vplex集群;后端存储阵列通过SAN交换机或者直接连接Vplex引擎的后端IO模块,不需要配置到其他Vplex集群的跨站点连接路径;根据需要选用Witness作仲裁,Witness需部署于两个Vplex集群不同的故障域中(第三方站点),且只能部署于VMware的虚拟化环境,通过IP的方式连接到两个Vplex集群。

(4)分布式一致性缓存技术:EMC Vplex是一个集群系统,提供分布式缓存一致性保证,能够将两个或多个Vplex的缓存进行统一管理,从而使主机访问到一个整体的缓存系统。当主机向Vplex的一个缓存区域写I/O时,Vplex缓存将锁定这个缓存区域,同一时刻其他主机是无法向这个缓存区域写入I/O的。但是,当主机读取I/O时,Vplex缓存允许多个主机访问一个缓存区域,尤其是主机访问其他Vplex集群中其他Vplex节点所管理的数据时,统一缓存管理会将这个I/O的具体缓存位置告知主机,主机直接跨Vplex集群访问。分布式一致性缓存技术在实现上面,并没有强求所有的Cache都保持统一,而是基于卷缓存目录的形式来跟踪细小的内存块,并通过锁的粒度来保证数据一致性。每个引擎的cache分为本地Cache(Cache Local)和全局Cache(Cache Global),每引擎的本地Cache只有26GB,其余为全局Cache,见下图。

(5)分布式缓存模式:Vplex Local和Vplex Metro采用了写直通缓存模式,当Vplex集群的虚拟卷接收到了主机的写请求时,写I/O直接透写到该卷映射的后端存储LUN(Vplex Metro包含两套后端存储LUN)中,后端阵列确认写I/O完成后,Vplex将返回确认信号至主机,完成本次写I/O周期。写直通缓存模式需要等待后端存储阵列落盘完成,对写I/O时延要求较高。这种写直通缓存模式并适合Vplex Geo方案,该方案最大支持50ms的跨站点往返延迟,采用该缓存模式将对主机产生非常大的性能影响,对于大多数应用而言显然是无法接受的。因此,Vplex Geo采用了回写缓存模式,在该模式下,Vplex收到了主机的写请求后,直接写入引擎控制器的缓存,并将写I/O镜像至引擎另一个控制器和另一套Vplex集群的引擎控制器的内存中,然后向主机确认本次写I/O周期。最后再将数据异步转储到引擎后端的存储阵列中。当出现电源故障时,Vplex引擎自带的备用电源能够保证缓存中的所有未持久化的数据暂存到本地SSD存储上。回写缓存模式无需等待后端存储阵列落盘,即可回响应主机,大幅提升了Vplex双活方案的距离和时延要求。

(6)读I/O加速能力:具有读Cache,写I/O的机制能对读I/O实现加速。为了提升读I/O性能,写I/O的时候先判断是否在Local、Global Cache中有对应的旧数据,如没有直接写入本地Local Cache;如有旧数据,先废除旧数据再写入Local;再通过写直通缓存模式将写I/O刷入两套后端存储阵列(见下图);最后反馈主机写I/O周期完成,同时Global Cache中的索引做相应修改,并在所有引擎上共享该信息,实现分布式缓存一致性。另外,Vplex该机制下的写I/O额外需增加2次跨站点往返延迟(官方宣称引入1-1.6ms延时),在Vplex Metro方案下,写直通缓存的基础上,额外又牺牲了一定写I/O性能。

读I/O的时候先读Local Cache,如命中直接读取,读I/O加速效果明显;如果在Global Cache中命中,则从对应的Vplex引擎Cache中将其读取到Local Cache,再反馈主机读I/O结果,读I/O加速效果次之;如果在Global Cache中没有命中,则从本地后端的存储阵列中读取到Local Cache中,并同时修改Local和Global Cache中的信息与索引信息,读I/O加速无效果。

(7)支持CDP技术:Vplex只提供存储异构虚拟化和镜像两项功能,快照、复制等特性需要添加EMC自身的RecoverPoint实现,所以Vplex的组网方式常常会考虑配合RecoverPoint一起使用。此外Vplex内部集成I/O分流软件,Vplex将每个主机写I/O同步复制到RecoverPoint,RecoverPoint将每个IO记录下来,采用CDP实现任意时间点恢复。下图为Vplex双活和Vplex双活+RecoverPoint CDP方案的写I/O流程对比,后者将增加写I/O时延,写I/O放大,影响一定的性能。


三、IBM SVC

1、双活方案概述

IBM在SVC存储双活技术上提供了两套不同的方案:Enhanced Stretch Cluster和HyperSwap,均是基于虚拟化存储平台之上的Active-Active数据中心的存储双活解决方案,为上层应用提供存储A-A双活或高可用架构,确保存储层的任一组件故障不会对上层应用产生中断影响。SVC Enhanced Stretch Cluster也就是SVC拉伸式集群架构,就是把同一SVC I/O Group内互为保护模式的双节点跨站点进行拉伸,分散在不同的两个数据中心,它们之间通过光纤链路连接,数据通过Vdisk Mirror技术实时镜像到两个站点上的两个存储上。SVC HyperSwap相较于SVC ESC,它出现的主要目的在于消除本地SVC节点单点隐患,增加主机存储冗余路径,进一步提升SVC双活的高可用性。通过Metro Mirror技术实现数据在两个I/O Group和两套存储之间的实时同步,同时解决单SVC节点故障引起的性能问题及双节点故障导致数据卷无法访问的问题。以上两种方案架构均为对称式架构,在第三站点可配置仲裁,以防止脑裂现象发生。

2、方案特点

(1)整体架构:SVC ESC采用Stretched的拓扑架构(下图一),每个站点最少1个节点,两个站点各1套存储,通过SVC VDM保持实时同步,对主机来说只看到一个Vdisk,主机与两个站点的SVC节点均建立连接路径,实现两个站点主机各自读写本地SVC节点和存储,达到存储Active-Active的目的,两个站点的存储网络通过DWDM间的裸光纤级联;SVC HyperSwap采用HyperSwap的拓扑架构(下图二),每个站点最少1个I/O Group,每个I/O Group配置两个SVC节点,提升了本地SVC节点的冗余度,两个站点各1套存储,通过SVC Metrol Mirror保持实时同步,对于不同站点的主机来说,看到的是不同的LUN,主机与跨站点的两个I/O Group均建立连接路径,提升了路径冗余度。

(2)光纤链路组网和仲裁:两种方案均可通过建立Private和Public两种FC网络进行访问隔离,Private网络用于两个SVC节点间或者两组SVC I/O Group Cache间的数据同步和心跳,Public网络用于主机与SVC节点间、SVC节点与存储间的数据传输,两个站点的FC存储网络通过两对跨站点DWDM(波分复用)间的裸光纤进行级联。仲裁方式上,支持仲裁盘和仲裁服务器两种模式,仲裁盘方式使用FC链路,仲裁服务器方式使用IP链路。

(3)I/O访问路径:在SVC ESC方案下,主机需配置到本站点SVC节点和远端站点SVC节点的I/O路径,以保证在本站点节点出现故障时,主机路径可立即切换至远端站点,访问同一I/O Group下的其他SVC节点;而在SVC HyperSwap方案下,跨站点的主机访问节点路径属于可选配置,为避免站点所有存储路径失效(APD)场景下RTO过长,推荐配置跨站点的主机访问节点路径。主机端通过SDDPCM多路径软件,并配置基于ALUA的路径策略,来指明哪个SVC节点是主机的本地节点,避免主机跨站点访问其他SVC节点。当本地路径未全部失效时,主机将优先访问本站点SVC HyperSwap I/O Group的Preferred Node。当本地路径全部失效时,主机将跨站点访问远端SVC HyperSwap I/O Group,但基于ALUA的路径策略并不能识别远端哪个是SVC Preferred Node,因此ALUA策略将变为Round-Robin,轮询访问远端所有SVC节点的端口。

(4)SVC ESC站点感知功能:两个站点的所有对象均具备站点化属性,包括SVC节点、主机、存储等,淡化了SVC Local集群下的I/O Group Preferred Node概念,I/O Group中的两个节点均是平等的,两个站点的主机对同一Vdisk的访问,可通过同一I/O Group的两个SVC节点并行访问。即本地读I/O优化,本地写I/O优化,确保I/O本地化,避免远程I/O访问带来的性能影响。

(5)SVC ESC缓存机制特性:SVC每个节点包含若干容量的缓存,用于实时存放主机I/O数据,减轻了I/O物理落盘带来的性能影响。SVC放置于主机和存储之间,并没有因此加大主机对存储访问的I/O时延,SVC具有扩展低端存储缓存的效果,一定程度上增强了低端存储的性能;SVC ESC的I/O Group的某个节点故障,另一节点接管,写缓存Disable,进入写直通模式,性能略有下降(对比SVC HyperSwap在站点故障场景下,远端I/O Group仍有完整的写缓存保护机制,可避免直接进入写直通模式带来的性能下降);SVC ESC的一个I/O Group,采用一套缓存表,所以能够实现写I/O的锁互斥机制,实现同一Vdisk的两个SVC节点和存储真正双活,并具有主机读写亲和性;当任意SVC节点的电源出现故障时,SVC内置的电池或者外置的UPS模块可持续供电,直至SVC节点内的缓存数据全部刷入后端存储阵列后,再关闭SVC节点。

(6)SVC HyperSwap主从卷机制:在建立好HyperSwap卷的关系后,两个站点的主机分别映射了Master卷和Aux卷,表示哪个卷正在作为主卷,提供所有I/O服务;具有Master卷的SVC I/O Group,两个站点所有的读写请求必须经过该I/O Group,若Master卷的I/O Group和主机在同一个站点,该站点的主机可以本地读写I/O Group和后端存储阵列。若Master卷的I/O Group和主机不在同一个站点,该站点的主机通过本站点的SVC I/O Group将请求转发至Master卷所在的I/O Group,由它来处理读写请求;HyperSwap会自动比较本地读写的I/O流量和读写转发的I/O流量,来决定是否反转Master和Aux的属性。I/O流量是指扇区的数量而不是I/O数量,在首次创建HyperSwap卷和初始化后,系统自动决定哪个卷为Master。如果连续10分钟以上,AUX卷的I/O流量(读写转发的I/O流量)大于所有I/O流量的75%,Master和Aux卷的属性将反转,通过该方式可避免频繁反转。综上特性,在HyperSwap主从卷的机制下,两个站点的主机可以实现本地I/O Group本地读写,但两套跨站点的存储为ACTVIE-STANDBY模式,Master卷所映射的后端存储阵列为主存储,Aux卷所映射的后端存储阵列为热备存储。

(7)SVC无缝卷迁移技术(NDVM):能将虚拟卷迁移到不同的I/O Group,实现对节点故障做出迅速反应,将面临单点故障的虚拟卷进行批量自动化迁移,使不同I/O Group不再孤立存在于集群当中,形成多I/O Group之间的冗余保护(下图上、中),会对迁移操作的产生的各种风险进行智能分析,保证迁移过程安全可靠。该技术通过SVC中内置的一个轻量级的应用实现,部署简单,使用方便,系统开销小。另外,可以通过温备节点快速替换故障节点的方式,快速的将集群恢复正常状态(下图下)。


四、HDS GAD

1、双活方案概述

HDS VSP系列存储的Global-Active Device解决方案使用独特的Hitachi存储虚拟化操作系统(SVOS)实现,该方案在G系列(G1500、G1000、G800、G600、G400、G200)和F系列(F1500、F800、F600、F400)存储都得到了支持,能够实现全局存储虚拟化、分布式连续存储、零恢复时间和零恢复目标、简化的分布式系统设计和操作。全局存储虚拟化提供“全局活动卷”。这些存储卷能够在两个存储或站点对同一份数据的两个副本同时读取和写入。这种Active-Active的存储设计在Local或metro集群配置中允许两个存储系统同时运行生产工作负载,同时保持完整的数据一致性和保护。

2、方案特点

(1)I/O访问路径:如下图所示,GAD采用Active-Active架构,支持主从阵列同时读写,所有I/O写操作都是先写主LUN后写从LUN;通过原厂HDLM多路径软件来配置优选路径,可以支持本地优先读写策略,G1000之后版本支持ALUA功能,自动识别本地站点的优选路径,同时也兼容主流OS的第三方多路径;当本地路径全部故障时(APD场景),主机将通过StandBy路径继续跨站点访问远端存储。通常主从站点支持100KM距离,支持FC/IP复制链路,支持8条物理路径和阵列主机交叉组网。在VSP G1000、VSP G1500、VSP F1500之后的版本,最大支持500KM(RTT往返时延20ms)的SAN双活;最大支持32仲裁盘(存储或服务器磁盘),不支持虚拟机或物理机IP仲裁的方式。

(2)存储层组网:GAD的组网相对比较灵活,单机双阵列组网是用在数据中心内,只能实现存储层的双活能力,服务器主机是单点,只能防止存储故障,这种组网方式常用在不支持集群的应用中;双机双阵列组网是比较常见的组网方式,这种组网需要服务器安装集群软件,来实现业务的切换。这种组网在存储层和应用层都可以实现业务双活;交叉组网类似于双机双阵列组网方式,但在网络层实现了交叉冗余,这种方式是推荐的组网方式,也就是服务器都可以看到所有的存储,服务器同时采用集群软件和多路径软件来完成故障的切换,切换的方式更加合理,比如存储故障,服务器集群可以不切换,只需要多路径软件切换存储就可以了;下图为本地模拟跨站点的GAD组网拓扑图,主机访问存储网络、存储间镜像往返网络、主机跨站点存储访问网络、第三站点仲裁网络全部隔离。站点1的主机通过红色路径写站点1的VSP存储,通过站点间ISL的网络将镜像数据同步至站点2的VSP存储。站点2的主机通过蓝色路径写站点2的VSP存储,通过站点间另一对ISL网络将镜像数据同步至站点1的VSP存储。

(3)Virtual Storage Machine(VSM):HDS在一台物理存储内允许用户按照业务和应用的要求定义多个VSM,VSM与一台存储类似,具备自己的存储ID、设备序列号和端口WWN。通过VSM的定义,能够有效提高存储资源利用率,并实现架构、业务灵活性最大化。VSP最大支持8个VSM,但可以支持63231对双活的GAD卷。HDS GAD技术通过设置SVM的方式使两台存储使用相同的虚拟序列号,让主机把两台物理存储(可能包含多个SVM)看成一台存储。在一台物理存储内允许用户按照业务和应用的要求定义多个VSM。VDKC是VSP上虚拟出来的一个虚拟控制器,它可以将多台存储底层的物理控制器虚拟成同一个控制器,这样主机通过虚拟控制器访问后端磁盘资源时,始终和一个控制器ID交互,无论后台存储如何变化主机都不会有感知,从而实现了双活等特性。

(4)微码实现数据一致性:HDS GAD基于微码实现双活,主机、交换机、存储整个I/O路径不需新增任何设备。HDS GAD技术在主机写I/O过程中不会增加任何的多余步骤,实现方式就是增强的同步复制技术TrueCopy,两边写I/O完成后才返回给主机,全程确保数据完整性,两台主机同时写同一个存储块时,HDS会对写存储块加锁,保证数据的一致性。主机读I/O通过多路径保持站点亲和性,从本地读。

(5)HDS 3DC技术:HDS支持“双活+复制”的3DC模式,即HDS GAD+存储异步复制,并且支持SAN和NAS的3DC的三角增量复制。主站点和异地站点的异步复制通过日志方式记录数据差异,双活主从LUN都记录与容灾站点差异数据,差异记录开始时会对齐日志ID ,某个双活节点故障后,另一个节点继续与异地灾备站点继续复制,差量数据可通过查询日志ID获取。

(6)硬件实现支持快照和克隆:HDS的快照和克隆功能基于专用硬件实现,性能高,并且快照对主从节点都可见。

(7)HNAS+GAD双活:HDS通过HNAS网关配合VSP GAD来实现NAS双活,见下图,对外提供SAN块存储服务和NAS文件系统服务。但是NAS双活依赖SAN双活,HNAS目前支持2个HNAS网关集群绑定GAD组成拉远的Active-Passive双活。数据读写在主端完成,但是从端也可以通过配置Cache和CNS情况下,通过Cache支持部分读。整个HNAS文件系统数据保存在GAD双活设备上,HANS节点的主要工作是完成站点间元数据、状态和控制数据同步。

(8)HNAS+GAD双活组网:如下图所示,NAS集群NVRAM数据复制支持100KM 10GE组网,GAD主从站点宣称支持500公里FC组网,最多支持8条物理链路。HNAS节点与GAD支持交叉组网,在APD场景下仅切换I/O路径,不切换HNAS网关;NAS采用仲裁服务器模式,支持GE组网,SAN采用仲裁盘模式仲裁,主从站点与仲裁的连接采用FC链路,SAN和NAS采用独立的两套仲裁系统。网络复杂性上,HNAS需要独立的仲裁网络、管理网络、镜像网络和NAS服务访问接入网络,GAD也需要独立的仲裁网络、管理网络、数据镜像网络和SAN存储服务接入网络,一共需要8类网络,对网络接口需求多,架构和配置比较复杂。


五、NetApp MetroCluster

1、双活方案概述

Clustered Metro Cluster(简称MCC)是Netapp Data Ontap提供的存储双活解决方案,能够增强NetApp硬件和ONTAP存储软件的内置高可用性和无中断运行功能,为整个存储和主机环境提供一层额外保护。通过将1个FAS/V系列存储的双控,利用光纤或光纤交换机将控制器距离拉远,形成异地HA Pair,控制器间通过SyncMirror实现Aggr级别的数据镜像,存储镜像物理分离。为进一步提升本地控制器的冗余度,在本地和异地分别放置两个控制器,本地两个控制器组成一对HA Pair,本地和异地两对集群再形成四节点集群,互相保护。

2、方案特点

(1)存储层组网:Metro Cluster存储层组网非常复杂,主从站点支持300公里FC组网;SAN Cluster最大支持12控,NAS Cluster最大支持8控;在下图的4控制节点组网中,需要同时配置3种网络互联设备,6种网络类型,12套网络设备:包含4套FC-to-SAS转换设备、4套FC交换机、4套10GE交换机;引擎内双控间不支持PCI-E互联,需通过外部10GE/4GE以太网络互联;第三站点仲裁可选择IP链路,可以将TieBreaker仲裁软件直接安装Linux主机上。

Metro Cluster里面涉及几类数据同步,包括两个集群配置同步,NVRAM的日志同步,以及后端磁盘同步,系统里面这3类数据同步采用不同的网络。两集群配置同步网络:通过专用冗余TCP/IP网络,由CRS (Configuration Replication Service)服务实时同步两个集群的配置数据,确保集群一端修改的配置,如新增IP,SVM或者新增、删除用户共享等配置操作,能够自动同步到远端HA Pair集群;NVRAM日志同步网络:使用额外冗余的FC-VI集群适配器连接两个跨站点的主控,FC-VI支持RDMA,支持Qos等功能,用于两个集群间的NVRAM同步和心跳,既能保证心跳的优先级,同时又能减少数据的写I/O的传输次数,因为RDMA支持批量获取一组地址空间技术,批量获取一组地址以后,后面就直接传输数据,将FC协议2次写优化成接近1次;后端数据下盘双写网络:控制器与存储阵列间采用了独特的FC-to-SAS设备,控制器数据传输采用的是FC网络,而后端磁盘阵需要通过SAS进行连接组网,因此需要先进行FC和SAS转换(Fibre Bridge),用指定思科和博科型号专用交换机连接两个站点控制器与后端磁盘,并完成协议转换。

(2)Metro Cluster集群:Metro Cluster每个控制器的NVRAM都分成4个区域,分别用于存取节点本地日志、HA Pair Partner日志、远端HA Pair Partner日志以及远端HA Pair auxiliary日志(用于切换)。当新请求写操作时,先写到本地,再同步到本地HA Pair的NVRAM,以及远端的DR Pair的NVRAM后,返回成功;当本地控制器故障以后,优先将业务切换到HA Pair节点上;控制器恢复以后,自动切换回来,只有当整个站点都故障时,业务才会切换到远端的站点运行。切换时间控制在120s以内完成,不影响上层业务。

(3)SyncMirror同步:SyncMirror是Netapp双活的核心数据同步技术,在NVRAM日志下盘时,实现主从站点的盘的双写。SyncMirror工作在Aggregate层上,镜像的Aggregate由2个Plex组成,来自本地Pool0的Plex0和远端的Pool1的Plex1。写流程:当有NVRAM日志开始刷盘时,写请求会同时写到本地的Plex0和远端的Plex1, 两边同时写成功以后,返回成功。读流程:数据会优先从本地Plex0读数据,远端的Plex1的读权限需要命令打开,默认情况下,远端Plex1不提供读业务。

Plex在站点内单边故障的时候,通过Aggregate的快照来进行增量恢复,默认Aggregate里面预留空间用于做Aggregate的快照,作为Aggregate重新同步的基准数据。如果没有做快照,一个Plex故障以后恢复,需要做全量同步。

(4)AP架构:NetApp MCC方案是基于磁盘镜像的架构,对上层应用只看到一个LUN/文件系统,通过镜像Aggregate实现双活,正常情况下,读从本地Plex读取数据,写会将数据同步到本地和远端两个Plex。无论是2节点还是4节点的MetroCluster集群,同一时刻,LUN/文件系统还是只能提供给组成集群HA Pair集群的一个节点,只有当这个节点故障以后,HA pair的Partner节点才会接管提供业务,或者当整个站点故障以后,从站点HA pair集群才会接管业务,站点切换可以通过手动执行CFOD命令或者通过TieBreak仲裁软件触发自动切换。因此从其本质上来说,为一套阵列的不同引擎间的双活,并非同一LUN的双活,因此仅仅是Active-Passive模式下的阵列双活。

(5)异构虚拟化:能够接管现网异构存储,但不支持FAS系列本地磁盘与异构存储间双活,支持相同厂商、相同型号,相同FirmWare的两套异构存储之间实现双活;接管异构存储时将破坏原来阵列数据,接管前需要将原阵列数据迁移至别处,接管之后将原来的数据迁移回来。

(6)丰富的增值特性:FAS全系列产品(FAS3240, FAS3210, and FAS3270 ,FAS2xxx除外 )均支持MetroCluster,且无需单独license,产品基础包已包含该功能;能够同时支持SAN和NAS双活,实现块存储和文件存储一体化双活;其他增值功能支持SSD加速,快照,复制,数据压缩,精简配置,重删等特性。


参考文献:
华为业务连续性容灾解决方案双活数据中心解决方案技术白皮书
Clustered Metro Cluster双数据中心存储方案
HAM/GAD双活数据中心存储方案
Vplex双活数据中心存储方案

如有任何问题,可点击文末阅读原文到社区原文下评论交流


 相关推荐:

  • 基于存储网关与基于存储双活引擎的这两种存储双活方案各自的优缺点是哪些?

    http://www.talkwithtrend.com/Question/424855

  • 基于oracle rac数据库,选用哪种存储双活方案更适合?

    http://www.talkwithtrend.com/Question/418533


欢迎关注社区 "存储双活"技术主题 ,将会不断更新优质资料、文章。地址:

http://www.talkwithtrend.com/Topic/1431


下载 twt 社区客户端 APP

与更多同行在一起

高手随时解答你的疑难问题

轻松订阅各领域技术主题

浏览下载最新文章资料


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存