全闪存储在银行核心高可用系统中的应用:部署实践及跑批性能提升实测
【摘要】存储系统是整个IT基础架构中最重要、最关键的基础设施。特别是对于金融行业的IT基础架构来说,核心存储系统除了需要具有极高的可靠性、稳定性、容错性外,还需要能够支撑多个业务系统的强大性能和具备够良好的“两地三中心”容灾功能。本文结合我行新一代核心系统建设存储系统选型的考虑,谈谈谈全闪存储在核心等关键应用系统中的应用实践,希望能给大家提供点点参考,如有错误之处敬请批评指正。
【作者】BC,就职于某银行信息科技部,主要参与新一代核心系统相关硬件选型和基础环境搭建工作。
一、背景和痛点
此前,我行系统建设大多是个体应用为单位建设,采取“烟囱式”基础架构,大部分存储只承载个别应用系统,造成存储资源浪费或不足,数据、资源无法共享;由于当时使用的存储大多是使用HDD机械盘传统存储,存储性能比较低,对核心系统跑批带来巨大压力,特别是在季度结息或特殊时点,核心跑批时间长达十余小时,有时会出现由于跑批时间过长而影响正常营业;此外我行原运行核心系统的某台高端存储曾发生过宕机事件导致业务中断,对于存储的高可用和稳定性十分看重。
2017年,我行进行新一代建设时,对应用系统进行了“两条总线一个核心”的架构重构,包括新建、改造、升级的应用系统达七十余个。其中核心业务系统群全部新建,包括核心业务系统、总账系统、ECIF系统和柜面作业系统为关键业务系统,这些系统为未来各应用系统提供稳定、一致的用户接口和交易接口,是构成内核稳定的新一代的基础系统。同时这些系统也对存储架构的稳定和性能提出了新的要求。特别是新一代核心系统由于增加了每日计提过程,每天都需要对全量账户进行计算,相当于每天跑批类似老核心系统的一次季度结息过程,如何缩短跑批时间?这对于存储和计算资源来讲是不少的挑战。
二、选型和架构的考量点
1.要考虑成熟稳定、高可用性
对于银行的核心以及关键业务系统,大多是联机交易OLTP系统,应把系统稳定性为第一优先原则,把本地高可用作为首要考量点。一方面在存储硬件选型,必须具有极高的稳定性和容错性。要考虑存储本身架构的可靠性、部件的冗余设计、故障隔离和恢复机制、数据保护配置、在线维护升级功能等因素,尽量考虑技术成熟、稳定的产品,核心及重要系统存储尽量使用稳定性为99.9999%的高端存储。另一方面从存储厂商来看,应该充分考虑厂商的技术实力、行业应用案例以及技术支持服务能力等多种因素,要尽量保障使用具有行业广泛应用和优秀品质的产品,尽量避免冷门和具有潜在缺陷和隐患的产品,避免存储系统对整个银行IT架构带来的不稳定。
2.要考虑技术先进、前瞻规划
对于核心存储系统来说,在存储功能方面要考虑技术的先进性,比如存储多协议支持、数据自动分层、在线压缩、数据重删、精简配置、QoS功能、配置管理的便捷性等,主要根据实际需要选配和使用这些功能。在存储性能方面要做前瞻性考虑,满足多业务系统对性能的要求,并能够随着业务的发展进行平滑线性的性能和容量扩展。SSD盘在小文件、随机IO读写方面相对传统SAS和SATA盘有着明显的优势,其单块盘性能要比传统磁盘性能高出150-250倍,因此全闪存储对比传统存储有着巨大优势。
3.要考虑容灾等高级功能需求
存储系统作为数据中心的基石,在存储基础架构设计时,要统筹规划、整体设计,要站在未来两地三中心整体架构的层面考虑存储的选型和存储架构的设计。要充分考虑存储两地三中心容灾、双活数据中心、备份等需求,比如存储对于多点容灾、双活、存储快照/克隆、数据保护等功能的支撑。在存储架构上要重点考虑本地的高可用设计,考虑与其它复制技术的配合,以便平滑地向两地三中心容灾架构或双活数据中心过渡,满足监管部门对于业务连续性的要求。
4.传统存储、混合存储or全闪
全闪存阵列与传统高端存储相比,具有独特技术优势:一是全闪存阵列有着较高的IOPS和容量密度,一个标准机柜位置可以提供100万以上的IOPS,容量达PB以上,传统存储则需要4-5个机柜才能满足要求。大大减少了空间和能耗的需求,降低用户总体拥有成本;二是低I/O响应延时。闪存阵列的I/O延时低,大部分I/O在1ms以下,这样可以较少主机CPU等待时间,提高数据库主机CPU的使用率。传统高端存储在轻负载的场景下I/O延时也在5ms以上,高负载情况下延时增加明显。采用全闪存,无需存储层面性能调优,或针对热点数据的分层优化与数据迁移。三是SSD对比传统机械盘,平均无故障工作时间大大提升,SSD换盘概率约为机械硬盘1/10,具有更快的重建时间,减少了风险。四是全闪存储比传统存储稳定性可能更好。闪存盘的寿命较机械硬盘更长,性能抖动更低,数据恢复时间更短,更稳定。
三、核心等关键系统部署实践
1.选型考虑
(1)将高可用置于优先考虑
VMAX 250F为Dell EMC高端VMAX3系列的产品,采用VMAX使用近30年的Enginuity微码和体系架构,并进行了闪存算法优化。250F全闪存储采用高可用性体系结构,支持横向扩展到四控制器架构,组件完全冗余,支持热插拔的现场更换,在线的微码升级,在线的控制器的扩容等,具有高级故障隔离、强大的数据完整性检查和经验证的无中断硬件和软件升级,可提供6个9的可用性。与厂商提供的同档次、同体系架构的全闪存储和传统存储对比,全闪存储每年计划外停机时间为0.37分钟,传统存储每年计划外停机时间为1.08分钟。当然任何存储本身的高可用并不能保证万无一失,因此还得通过存储部署架构的优化和容灾手段来提高数据的安全性。
(2)将性能作为重点考虑
大家都知道2016年是全闪的元年,即便是2017年全闪存储仍然是一个相对新鲜的选择。我们在综合考虑存储架构、性能、I/O密度、综合性价比等多种因素,本着面向未来的思路,最后还是定位在全闪上。这些因素当中,最重要的因素应该是基于对全闪性能的重视。250F全闪存阵列微码是针对闪存盘的特点进行优化设计,最大程度发挥闪存盘速度快的优势。通过全闪存阵列提供高IOPS与低延时,这样可以较少主机CPU等待时间,提高数据库主机CPU的使用率,减少数据库CPU许可的采购量,从而减少总体成本。在后面我们将对混合存储和全闪存储跑批的性能方面做些对比,VMAX250F在核心批量的IOPS表现中基本是两倍于同档次的混合存储。
(3)将容灾作为整体考虑
VMAX 250F与其他VMAX系列产品一样支持SRDF功能。SRDF自 1994年问世以来,相对来讲是一项非常成熟的技术,可实现数据在不同环境间的实时有效复制,实现基于存储的两点或三点复制,当数据中心发生灾难时,确保另有一套完整的生产数据安全可用,同时为未来构架双活数据中心打下坚实的基础。对于RPO\RTO有严格要求的重要业务系统同城采用Dell EMC SRDF/S,也可用采用SRDF/S同步技术实现本地背靠背的高可用,到异地灾备中心可以采用基于存储的异步复制。
(4)将案例作为重要参考
存储作为关键的基础设施,各厂商产品各有个特色,但技术成熟、可靠、先进性很重要,这需要有大量的实际应用案例做参考和验证。因此可以多跟同行业进行交流,具体选型上最好是选择在金融行业应用广泛的,在银行业核心等关键系统应用较多的产品。
2.部署架构考虑
技术方案有长有短,无所谓好与坏,关键是看应用场景和能否解决自己所关注的问题。在现实中,因灾难发生导致同城切换的案例较少,但因本地高可用未做好而产生的事故却层出不穷,而且本行就亲身经历过某厂商高端存储整台存储宕机事件,心有余悸。该型号存储为双控制器架构,但有一个比较致命的风险是每个控制器只配置一个稳压模块,当一个稳压模块发生故障后导致该控制器需要切换到另外一个控制器,但另外一个控制器并未正常接管,甚至宕机。该型号存储的后续型号单个控制器配置了3个稳压模块,算是一种改进。所以也不难明白为什么将高可用当作存储选型和架构设计的第一考虑。
(1)部署架构
本行核心存储采用两台Dell EMC VMAX 250全闪存储阵列,为了保证核心及关键业务系统数据存储服务的稳定性和可靠性,采用Dell EMC VPLEX存储虚拟化引擎,将两台核心存储组成一个本地双活高可用架构,实现核心业务系统数据在两台存储上的同步镜像。在容灾方面,采用该存储SRDF容灾功能将数据通过DWDM实时复制到同城灾备中心,很好的保证了核心业务系统的业务连续性。部署架构如下:
(2)存储架构高可用考虑
Dell EMC VMAX两台存储可采用SRDF/S同步技术实现背靠背的高可用,当生产存储的盘组中的多块盘发生故障导致盘组失效、或存储阵列中链接磁盘的后端卡失效后,服务器集群会自动通过SRDF链路来访问本地高可用存储中的磁盘,实现无应用停机、无数据丢失(RPO=0、RTO=0)。这种架构碰到生产存储整体失效这种极端情况时,虽然能保障RPO=0数据丢失,但存在服务器集群不能无缝接管业务的问题,无法确保RTO=0。那么通过Dell EMC VPLEX存储虚拟化引擎,将两台核心存储组成一个本地双活高可用架构,即使出现某一台存储系统出现问题,退出服务,VPLEX可以自动的将所有的主机I/O导向另一台健康的存储,整个切换过程无需人工干预,前端主机的I/O也不会停顿,不会影响存储虚拟化网关虚拟卷的可用性,从而也不会对应用造成影响,实现RPO=0、RTO=0。
VPLEX可配置一个、两个或四个引擎,引擎采用多控制器、为多活群集架构(最高支持8个控制器),可以在不发生中断的情况下将引擎添加到 VPLEX 集群中。VPLEX 提供的所有 VPLEX 逻辑存储设备 (LUN) 始终都可以从 VPLEX 集群中的每一个引擎进行访问。同样,与 VPLEX 连接的所有物理存储设备也均可以从 VPLEX 集群中的每一个引擎进行访问。这样能较好地解决由于引入存储网关给整体架构带来不稳定性和安全隐患。VPLEX其高级数据缓存也可以提高性能并减少 I/O 延迟和阵列争用,缓解存储虚拟网关对性能带来影响的担忧,实际使用过程中也未发现网关对性能带来影响,在特殊场景下可能还能起到削峰作用。另外,VPLEX可实现异构存储之间的存储高可用,但两台存储的性能最好接近。
3.实践效果
通过新一代核心系统在混合存储和250F全闪存储两个环境的跑批测试,分析全闪存储对于核心跑批性能的提升。
环境:核心系统在全量数据下,应用为集群部署单节点跑批,数据库服务器为Oracle 11g、核心跑批应用程序保持不变,存储承载行内十余个应用系统,混合负载场景下。
1.在混合存储下(SSD+SAS),核心系统跑批数据库IOPS在32000左右,数据库读写带宽在500 MB/s左右。核心计提63-93分钟,跑批总体时间在150分钟。
2.在全闪存储下,核心系统跑批数据库IOPS在58000左右,数据库读写带宽在900MB/s左右,批处理执行效率明显提高,核心计提40-45分钟,跑批总体时间在98分钟。整体跑批时间缩短40%,关键跑批脚本执行效率提升90%以上。此外通过存储性能分析软件发现,跑批阶段全闪存储I/O响应时间较短,大部分在1-3ms,1ms以下居多,没有数据热点问题。整体而言跑批的压力没有体现在存储端,可以考虑数据库的IO均摊以及对跑批程序的进一步优化。
通过全闪存储与混合存储跑批对比,整体性能提升一倍左右。我想这应该得益于全闪存储的全闪优化算法、控制器CPU 核心数量的增加,后端带宽扩大以及全闪盘的使用等因素。如果提升全闪SSD盘配置数量,可能对性能有进一步提升。
四、建议
1. 存储选型要面向未来
经过250F两年多的使用,也验证了其性能和可靠性。对于存储管理员来说,采用全闪存,意味着后续无需任何存储层面性能调优,或针对热点数据的分层优化与数据迁移,简化了管理。闪存是现代化数据中心的发展的趋势,在选型上建议要积极拥抱未来。
2.要合理划分存储服务等级
在进行存储架构的设计时,我们可以把存储以一种面向服务的体系进行考虑。简单来讲就是存储作为服务,来满足不同业务和应用的需求,这种需求统称为SLA。SLA 转换成OLA及需求目标,即应用想达到的存储标准。本行主要考虑建设三种存储服务,分别是生产存储服务,数据备份服务和数据归档服务,通过存储资源池建设形成存储服务目录。其中生产存储根据应用等级和I/O特性分成一、二、三类应用,应用级别与使用的资源实现匹配。存储服务的建设过程主要分为三个步骤:一是确定应用的分类分级,二是进行应用分类选择对应存储的服务指标,三是建立存储服务指标,每类存储服务指标都有对应存储架构。核心系统及一类关键应用具备最高的可靠性和安全性,对应的存储服务级别最高,本地采用镜像的方式,存储采用高端全闪存阵列保证足够的IOPS供应的同时节约了业务处理时间、能耗及空间。
3.注重对于数据的管理
在存储网络架构设计上要注意对数据流量分离,进行数据网络隔离:可建立独立的业务网、NAS网、备份网、管理网。生产SAN、备份SAN采用物理融合、逻辑隔离的架构,通过ZONE 保证安全性、稳定性,同时降低系统建设成本。考虑到当前应用对于非结构化数据的实际需求及未来如影像平台等应用的发展,在规划阶段可设计独立的NAS专网,为数据的访问提供专用平台,同时降低对生产网的影响;同时结合数据生命周期管理建立了归档存储服务,对数据进行了分级的自动化归档管理。为了提高数据吞吐能力,建议存储、服务器接口采用16Gbps FC接口。
4.选型及实施要考虑规避的一些风险点
生产存储本地高可用要考虑规避如下场景的风险:计划外的单存储损坏风险,比如通过不同防火区、跨楼层的部署来防范机房内部灾难风险,设备整体故障无法短时间内修复造成的业务中断风险,多磁盘同时故障造成的数据丢失风险。计划内的风险,比如存储微码升级产生bug造成的数据丢失,设备维护时间较长对业务的影响等。
5.其他
由于SSD盘具有使用寿命限制,建议关注存储是否能检查SSD健康状况或使用寿命,与厂商合同约定更换SSD的标准或维保标准。目前,全闪存储的SSD介质不可采取消磁的办法进行信息安全处置,建议购买存储时考虑包含硬盘不返还相关服务。
原题:全闪存储在银行核心高可用系统中的应用 如有任何问题,可以点击文末阅读原文,到社区原文下提问交流 觉得本文有用,请转发或点击“在看”,让更多同行看到
资料/文章推荐:
欢迎关注社区以下技术主题 ,将会不断更新优质资料、文章。地址:
闪存:http://www.talkwithtrend.com/Topic/163
银行:http://www.talkwithtrend.com/Topic/2961
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场