浅谈华为存储双活技术文档格式.docx
《浅谈华为存储双活技术文档格式.docx》由会员分享,可在线阅读,更多相关《浅谈华为存储双活技术文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
再比如,停车场的挖土机导致的断电或当整个IT设备启动和运行时一个应用程序故障都将会导致业务连续性的中断。
云时代对企业的业务连续性要求更高,单纯的数据备份、存储复制等功能已经无法满足企业对RPO=0和RTO=0的诉求,企业需要考虑更加完善的解决方案来满足对业务连续性的需求。
通过如上描述可以看到,与能够保证业务连续的双活解决方案相比,传统“Active-Passive”式容灾方案存在如下几个不足,这也是双活方案更能吸引CIO们的原因:
●传统灾备方案中,灾备中心不能对外提供服务,常年处于闲置状态而造成资源的“浪费”,资源利用率低。
双活更强调双中心协同工作,使IT资源利用率与投资回报倍增。
●当生产中心遭遇业务系统故障、供电故障甚至火灾等灾难时,传统灾备方案需要专业人员手动将业务切换到灾备中心,此间需要专业的恢复策略和一定时间的调试验证,业务中断时间不可控,无法保证企业业务连续运行。
●在传统的灾备方案中,为了保证数据中心的可用性,企业IT都要定期进行容灾演练。
而这种大费周章的演练在双活数据中心时代是完全不需要的。
一旦一个生产中心出现故障,另外的生产中心可以不需要人工干预,随时接管业务,对上层用户完全透明,降低管理的复杂度。
注:
容灾解决方案(DR:
DisasterRecovery)
)与业务连续性(BC:
BusinessContinuity)
第三章双活建设目标
双活数据中心的建设目标是保证两个数据中心同时接受交易,处理相同数据,如果一个生产中心出现问题时,交易可以在另一个中心持续进行,基本不需要进行系统切换,生产中心和容灾中心保持实时及一致的数据。
系统双活“0”切换:
✓降低灾难应对决策难度和时间
✓有效避免故障时技术平台的切换操作过程
✓减少维护工作量,交易平滑在数据中心移动
第四章双活解决方案
针对传统灾备系统建设面临的挑战,基于华为存储的双活数据中心解决方案应运而生,保证关键应用的业务连续性。
华为HyperMetro免网关阵列双活方案,以华为OceanStorV3融合存储的HyperMetro特性为基础,与数据库集群、传输设备和网络等组件相结合,为客户提供300千米内的端到端双活数据中心解决方案,确保业务系统发生设备故障、甚至单数据中心故障时,业务自动切换,上层应用无感知,实现RPO=0,RTO=0。
华为HyperMetro免网关阵列双活方案,是由两套独立的OceanStorV3存储系统同时提供两个实时一致的数据副本供业务主机读写访问,任意一副本故障,都不影响业务的连续运行。
华为HyperMetro免网关阵列双活方案示意图:
华为HyperMetro免网关阵列双活方案的特点:
⏹独立的两套存储系统:
在两套软硬件相互独立的OceanStorV3存储系统之间实现双活,可以有效的隔离单存储系统的故障扩散,可靠性更有保障。
⏹SAN与NAS一体化双活:
不需要在SAN设备上再叠加额外NAS网关,并通过阵列本身特性在业务层面同时实现数据库与文件的双活,降低业务部署复杂度并有效减少I/O路径故障点,提升系统可靠性。
⏹可并发读写的A-A访问机制:
两个数据中心提供强一致性的数据镜像副本,可以同时为上层应用提供相同业务数据,实现业务负载均衡。
当一个数据中心故障时,业务自动切换到另一个数据中心,数据零丢失,业务零中断。
⏹实时同步的双活副本:
两个双活副本保持实时一致,RPO=0,RTO=0。
即便第三方仲裁故障后双活LUN仍然具备同时提供读写访问的能力,以保障数据的实时同步。
⏹保障性能的FC复制链路:
双活数据中心间的SAN网络和数据镜像同步网络支持FC组网,能够保证关键业务双活后的性能。
众所周知,IP网络很难满足业务高性能,低时延的诉求,对数据中心部署的距离限制更加苛刻。
⏹独立第三方仲裁机制:
华为HyperMetro免网关阵列双活方案提供双重仲裁模式,即同时支持第三方仲裁和预定优先两种模式,且支持两种模式间自动转换。
第三方仲裁可以采用物理或者虚拟服务器的方式实现,且生产中心与仲裁服务器只需要IP网络可达即可,不同于业界部分厂商需要用第三方阵列做仲裁以及必须FC组网的方式,华为HyperMetro免网关阵列双活方案更灵活,TCO更低。
此外,即便第三方仲裁发生故障,华为HyperMetro免网关双活方案可自动进入预定优先模式,较传统双活方案的仲裁机制更完善,业务连续性更高。
⏹高可靠:
每个双活数据中心都有OceanStorV3存储的冗余控制器,即便单控制器发生故障剩余控制器能继续提供业务,不需要将业务切换到对端的数据中心,性能及效率更高。
此外,在最极端情况下,构成双活系统的4个控制器即便有3个出现损坏,业务仍然能连续运行。
⏹广泛的增值特性兼容:
华为HyperMetro双活特性可以结合异构虚拟化特性接管不同厂商、不同品牌的存储设备,用户可以充分利用现有存储设备资源,实现高可靠的存储资源整合,提高资源利用率,充分保护用户现有投资;
也可以与快照,远程复制等增值特性结合,充分利用本地数据保护和远程数据保护的特点,提供更高级别的业务连续性保护。
⏹可视化与简单化的容灾管理:
华为HyperMetro免网关阵列双活方案的容灾管理软件,能够提供简化管理的容灾拓扑展示与端到端监控功能,直观清晰的展示保护方案的状态与变化,实时监控相关设备部件,实现业务灾难切换前就识别问题与故障并协助用户排除,规避影响业务和增加成本的容灾切换发生。
华为HyperMetro免网关阵列双活方案为用户提供6个9的可靠性
第五章客户价值
华为充分利用其宽产品线的优势,通过多产品的紧耦合,为客户提供端到端双活数据中心解决方案,也是业界唯一可提供端到端双活解决方案的厂家。
面临着市场的不断变化和业务的高速发展、以及IT系统的可用性和业务性的需求,华为双活解决方案携手XX打造同城灾备建设,解决业务高速发展对IT系统提出的更高要求,具体表现如下:
●业务连续性:
华为双活方案融合了华为传输与存储技术的优势,是完整数据中心双活解决方案,可实现7x24小时业务不间断运行,RPO=0,RTO≈0,且维护过程中业务也不中断。
●提升同城资源利用率:
与传统主备容灾同城灾备中心资源处于热备状态不同,华为双活方案可以实现IT系统在同城范围内的高可用,提高同城数据中心和IT资源的利用率。
●保护投资,降低灾备TCO:
华为双活方案通过端到端拉通,与主流数据库厂家合作,设计调优,支持银行原有第三方存储,实现存储设备统一管理,从而帮助紫金农商行充分利旧,保护投资。
●智能灵活,可视管理:
用户端和渠道端数据就近访问,业务自动负载均衡,可平滑演进至两地三中心架构,生产中心应用模板自动发放并与LB联动,统一管理,实时监控灾备状态。
第六章华为双活技术架构
六.1华为双活数据中心的定义及分类
“双活”数据中心,是指对于同一业务系统两个数据中心都能同时提供业务,且互为备份,满足多种故障场景,业务可以自动完成切换访问,用户几乎无感知。
双活数据中心涉及到应用、计算、网络和存储等多个层面,其中存储系统双活是双活数据中心最主要的构成,同时也是最重要的一环。
存储层双活解决方案,是指由两套独立的存储设备提供两个实时一致的数据副本,两个副本可以被同一业务主机并发读写访问,且任一副本故障,不影响上层业务连续运行。
目前主流的存储层双活解决方案主要分为以下三种方式:
●Active-Passive阵列双活解决方案:
仅主站点阵列承担业务负载,从站点阵列并不处于实时提供业务的状态(分不可访问和业务转发两种模式)。
提供仲裁机制,单站点故障下能够实现业务连续。
但需要注意的是,这种模式下如果主站点服务器与主阵列间链路故障,可能会导致业务中断。
●Active-Active阵列双活解决方案:
主从站点双活架构,同一个双活LUN的所有I/O路径均可同时被访问,主从阵列均可处理同一业务I/O,系统间无需转发,实现业务负载均衡,提供完善的仲裁机制,发生故障时无缝切换。
这种Active-Active架构的双活就是通常我们所说的真正意义的阵列双活架构。
●网关型双活解决方案:
由专有设备对磁盘阵列虚拟化接管后再实现Active-Active双活,能够实现负载均衡,提供仲裁机制,单站点故障下能够实现业务连续性。
需要注意的是,增加网关设备意味着组网复杂度加大,购置和管理成本也会增加;
外置网关的引入让IT系统增加了更多的节点,I/O路径的变长导致系统时延增加,对系统整体可靠性和性能都会造成一定影响。
尤其是全闪存应用日益盛行的时代,网关设备很容易成为整个系统实现高性能与低时延的阻碍。
通常我们所说的阵列双活解决方案指的就是Active-Active阵列双活解决方案,IDC认为Active-Active阵列双活解决方案应该满足如下几方面条件:
●由两套软/硬件相互独立的存储系统之间实现双活。
(如果是单套存储不同引擎间实现的双活,无法处理单存储系统挂死等异常场景,很可能导致业务中断。
)
●两套存储系统是否可以同时为上层应用提供同一个LUN的读写权限,双活的两个副本都处于活动状态(非主备模式),对外提供实时一致的镜像数据卷(RPO=0,RTO=0)。
●提供独立的仲裁机制。
(当提供双活LUN的两套存储系统之间的链路故障时,阵列已经无法实时镜像同步,此时只能由其中一套阵列继续提供服务。
为了保证数据一致性,必须有独立的第三方仲裁来决定由哪套阵列继续提供服务,否则容易出现脑裂,或者停止服务。
●两套存储系统间的双活复制链路支持高性能的FC组网。
(保证关键业务双活后的性能。
六.2双活数据中心架构
端到端双活数据中心解决方案分为6层:
存储层、计算层、应用层、网络层、传输层和安全层。
逻辑架构图,如下:
端到端双活数据中心解决方案,为了实现更好的可靠性、性能和负载均衡,针对每一层进行一些设计和优化。
各层设计要点:
方案模块
设计要点
存储层
●免网关双活架构。
●通过OceanStorV3阵列的HyperMetro功能,实现存储层的双活,减少方案故障点,避免存储虚拟化网关的I/O性能瓶颈。
●通过OceanStorV3阵列的SmartVirtualization功能,接管现网异构存储,将不同的存储资源的统一池化。
●通过FastWrite功能,将标准的1个写I/O2次往返优化为1次往返,提升写性能。
●通过自适应网络功能,提升链路性能不均匀时的双活性能。
网络层
●采用华为CloudEngine系列数据中心交换机的EVN技术。
●通过EVN打通大二层网络,实现2层网络协议在3层网络上运行,保障了业务的跨数据中心互联互通。
●通过多种互联优化技术,实现广播域隔离,达到数据中心间东西向流量优化。
●通过双活网关和路由注入等访问优化功能,优化数据中心间南北向流量优化。
安全层
●通过华为USG系列提供数据中心的FW、IDS等安全防护功能。
●通过数据中心间光传输加密技术,支持AES-256等多种加密算法,预防数据中心间数据窃听。
计算层
●采用华为FusionSphere、VMware等虚拟化平台提供跨数据中心大集群技术,满足企业多种关键业务双活的需求。
应用层
●和App应用基于虚拟化集群提供更好的可靠性,通过负载均衡实现业务自动切换。
●数据库基于双活LUN实现跨站点集群双活部署。
传输层
●采用华为OptiXOSN系列作为双活数据中心的波分设备。
●通过线路冗余,板卡冗余,设备冗余三种1+1保护方案,满足多级可靠性要求。
●通过色散补偿等调优手段,确保传输层延时最小。
六.3双活数据中心部署
整体的方案物理组网图
方案模块部署方式
模块
部署方式
●跨DC的两套华为OceanStorV3系列存储阵列组成一个存储集群。
●支持其中一台异构接管第三方存储,使用接管后的LUN与另一台V3上的LUN构建双活LUN。
●采用华为CloudEngine系列数据中心交换机作为核心交换机。
●数据中心内部采用典型二层或三层物理架构组网,启用EVN形成二层通道,由核心交换机通过CSS+链路聚合接入波分设备。
●每个站点部署一台独立的GSLB实现站点间负载均衡。
●每个站点部署2台SLB,组成HA集群,实现应用层服务器的负载均衡。
●web、App层可以部署在虚拟机或者物理机上,DC内的多台服务器组成集群,或者跨DC的多台服务器组成集群。
●数据库建议物理机部署,跨数据中心组成一个集群。
●采用华为OptiXOSN系列DWDM,每个站点部署2套波分设备。
●如若不能设备级冗余,则需要至少每套波分设备配置2块传输板卡,实现板卡冗余。
●将多路FC信号和IP信号复用到光纤链路上传输,每套波分设备通过两对裸光纤互联。
●采用华为USG系列防火墙,每个站点部署2台防火墙,接入核心交换机。
●在华为OptiXOSN系列DWDM启用传输加密功能。
仲裁
●选择一个第三方站点部署仲裁设备和软件。
●软件支持安装在物理服务器或虚拟机上。
●仲裁服务器使用IP网络连接到双活数据中心的两套存储阵列。
第七章存储层双活技术介绍
华为双活数据中心解决方案存储层基于OceanStorV3融合存储系统的HyperMetro特性实现。
HyperMetro采用AA双活架构将两套存储阵列组成跨站点集群,实现数据实时镜像,具有高可靠、高性能和高扩展的特点。
本章节将对HyperMetro特性的主要技术原理和特点进行介绍。
七.1AA双活架构
七.1.1并行访问
HyperMetro特性基于两套存储阵列实现AA(Active-Active)双活,两端阵列的双活LUN数据实时同步,且双端能够同时处理应用服务器的I/O读写请求,面向应用服务器提供无差异的AA并行访问能力。
当任何一台磁盘阵列故障时,业务自动无缝切换到对端存储访问,业务访问不中断。
相较于AP方案,AA双活方案可充分利用计算资源,有效减少阵列间通信,缩短I/O路径,从而获得更高的访问性能和更快的故障切换速度。
双活方案的交互流程。
存储双活架构:
七.1.2免网关设计
HyperMetro双活架构无需额外部署虚拟化网关设备,直接使用两套存储阵列组成跨站点集群系统。
最大支持32个存储控制器,即两套16控存储阵列组建双活关系。
●本方案架构精简、与存储增值特性良好兼容,对客户的价值如下:
●减少网关故障点,提高方案可靠性。
●I/O响应速度更快,无需经过存储网关转发,减少网关转发I/O时延。
●双活可以兼容存储阵列已有特性,与OceanStorV3融合存储系统的其它Smart系列和Hyper系列特性组合,可为客户提供多种数据保护和灾备解决方案。
●显著降低双活组网复杂度,便于维护。
七.1.3I/O访问路径
HyperMetro在应用主机则,通过UltraPath主机多路径软件,将两台存储阵列上的双活成员LUN聚合为一个双活LUN,以多路径vdisk方式对应用程序提供I/O读写能力。
●应用程序访问vdisk时,Ultrapath根据选路模式,选择最佳的访问路径,将I/O请求下发到存储阵列。
●存储阵列的LUN空间上接收到I/O请求后,对于读I/O请求,直接读本地Cache空间,将数据返回应用程序;
对于写I/O请求,首先会进行并行访问互斥,获取写权限后,将I/O请求数据同时写本地双活成员LUNCache以及对端的双活成员LUNCache,双端写成功后返回应用程序写完成。
双活IO路径图:
七.1.4存储层组网
两套双活存储阵列间通信支持FC或IP链路,推荐使用FC链路。
另外,存储阵列和仲裁服务器之间的链路采用更易于获取的IP链路。
下图为4控制器的双活组网情况下,FC交换机端口占用情况
阵列双活方案组网
七.2高可靠技术
HyperMetro在继承OceanStor存储系统高可靠设计的基础上,全新设计了一些解决方案级高可靠技术,最大化提高了存储双活方案的可靠性。
本章节将从以几个方面介绍HyperMetro的高可靠技术:
●跨站点集群
●跨站点数据实时镜像
●跨站点坏块修复
●仲裁防脑裂
●高可靠链路设计
七.2.1跨站点集群
两套独立的存储阵列组建成跨站点集群,并以跨站点集群为核心,提供双活存储架构,向应用服务器提供无差异的并行访问,处理应用服务器的I/O请求。
双活跨站点集群配置过程极为简单,只需要将两套存储阵列配置成双活域,即可完成跨站点集群配置。
跨站点集群系统使用阵列间FC或IP链路作为通信链路,完成全局节点视图建立和状态监控。
在全局节点视图基础上,跨站点集群系统提供分布式互斥等能力,支持AA双活架构。
下图为双活跨站点集群示意图。
双活跨站点集群
集群节点具有并发访问能力。
1)当出现单个控制器故障时,主机业务将由双活跨站点集群的其它工作控制器承接。
由于本地集群要进行故障自检,为了减少对性能和可靠性的影响,系统优先选择由远端集群的控制器承接主机业务,待本地集群故障自检完成并且通过后,本地集群继续提供主机业务服务能力。
2)本地集群工作控制器全故障时,由远端集群接管主机业务。
双活访问与切换图
在跨站点集群基础上,HyperMetro以双活Pair或双活一致性组为单位提供服务和进行状态管理。
两套存储阵列上的双活成员LUN组成一个虚拟双活LUN,通过实时镜像技术保持两个数据中心的双活成员LUN的数据实时一致。
一致性组是多个双活pair的集合,可以确保单个存储系统内,主机在跨多个LUN进行写操作时数据的一致性。
一致性组进行分裂、同步等操作时,一致性组的所有双活pair保持步调一致。
当遇到链路故障时,一致性组的所有成员对会一起进入异常断开状态。
当故障排除后,所有成员同时进行数据的同步,从而保证从站点灾备阵列数据的可用性。
七.2.2跨站点数据实时镜像
HyperMetro通过实时镜像功能,保证两个站点存储阵列之间数据的实时同步。
主机写操作通过实时镜像技术同时写入两个数据中心的双活成员LUN,保持数据实时一致。
具体的写I/O流程如下图所示。
跨站点镜像
假如数据中心A阵列收到写I/O,镜像处理流程如下:
1)申请写权限和记录写日志:
数据中心A阵列收到主机写请求,先申请双活Pair的写权限。
获得写权限后,双活Pair将该请求记录写日志。
日志中只记录地址信息,不记录具体的写数据内容。
该日志采用具有掉电保护能力的内存空间记录以获得良好的性能。
2)执行双写:
将该请求拷贝两份分别写入本地LUN和远端LUN的Cache。
3)双写结果处理:
等待两端LUN的写处理结果都返回。
4)响应主机:
双活Pair返回写I/O操作完成。
HyperMetro支持断点续传功能。
当某些故障场景(如单套存储故障)导致双活Pair关系异常断开时,HyperMetro通过记录日志的方式,记录主机新产生的写I/O。
当故障恢复时,HyperMetro将自动恢复双活Pair关系,并且将所记录的增量数据自动同步到远端,无需全量同步所有数据,整个过程对主机“透明”,不会影响主机业务。
双活主机访问状态表
双活镜像状态表
七.2.3跨站点坏块修复
硬盘在使用过程中可能因为掉电等异常情况出现坏块,如果是可修复错误但是本端已经无法修复时,HyperMetro将自动从远端阵列获取数据,修复本地数据盘的坏块,进一步提高系统的可靠性。
跨站点数据修复
数据中心A阵列出现坏块时,从该阵列读I/O处理流程如下:
步骤1主机下发读I/O。
步骤2读本地LUN。
步骤3读取到坏块后,如果为可修复错误,执行步骤4,否则执行1、2后流程结束。
1.重定向远端读。
2.远端读返回。
步骤4将读数据返回主机,确保主机响应的快速返回。
步骤5根据远端的读数据,进行本地写入修复。
步骤6写修复结果返回。
----结束
七.2.4仲裁防脑裂
当提供双活LUN的两套阵列之间的链路故障时,阵列已经无法实时镜像同步,此时只能由其中一套阵列继续提供服务。
为了保证数据一致性,HyperMetro通过仲裁机制决定由哪套存储继续提供服务。
HyperMetro支持按双活Pair或双活一致性组为单位进行仲裁。
当多个双活Pair提供的业务相互依赖时,用户需要把这些双活Pair配置为一个双活一致性组。
仲裁完成后,一个双活一致性组只会在其中一套存储阵列继续提供服务。
例如,Oracle数据库的数据文件、日志文件可能分别存放在不同的LUN上,访问Oracle数据库的应用系统存放在另一些LUN上,相互之间存在