飞一直飞
作者飞一直飞2022-10-31 14:47
系统工程师, 某城商行

某城商行两地三中心建设存储架构规划及方案验证实践

字数 6709阅读 1336评论 4赞 5

摘要:

本文以某城商行实际“两地三中心”规划建设项目为背景,以该行金融科技发展规划为基础,符合监管机构政策要求,详细介绍了在存储规划和选型过程中的相关思考。内容包括对现状问题的分析、容灾架构思考、双活架构规划、设备方案验证、存储设备选型等方面的思考,希望本文能为同业双活数据中心或“两地三中心”建设过程中带来一定借鉴作用。

1. 项目背景及目标

1.1 项目背景

XX银行未来数据中心体系架构应当能够支撑XX银行未来的业务发展目标,具体需要考虑未来的业务要求、经济发展对于业务的新要求、社会环境变化对于未来业务的挑战等。根据XX银行的业务发展目标,制定适合XX银行的未来IT基础架构发展目标,从而指导XX银行未来IT基础设施的建设。

根据IT基础设施发展方向,选用先进可行的技术路线、架构策略。

积极利用国际先进的理念和实践,充分考虑行业和信息技术方面的先进技术(例如:虚拟化、云计算、双活数据中心、分布式架构等等),并对未来3-5年的发展有一定的预见性,同时考虑采用成熟可靠的先进技术同XX银行的实际情况有机结合,兼备先进性和可操作性。

1.2 设计目标

本文旨在详细描述XX银行未来两地三中心存储架构的规划设计,详细内容包括:现状调研分析、规划设计方案、存储设计规范与规划、以及业务系统对应存储规划等内容。

针对本次XX银行两地三中心建设项目存储规划设计的目标主要体现在以下几点:
1) 满足存储双活数据中心整体架构设计需求;未来实现同城双活数据中心,支持A类 、A+业务系统 “双活”存储部署设计方案;
2) 高性能:采用全闪存存储,具备海量处理性, 满足对亿级业务数量的支撑;具备千万级日均业务量的处理能力;
3) 高可用性:应具备高可用性,在满足金融监管对于恢复点目标(recovery point objective ,RPO)与恢复时长目标(recovery time objective, RTO)要求的基本前提下,保障XX银行业务的连续性 、数据的一致性;
4) 低风险:应具备高冗余性,全存储架构均应采用高冗余度的设计,杜绝单点风险;在极端故障场景下,应能尽量缩小故障的影响范围。

1.3 存储设计原则

  1. 安全可靠:整个方案的设计实施过程要确保数据不丢失、不损坏;应对硬盘级、模块级、设备级、机柜级等多种故障场景下,数据安全可靠;
  2. 业务连续性:方案设计要充分考虑到业务对存储的要求,达到业务系统对存储设备高可靠的要求;
  3. 技术先进:系统必须严格遵循国际标准、国家标准和国内IT行业的规范要求;需符合存储技术以及IT行业的发展趋势;业务处理能力达到业内领先,确保较长时间满足业务需求;
  4. 开放融合:对国际、国内标准完全兼容,目前使用的所有IT基础设施保持良好兼容;
  5. 简易维护:方案所采用产品系统支持简体中文,操作方便、简单;可自动报警、在线扩展、无中断升级;支持WEB管理方式或集中管理方式;
  6. 绿色经济:方案满足环保与节能的要求,噪声低、能耗低、无污染;综合考虑方案实现的经济性,以最经济最有效地进行建设,性能价格比在同类系统和条件下达到最优。

2. 原存储架构问题分析

生产数据中心和同城数据中心各使用1台DS8870存储,使用Metro Mirror技术进行同步复制,另外在两个数据中心各部署多台V7000存储,用来承载虚拟化服务器,生产中心还部署多台NAS存储。同城两中心承载XX银行154套业务系统数据。两中心存储共26套,17套部署在生产数据中心,9套部署在同城数据灾备中心,现网问题分析如下:

3. 设备的选型

基于数字化转型以及数据中心变革,XX银行也在不断地总结不断地思考。现有核心系统基础设施老旧,性能出现瓶颈,且核心共享文件存储也无高可用部署,可靠性风险加大,已不能满足核心系统的性能、可靠性要求,面对产品与流程的创新、系统性风险的预防、用户满意度提升以及业务需求快速响应的要求,作为数据基础设施的存储系统,也应具备以下能力:应用更前沿的技术架构,提供更好的性能表现,技术自主可控,具备核心竞争力,能够为业务系统提供更优质的存储服务。针对原存储的各种痛点和问题,XX银行邀请IBM、日立、华为和宏杉等多个厂商进行了产品测试,测试的产品均为各厂商高端全闪存储。经过综合对比,XX银行选择使用全闪存承载核心业务系统,并且部署同城NAS存储双活方案提升文件存储的高可用性。利用4控高端全闪存支撑核心业务系统的访问,存储上线后,交易峰值响应时延从原来的6ms下降到0.5ms,平均时延从1ms下降至0.1ms,极大的提升了交易响应速度,最终选择华为OceanStor Dorado 18500做为核心系统数据库存储。

4. 架构规划方案

4.1 整体存储架构设计

  • 说明:生产数据中心、 同城数据中心 、异地灾备数据中心符合两地三中心整体存储架构设计; 整个方案构建了整体部署的存储系统框架。能够充分体现连接开放性,高可靠性,高性能,高可扩展性及简便管理等特点和优势,存储双活架构保障了客户业务连续性和数据的一致性。
  • 方案保证了业务数据全面的集中存储和管理,提高存储的利用率和业务系统的可靠性,满足当前业务数据的存储需求。

4.2 业务分级分类标准

业务系统分为A+、A类、B、C类,计划A+、A类业务系统推荐使用高性能全闪存存储,B、C类业务系统推荐使用中高端全闪存存储。

4.3 SAN存储双活规划

4.3.1 方案简介
双活特性中的两个数据中心互为备份,且都处于运行状态。当一个数据中心发生设备故障,甚至数据中心整体故障时,业务自动切换到另一个数据中心,解决了传统灾备业务无法自动切换的问题。提供给高级别的数据可靠性以及业务连续性的同时,提高存储系统的资源利用率。

数据仲裁原理
当两个数据中心之间的链路故障或其中一个数据中心故障时,两个数据中心之间无法实时同步,此时只能由双活Pair或双活一致性组中的一端继续提供服务。为了保证数据一致性,双活通过仲裁机制决定数据中心的服务优先级。

4.3.2 SAN双活组网规划
双活数据中心解决方案基于性能和可靠性考虑,主机到存储要求采用全互联组网,即每个业务主(HyperMetro)双活复制网络支持IP和FC组网方式,根据实际网络条件灵活选择。主机到两个双活存储阵列都有物理和逻辑连线。
双交换组网示意图

双交换组网示意图

实际部署建议如下:

  1. 阵列之间双活复制网络必须采用双交换机组网方式,即每个主机到阵列都存在2套独立网络。确保任一套网络发生故障时,不干扰另一套网络的正常使用。
  2. 每个阵列控制器必须配置1个端口用于双活复制网络的连接,实现链路冗余和负载分担。
  3. 为了网络管理方便,建议双活复制网络类型和主机到阵列网络类型保持一致。如果主机到阵列网络类型是FC组网,则建议双活复制网络类型也是FC组网。
  4. 由于FC协议性能优于iSCSI协议性能,建议双活复制网络使用FC组网。
  5. 双活数据中心(HyperMetro)中每个主机IO经过双活复制链路,双写到两个阵列都成功,才返回主机写成功。所以,为了保证业务性能,方案对双活复制网络时延有严格要求,建议网络时延RTT(round trap time)小于1ms。

4.3.3 双活使用规划

双活策略
双活两端存储系统都需要遵循如下的原则。

存储设备
对于高端全闪存的存储系统,使用相同产品型号的存储系统间配置双活。

4.3.4 存储层设计
1、组成双活Pair的LUN所在的存储池使用的存储介质一致、配置信息一致(RAID策略等)。
2、为保证业务正常运行,在存储池中预留该LUN容量的0.5%。
3、为保证业务正常运行,在双活LUN所属的存储池中预留1%容量。

LUN规划
1、组成双活Pair的本端LUN和远端LUN容量保持一致。
2、构成双活Pair的LUN必须同时映射给所有主机。
3、同一个数据库、虚拟机的相关LUN需要放在同一一致性组中,同一个应用的相关LUN的快照要使用一致性组保护。

4.4 NAS存储双活规划

4.4.1 方案简介
NAS双活特性(以下统称双活特性),双活特性中的两个数据中心互为备份,且都处于运行状态。当一个数据中心发生设备故障,甚至数据中心整体故障时,业务自动切换到另一个数据中心,解决了传统灾备中心业务无法自动切换的问题。

组网说明 :

  • 每个数据中心内两台以太网交换机堆叠组网。
  • 主机双端口绑定,交换机上对应端口绑定。
  • 阵列上每个控制器上两个端口绑定(同一块卡)。
  • 仲裁网络支持以太网络,所有控制器均与仲裁服务器至少有一条链路。
  • NAS前端和后端网络,支持二层和BGP三层组网。

4.4.2 跨数据中心部署架构
通常部署在同城的两个数据中心,其物理距离在100km以内,两个数据中心均处于运行状态,可同时承担相同业务,提高数据中心的整体服务能力和系统资源利用率,当单数据中心故障时,业务自动切换到另一个数据中心。

对于跨数据中心场景,在长距离传输(FC组网≥25km;IP组网≥80km)时,方案需要配套波分设备来保证网络传输时延。同时存储侧部署存储双活镜像通道,保证双活业务的运行。

4.4.3 NAS双活解决方案的整体特点
数据双写技术,确保存储冗余,单存储或生产中心故障时,数据零丢失,业务快速切换,最大化保护客户业务的连续运行。满足业务RTO≈0,RPO=0的业务需求。

4.4.4 存储层设计

NAS双活解决方案中,针对两台存储的总体设计原则要求如下:

  • 双活阵列必须是同等型号,同等版本,同等配置。针对两四控的双活,使用两控对两控实时双活。
  • NAS 双活,仲裁优先策略保持一致。同一个应用系统的双活 pair 对的优先站点必须一致; NAS 双活,仲裁优先策略保持一致。同一个应用系统的双活 pair 对的优先站点必须一致。
  • 如果双活网络距离≥10km,推荐开启 FastWrite 快写功能,提升性能。

设计原则:

  • NAS 双活两端均需要创建逻辑端口(LIF)。
  • NAS 双活的两边文件系统命名,LIF 端口属性必须保持一致,且均是在租户下进行。
  • NAS 双活从端文件系统必须是新创建的文件系统。
  • NAS 双活两端文件系统类型,大小必须保持一致。
  • 同一个业务的双活 Pair 应在同一个租户的 Pair 内配置。
  • 使用 NFS V3/V4 挂载可实现故障后切换的业务不中断;
  • 按文件系统粒度进行数据镜像,任意站点都可以提供业务读写访问。

4.4.5 NAS存储使用场景
NAS存储使用非结构化数据场景,XX银行影像数据管理平台、 FTP应用平台是NAS存储使用的场景,NAS存储适用于影像海量小文件场景。满足索引和文件快速存取和备份。

5. 故障风险保障验证

5.1 单设备故障验证

本次项目针对华为OceanStor Dorado 18500 V6产品进行了方案调研和POC测试,对性能、本地数据保护和效率特性、系统可靠性与可维护性进行了详细测试,并作为最终选型依据。对其中部分验证情况进行举例说明。

5.1.1 控制器故障切换验证
OceanStor Dorado V6采用SmartMatrix全互联均衡架构,该架构采用了高速、矩阵式全互联无源背板,可以连接多个控制器节点,同时所有接口卡采用全共享方式接入背板,允许主机从任意端口接入,直达任意控制器进行处理。SmartMatrix架构均衡设计允许控制节点之间紧密协调、简化软件模型,实现Active-Active细粒度均衡、高效低时延和协同作业。

OceanStor Dorado 18500 V6一个控制框内包含4个控制器,支持28张接口卡和独立的供电/备电、散热和管理模块。每张接口卡提供4条PCIe链路同时连接到4个控制器节点,前端共享卡、控制器、后端共享卡三层通过无源背板全连接,任意接口模块的数据可无转发发送到任意控制器,通过高效的全连接,实现高可靠,高性能。存储系统支持四控配置下故障三个控制器,业务仍然连续。

5.1.2 接口卡故障切换验证
针对前端和后端接口卡,华为OceanStor Dorado 18500支持共享接口卡,包括前端共享卡(8G/16G/32G FC),Scale-Out共享接口卡(100Gb RDMA),后端共享卡(SAS、100Gb RDMA),实现接口卡与控制框内所有控制器的全互联无控制器归属,当控制器出现故障,主机与前端端口的连接不会中断,主机感知不到控制器故障。

共享卡的实现原理如下图所示(以前端FC共享卡为例)。

5.1.3 硬盘故障切换验证
本次对华为存储RAID-TP技术,采用了华为优化的算法,这个算法允许系统容忍三盘同时故障,这样不仅可以提高可靠性,还允许更长的重建时间。与传统的RAID系统相比,使用RAID-TP算法重建时实际从单个磁盘读取的数据量减少了70%,降低了对系统性能的影响;

OceanStor Dorado V6 数据冗余机制RAID:

  • 多个SSD组成一个硬盘域;
  • 每个SSD盘被切分成固定大小的Chunk(简称CK,大小为4MB)进行逻辑空间管理;
  • 来自不同SSD盘的CK按照客户配置RAID冗余级别组成Chunk组(CKG)。

CKG冗余算法支持3种冗余度配置:

  • RAID 5采用EC-1算法,每个校验条带生成1个校验数据,支持同时坏1盘;
  • RAID 6采用EC-2算法,每个校验条带生成2个校验数据,支持同时坏2盘;
  • RAID-TP采用EC-3算法,每个校验条带生成3个校验数据,支持同时坏3盘;

CKG再被划分为更细粒度的Grain,通常为8K,为满分条写盘的最小粒度,OceanStor Dorado V6 写盘采用满分条写,避免传统RAID的大小写导致系统额外开销。RAID映射流程如下所示:

同时对硬盘重构进行的验证,在业务场景下,每小时可以重构0.5TB有效数据。系统实现了SSD故障时的快速重构,且业务基本无影响。

5.2 存储双活故障验证

OceanStor Dorado V6存储系统实现的阵列级的Active-Active双活技术。部署双活的两套存储系统可以放在同一个机房、同一个城市或者相距300Km以内的两地,支持FC或者IP部署。HyperMetro实现了LUN Active-Active双活,来自两套存储阵列的两个LUN数据实时同步,且都能提供主机读写访问。当任何一端阵列整体故障的情况下主机将切换访问路径到正常的一端继续业务访问;当阵列间链路故障时只有一端继续提供主机读写访问,具体由哪端提供服务将取决于仲裁的结果。仲裁服务器部署在第三方站点,用于两套存储阵列间链路中断时,提供仲裁服务。

双活架构无需额外部署虚拟化网关设备,直接使用两套存储阵列组成跨站点集群系统,减少网关故障点,提高方案可靠性,I/O响应速度更快,无需经过存储网关转发,减少网关转发I/O时延。

5.2.1 数据读写流程
下图展示了一个I/O的处理流程。主机下发I/O到双活管理模块,系统记录日志。之后双活管理模块将I/O同时写入本端和远端Cache并收集两端Cache的写处理结果。如果写成功则清除日志,如果失败,日志则转换成为DCL(Data Change Log)并记录本端LUN与远端LUN差异。

NAS双活采用集群拉远的方案,主机对存储执行写操作时,会在Cache层进行镜像,Cache刷盘做双写,确保两边数据一致。原理见下图:

5.2.2 一体化双活写请求流程
为了保障双活数据中心的数据始终一致,设计了分布式锁机制,一方面任何控制器访问数据之前都需要申请这个全局的锁,另一方面其他控制器无法对存在锁保护的地址进行访问操作,这就保障了同一地址上的数据不会出现访问冲突。

单点故障时,另一站点会自动接管所有请求,如果仲裁服务器故障,系统也会自动进入静态优先模式,所以不会影响业务;双点故障较为复杂,在仲裁服务器、优先站点、非优先站点以及三者之间的链路出现双点故障时,系统同样会通过静态优先等方式继续为应用提供服务,大部分双点不会影响业务连续性。

5.2.3 典型场景故障切换及恢复
在异常故障发生时,双活典型故障场景下的处理方式如下:


6. 应用效果

经过POC测试和调研,我行最终选择华为OceanStor Dorado 18000系列存储作为生产存储进行老旧设备替换,替换后的主要应用效果如下;
1.性能提升:通过存储系统改造,采用四控制器NVMe高性能全闪存架构,跑批时间相较原有存储,减少50%运行时间;
2.存储容灾:全系列产品支持双活架构,无需增加存储虚拟化网关,减少故障节点提升系统可靠性;
3.存储容量资源:采用3.84TB高性能、大容量NVMe磁盘作为数据存储介质,在提升整体性能同时增加存储空间,支持更多业务部署。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论4 条评论

nkj2021nkj2021系统架构师, 金融行业
2022-11-21 20:49
作者很详细的描述了城商行两地三中心建设存储架构规划与方案的验证,从需求分析到原有问题分析,从整体存储架构设计到SAN存储双活规划,从NAS存储双活规划到故障的切换验证,方案的整体流程和技术细节具有很好的参考价值,如果能在监管的范围内提供一下方案所涉及存储的容量规划和各条线路的带宽要求能更好一些,以上仅是一点个人的建议。
匿名用户
2022-11-19 20:44
谢谢分享
匿名用户
2022-11-12 13:01
谢谢分享
samzhang2020samzhang2020网络工程师, 浩丰创源
2022-11-01 09:38
谢谢分享
Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

相关文章

相关问题

相关资料