ugo911
作者ugo911·2021-01-12 11:08
系统工程师·银行

某城商行基于国产高端存储的实践应用经验

字数 6073阅读 9924评论 4赞 8

1.概述

随着金融业务开放创新的深化发展,金融科技在经历了电子化、网络化后,逐步迈入数字化、智能化的新阶段。在金融全面数字化、智能化时代,金融IT基础设施的科技改革,不仅仅聚焦于金融云、大数据、AI等热点的投入,同时核心账务联机交易业务等传统生产系统的基础设施也在新形势下需要进行不断扩展与优化。

1.1. 项目背景

自2013年我行核心系统基础设施全面升级以来,直至2017年各类业务系统的上线、扩容以及应用系统分布式的改造,对基础设施造成的压力与日俱增,核心存储在经历4次扩容后,已经达到当时的满配,其性能也已经呈现疲态,特别是在晚间跑批时的IO峰值已经接近设计峰值的一半,响应延迟时间远远高于设计值,如若采取继续扩容磁盘柜的形式扩充数据中心容量,势必对原有系统造成不稳定因素,扩容成本也更加高昂。另外,长期以来存储的建设缺乏统筹规划,形成了多座以两台光纤交换的SAN环境为基本单位的存储孤岛,不利于我行即将开展的数据中心迁移工作,同时考虑到自主可控政策的主张,结合国产存储在市场上的占有率呈上升趋势,为解决上述问题,计划在生产环境中引入国产设备作为二级核心存储,解决原核心存储容量不够、性能降低,且不利于数据中心迁移的局面。

1.2. 建设目标

  • SAN环境需要进行扩容与接入;
  • 核心设备向自主可控方向发展;
  • 二级存储接入生产环境;
  • 平滑迁移数据至二级存储,降低核心存储的容量压力与性能压力;
  • 为新数据中心数据迁移做好准备。

2.方案规划设计

2.1. 原系统架构

原“两地三中心”容灾模式基于存储数据复制技术完成容灾需求,部署方式为两个同城应用级数据中心,一个异地应用级异地容灾数据中心。 我行三座数据中心建设情况如下:

  1. 现有生产中心位于总行办公楼;
  2. 同城数据中心与总部数据中心距离约20公里;
  3. 毕节数据中心与总部数据中心的距离大约200公里。

该存储在2012年至2019年,支撑我行所有两地三中心业务,包括:

上述架构设计完全能够满足监管部门的业务灾难恢复要求。

按照业务功能的恢复优先级来确定IT系统的恢复策略:
A类,立即恢复,同城RPO=0/RTO<1小时,异地RPO<15分钟/RTO<2小时;
B类,尽快恢复,同城RPO=0/RTO<2小时,异地RPO<15分钟/RTO<4小时;
C类,延迟恢复,同城RPO=0/RTO数据级,异地RPO<15分钟/RTO数据级。

2.1.1原存储系统简介

我行vmax 20K配备一个引擎,包括两个控制器,其配置4个四核2.33GHz 英特尔至强处理器、256GB内存,16个前端光纤通道,8个SRDF连接通道,两个管理模块等,以上组件均支持热更换,DAE通过备用电源进行掉电保护,为充分发挥核心存性能使用raid1作为数据保护策略;依据此配置,其IOPS性能应该在5-8万左右,响应时间3-5ms。

在实际使用中,生产中心存储阵列承载了30多个我行的重要业务系统,性能从表现总体上看,IOPS峰值达到了28000,吞吐率达到了2000MBps,IOPS平均延迟5.79ms,在高峰时段相较其它磁盘的热点盘,写响应时间峰值达到了50ms,写缓存命中率81-87%,读缓存命中率此时0.75-12.22%,读写繁忙峰值每秒50Mb左右,存储IO响应最大延迟在35ms 左右,存储整体以读为主,其中读平均占比60.3%,最大占比92.9%,写数据块平均大小13K,读数据块平均大小129K,与其承载多为数据库类应用的情况相符。从IO响应时间和IOPS的实际使用情况综合来看,该存储性能已经呈现下降趋势。判断依据是随着系统实际IOPS越接近设计的最大值,IO的响应时间会成非线性的增长,越是接近最大值,响应时间就变得越大,而且会比预期超出很多。一般来说在实际的应用中有一个70%的指导值,也就是说在IO读写的队列中,当队列大小小于最大IOPS的70%的时候,IO的响应时间增加会很小,在应用端相对来说比较能接受,一旦超过70%,响应时间就会戏剧性的暴增,所以当一个系统的IO压力超出最大可承受压力的70%的时候就是必须要考虑调整或升级了。

在运维方面,日常监控依靠自行开发的脚本在存储管理机上进行监控,包括磁盘、控制器、端口、cache、电池等基础组件的状态,以及数据传输状态,主备切换完全依靠脚本完成,具备很好的操作性,在运维过程中控制感较强。切换演练方面,自从该存储上线以来,我行每年依赖该存储架构对重要信息系统进行同城灾备系统演练2至3次,每次演练都会严格在数据库层面与业务层面进行数据比对,每次比对结果都完全一致,可以有效说明存储的数据复制功能的可靠性。

2.2. 国产存储方案总体设计

2.2.1.国产存储可靠性介绍

华为OceanStor 18500存储系统同一引擎框内的4个控制器通过高可靠无源背板互连,当一个控制器故障时,其承载的业务快速切换到镜像控制器,其镜像控制器的写缓存重新镜像到新控制器(同一个控制框内),整个过程可在10秒钟到10分钟之间内完成。

如下图所示,每个引擎包含4个控制器,每个控制器都有写缓存(图中小方框),为了保证控制器故障时缓存数据不丢失,每个控制器的缓存都在另外一个控制器有一份镜像,默认情况下A、B控相互镜像,C、D控相互镜像;当有控制器发生故障时,剩余的控制器重新建立镜像关系,4个控制器中依次故障或拔出1~3个控制器,缓存数据不会丢失,客户业务不会中断,但在实际使用中4坏3的高可用性受业务负载大小的影响。

图1-1图1-1 4个控制器正常时镜像关系

图1-1图1-1 4个控制器正常时镜像关系

一个控制器故障时,如控制器A故障,首先B控会接管A控的业务,然后B控上的缓存(包括原来A控的缓存),会分别重新镜像到控制器C和D上(镜像到哪个控制器由软件算法自动选择),确保所有控制器的缓存仍然有镜像。如下图所示:
图1-2 2个控制器故障后镜像关系

图1-2 2个控制器故障后镜像关系

如上述原理,当控制器B再故障时,B上原属A和B的业务会分别被控制器C或D接管,且分别将缓存镜像至另一个控制器。

后端全互连
华为OceanStor存储系统创新的推出12端口的后端共享SAS接口模块(标配2张该接口模块),每块硬盘的两个SAS端口通过硬盘框的级联模块分别连接到两张接口模块,当其中一张接口模块故障,控制器仍然可以通过另外一张接口模块连接到硬盘,不再需要通过另外的控制器连接硬盘,可节省大量的控制器资源及控制器间数据传输带宽。基于以上两种新技术,在单控制器可以支撑所有业务负荷的情况下,即使出现3个控制器或任意一张SAS接口模块故障,仍然可以保证业务不中断。

其它可靠性介绍
除上述在运维过程中经常会遇到控制器冗余性外,还有磁盘、电源模块、掉电保护以及其它部件的冗余都与主流存储冗余方式一致,至于华为一直提到的RAID2.0,就从本人观点来看,可能在其本身算法上有一定的优化。这里仅将原理图贴出来,不再做过多的赘述。

2.2.2. 解决方案规划设计;

从我行当下的存储真实使用情况上分析,在夜间批量任务期间核心存储存在IO性能峰值较高的情况,为保证国产存储能够顺利接管关键业务的数据,通过市场调研和真实测试,我们着重关注了国产存储在的稳定性,性能指标以及在数据迁移方面的一些新功能。2017年在当时还未曾有大量金融行业实际投产案例的情况下,我行基于功能特性需求以及在生产环境使用华为其它存储所积累的经验,选定华为OceanStor品牌高端存储作为我行生产环境中二级核心存储。采用2套18500存储部署在同城两中心,实现同城数据复制传输,保障生产业务可用性,并拟定当时的规划原则:

1.针对具备双活架构的应用系统需要继续在原存储上最小化部署其余系统;
2.两套存储厂商的多路径软件仅在虚拟化服务器上共用,禁止在数据库服务器或者操作系统上共用。

2.2.2国产存储实际使用性能介绍

以我行近一年的存储性能日志分析可见国产高端存储在我行的实际使用情况非常稳定,控制器性能表现良好,前端端口上业务负载均衡,未见明显的性能瓶颈。具体的性能数据如下:

2.2.2.1负载情况:

  • 控制器的总IOPS(IO/s)的峰值为17602/s,平均CPU利用率(%)的平均值为6.72%,峰值为39.00%,块带宽(MB/s)的平均值为83.53MB/s,峰值为1096.00MB/s,0.B部分时段负载压力稍大。
  • 主机的总IOPS(IO/s)的峰值为24870/s,块带宽(MB/s)的平均值为8.27MB/s,峰值为749.00MB/s,主机host-25部分时段负载压力较大。
  • 硬盘的利用率(%)的峰值为85.00%,DAE002.11、DAE002.7、DAE002.14、DAE001.17、DAE001.1、DAE000.16部分时段负载压力稍大。

时延情况:

  • 控制器的平均写I/O响应时间(ms)的峰值为8.00ms,平均读I/O响应时间(ms)的平均值为1.15ms,峰值为16.00ms,所有控制器时延正常。
  • 主机的平均写I/O响应时间(ms)的峰值为28.00ms,平均读I/O响应时间(ms)的平均值为0.96ms,峰值为444.00ms,host-36、host-4、host-42、host-40、host-29部分时段时延较高。

关键资源负载概览表

表2—关键资源时延概览表

2.2.3两套存储间的对比

两套存储基于远程复制技术自2017年共用至今,均表现得较为平稳,特别是易损件的故障率都相对较低,为我们生产系统提供了可靠的稳定环境,为核心主存储的性能减负起到关键性作用。

对比华为存储与EMC存储部分功能特点:

  1. EMC长期使用CLI操作,有利于运维自动化,华为OceanStor 18500存储不仅支持图形化界面,也具备CLI模式,但华为官方不推荐用户使用CLI,更推荐使用GUI模式,对于我个人而言还是更喜欢且习惯CLI;
  2. 后端SAS接口带宽方面,EMC VMAX存储后端SAS接口的协议版本是SAS2.0带宽低(仅VMAX 250F升级为SAS3.0),华为OceanStor 18500使用的是SAS3.0,不过两台存储也可以算作是不同时期的产品了,这也算是正常的差别;
  3. EMC的卷管理是封闭的,用户最多能看到storage container,具体的虚拟机对应的lun用户是看不到的。华为vvol卷的管理是开放的,用户可以在Device Manager上看到每个虚拟机创建的vvol lun,但用户是不可操作这些lun的,只能通过vcenter对虚拟机进行操作;
  4. 华为高中低端存储复制都是源于同样的华为自研远程复制技术,无需特定设备作为网关,即可实现不同型号存储的复制容灾功能;EMC的不同存储VMAX、Unity、XtremIO的底层架构完全不同,不能实现存储复制,需增加网关VPLEX才可以实现,华为存储的新功能弥补了VMAX的不足之处;
  5. 华为高端存储配置支持SAN+NAS一体化双活,VMAX不支持SAN+NAS双活。

总结对比两家存储的使用经验,除存在一些功能特性的差别外,我认为更重要的是国产存储的进步确实取得了傲人的成绩。

3. 关键问题与使用经验

3.1. 运维经验分享

3.1.1 磁盘数量最佳实践经验

我行同城两中心的华为高端存储历经2次扩容,生产实践经验结合华为工程师给出的性能数据发现当存储硬盘域中物理磁盘的数量介于48-96块之间时可以取得较好的并发性能同时又拥有较高的磁盘冗余度;

3.1.2 存储空间配置优化

为了保证存储空间配置持久化管理,通常情况下,存储会预留10%-20%的硬盘不添加到硬盘域中,当需要紧急扩容DD或者临时增加新的DD的时候可以用来应急,以不变应万变。同时存储在空间使用中一般计划预留20%的空间用于数据保护。例如存储池划分完毕为100TB可用空间则用到80%(80TB)后就要考虑进行扩容。

3.1.3 存储命名统一规范

存储运维与使用中应使用统一规范的命名方式,如存储设备统一命名规则“数据中心-型号-用途”,命名规则统一便于管理且对接第三方平台产品方便,不会因字体库问题导致纳管失败,同时在数据中心有多套存储设备时也便于管理维护。

3.2. 同城双活中心间链路抖动问题

我行同城数据中心之间使用运营商提供的裸光纤线路与华为DWDM设备进行数据交换与联通,运营商提供的线路因市政施工、基建工程或自有设备与机房故障等问题,不可避免的发生链路抖动的情况。

华为存储提供同步或异步的数据复制技术在较早版本中出于维持复制链路稳定性的原因,设定当链路质量过低或抖动时会强制断开复制链路,并且需要对存储物理端口或交换机物理端口进行重启。这种模式虽然一定程度上保障了复制链路的稳定性,避免因链路抖动造成同步复制场景下数据写入异常的情况,但是恢复方法过于“简单粗暴”。在后续的大版本补丁升级中已修复该问题,添加了手动恢复链路的功能。

3.3. 异构存储接管能力

随着我行业务系统不断增加,往年采购的存储设备的使用年限较长、容量不足、性能存在一定瓶颈,我行的数据中心存在数台不同品牌的存量存储设备,包括EMC、IBM、HP等。从保障银行生产业务稳定的角度来看,在切换到新阵列的过程中如何保证业务的连续性,如何保证数据安全、可靠和高效的在异构存储之间做数据迁移,对新规划采购的存储是一个基本要求,也是一个挑战;另外,我行仍希望存量存储设备的投资得到保护,充分利用旧有存储设备的剩余价值,扩展存量设备功能,继续为业务系统提供服务。

综合考察后我们认为华为异构虚拟化技术就是着眼于客户的存量设备,为异构设备提供丰富的异构虚拟化功能。通过异构接管功能降低用户管理不同异构阵列的复杂度并提升异构 LUN 性能;通过提供异构 LUN 在线迁移实现在不断业务的情况下实现异构LUN之间数据平滑的迁移;通过提供异构远程复制技术实现异构 LUN 间的容灾;通过提供异构快照技术实现异构 LUN 的快速备份。华为存储设备通过上述异构虚拟化技术,可以有效的将发挥我行存量设备的剩余价值。

异构虚拟化的工作原理就是把其他品牌存储设备映射到华为阵列的LUN,作为可为本端阵列提供存储空间的逻辑盘 LD,再在该逻辑盘 LD 上创建为可对主机映射的异构设备 LUN eDevLun,逻辑盘 LD 为 eDevLun 的数据卷 Data Volume 提供了全部的数据存储空间,eDevLun 的元数据卷 Meta Volume 的存储空间由本地存储提供。异构虚拟化可保证外部 LUN 数据完整性不被破坏。eDevLun与原异构 LUN 具有不同的全球唯一名称 WWN。

4. 总结

通过我行的生产运维实践经验可以看到,目前以华为OceanStor系列为代表的国产高端存储已经具备与国际主流高端存储同台竞技的硬实力,为我行切实减轻了核心存储的各项压力,对于新技术功能甚至已经超过同档次的国际品牌高端存储。但同时也需要认识到国产高端存储在部分细节上仍有改进空间,期待我国国产高端存储未来还能够更进一步继续夯实自己的“软实力”。

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

8

添加新评论4 条评论

阿杰阿杰数据中心
2021-01-15 15:23
好文章,干活满满,有很大的借鉴意义。有些问题也想提出来。 去IOE之后,国产方案会不会也存在被单一厂家绑架的可能。 在同城或者异地的灾备切换过程中,存储及存储复制的功能和性能表现如何。
yinzhijieyinzhijie系统工程师浦发
2021-01-15 14:05
看了这篇文章可以很好说明国产存储在生产环境的应用已经逐渐成熟,在有些功能上甚至还能更加的丰富,并且在产品的完善上也会改进了不少。就如同作者说的一样国产高端存储已经具备与国际主流高端存储同台竞技的硬实力。
guanyang1326guanyang1326联盟成员系统工程师辽宁农商银行
2021-01-15 13:24
内容介绍的还是很全面的。不知道后续是否能补充一些内容,就是上线测试的时候是否有条件测试了当发生链路抖动的情况,我个人还是比较关系这个方面。谢谢 总体说在现在这个时间点上看,华为的高端存储还是可以和其他国外友商品牌高端存储一决高下的。
tozftozf技术支持某乡社
2021-01-15 08:53
真是好文,内容实在,收藏啦
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广