lding1985
作者lding19852019-07-01 15:04
软件开发工程师, bank

某城商行新核心存储选型经验及全闪存存储应用实践

字数 4818阅读 3235评论 9赞 9

作者简介: YC ,现就职于某银行信息科技部,主要负责行内生产环境的基础运维和架构管理工作,熟悉主流厂商的存储产品,多次参与行内重要硬件设备的选型。

前言:近些年,随着闪存技术的逐步成熟以及介质价格的下降,闪存存储已广泛应用于银行业,成为支撑核心交易的关键设备。本文从存储阵列发展历程入手,结合我行核心存储的选型经验,重点介绍全闪存存储的技术特点以及应用场景,希望能给各位读者后续的使用带来帮助,如有错误之处敬请批评指正。

一、存储阵列的发展历程

介绍闪存存储之前,有必要先普及一下存储阵列的发展历程,观察历史是认识今天的一个非常重要的视角。

(一) 存储阵列的出现

天下武功唯快不破,存储设备也是这样。计算机设备出现后很长一段时间里,存储数据主要依赖于单个硬盘、软盘等介质,为了扩大存储介质的适用场景,某公司就把硬盘做的很大、可靠性很高,自然价格也十分昂贵。但是存储阵列的出现彻底打破了数据存储对单个硬盘可靠性和性能的依赖,一方面使用 RAID 技术,用多个普通硬盘同时工作来实现数据的冗余,避免了单块硬盘的局限和瓶颈;另一方面使用缓存技术提升了 IO 效率、部分缓解了机械硬盘性能的瓶颈。存储阵列替换单个硬盘介质的过程,与现在分布式替换集中式架构的过程十分类似,通过软件加廉价硬件改变过去对单个高可靠设备的依赖,从而达到提高灵活性、降低成本的目标。

(二) 中端存储的崛起

存储阵列从可靠性、扩展性,单位容量的平均价格等指标,又可以分为高端、中端以及低端存储。机械硬盘时代,由于单块硬盘的容量和性能有限,对于大规模集中式存储的场景,难以避免需求大量的磁盘介质,这就造成对存储设备整体的扩展性要求较高,高端存储设备几乎成为各个银行核心、柜面等关键业务的唯一选择,总体拥有成本也相对较高。而固态硬盘的出现,颠覆性地打破了传统机械硬盘的瓶颈,其单盘性能是一般 SAS 硬盘的数倍以上,容量达到几倍甚至几十倍,最为重要的固态硬盘相比于机械硬盘,在对于上层应用最敏感的延迟方面表现要好得多。随着主要存储厂商打通中高端存储微码以及 SSD 硬盘介质的发展,多数客户的大部分应用场景已经不再需要成百上千块硬盘的堆叠,中端存储的性价比优势凸显,逐渐成为市场主流。

(三) 全闪存存储的分类

全闪存存储从架构来看有集中式和分布式两种,本文主要探讨集中式架构的全闪存存储。集中式全闪存存储从产品类型上分为全新性和升级型两种。第一种是基于全新架构,如 DELLEMC XtremIO 和华为的 Dorado ,这类产品提供默认的在线压缩和去重功能、经济性更好,基于智能芯片及算法、存储延迟也控制的更低,比较适合用于创新业务和 VDI 场景;另一类是在传统高端存储的基础上,将机械硬盘换为固态硬盘,并对微码进行部分优化,这类产品属于在可靠性和性能之间进行了平衡,既继承了上一代存储微码的稳定性,延续了存储的容灾复制技术以及两地三中心的架构,同时性能也有较大提升,更适合关键业务场景,是传统存储的升级。

业内普遍认为, 2016 年是闪存市场的元年,原因是一方面随着出货量的增加和制造成本的逐年下降,固态硬盘的单 TB 售价已与机械硬盘基本持平,另一方面,技术升级和解决方案的不断优化,固态硬盘技术也日趋成熟逐渐被用户所接受。目前固态硬盘已广泛应用于桌面端以及数据中心领域,基于固态硬盘的存储阵列已成为金融行业关键业务数据存储的最佳选择。

二、新核心存储选型经验及应用成效

在我行新核心项目启动建设之后,主要硬件设备平台选型是项目前期工作的重点之一。

(一) 选型原则

选择一个适合自己的技术,比一味地选择新技术要重要的多,尤其是在关键设备选型时,选型者不能盲目的听从厂商销售,要多交流、多思考,分析对比不同产品的利弊;不能简单照搬同业的解决方案,要结合自身情况进行优化和适配、取长补短。生产设备选型建议遵循两个基本原则:一是稳定性和可靠性能够满足生产环境要求,二是不大量增加运维负担。

从外部环境来看,银行业的强监管是一直延续的,不出现系统性风险是银行科技工作的基本要求。从近些年同业出现的比较严重的业务中断事件原因来看,基本都是因为基础设施或存储设备故障导致的。存储设备承载的是数据,而数据又是银行信息化建设的血液、是生产资料,存储服务中断或数据丢失造成的影响,随着信息化建设进程的深入,变得越发重大。对于中小型银行来说,评估产品稳定性最好的方法是看该产品是否有多个同等或高于自己规模企业的案例。

此外,软件生命周期的百分之七十都是在运维,硬件设备更多,一个不考虑后期运维的选型是极其不负责任的。银行自身运维人员的数量、掌握能力,新技术学习的难易程度,原厂商本地化的支持能力等都是需要考虑的问题。

(二) 新核心存储选型考虑的主要因素

技术从某种意义上来说是一种工具,工具的价值主要体现在使用者如何使用,再好的工具使用错误,往往也会适得其反。产品也是一样,没有一种包打天下、适合所有应用场景的产品,在产品选型之前,一定要仔细分析利弊,权衡创新和稳定,才能够选择到合适产品,给后期运行维护减轻负担。我行的核心存储选型主要考虑了如下几个方面:

1 . 核心是银行系统的心脏,核心系统一旦出现问题几乎会影响到所有的对外交易服务。所以对于核心系统数据存储设备的选型,稳定性是需要放在第一位的。

2 . 一般银行高端硬件设备使用的生命周期在五年以上,设备选型需要考虑产品技术的先进性以及原厂支持服务时间,选择设备应至少能够满足未来三到五年业务的发展需要。

3 . 共享文件是目前多数使用负载均衡应用的通用需求,在核心系统选型方面是使用存储端的 NAS 解决方案,还是选择操作系统层面的共享文件系统如 GPFS 。

此外,规划选择两地三中心解决方案、保护现有容灾端设备投资等等都是选型需要考虑的问题。

(三) 核心存储平台投产方案

经过前期调研、测试,我行最终选择的方案如下:

1. 产品架构方面选择的还是集中式数据存储,没有考虑分布式存储。集中式存储最大的优势在于架构简单、维护相对容易,已有的运维经验能够延续,同时传统存储厂商在非一线城市的本地化支持能力相对较强,对于中小型银行来说,互联网业务的增长规模比较大行有一定的局限性,而且未来可以通过拆分互联网核心以解决,综合分析来看集中式存储是当前传统核心的最佳选择。

分布式存储目前主要还存在一些问题:

一是产品稳定性有待进一步增强,集中式存储多诞生于上世纪 80-90 年代,而分布式存储出现时间才刚刚几年,软件的可靠性是需要经历长时间、大量客户的验证以及锤炼的, Oracle 数据库软件在出现的早几年也是存在很多问题;

二是价格优势不明显,分布式存储厂商经常会用价格作为重要武器去攻击集中式存储,但是在用户真正采购时发现,虽然其使用的廉价 X86 平台硬件成本比集中式要低,但是如果加上不菲的软件授权以及后续支持服务费用,总体成本对比集中式的中端存储往往会更高。

综上所述,笔者认为目前分布式存储还不适合在银行的核心业务中大范围使用,可以在一些创新业务、互联网场景业务中进行试点、积累经验,使用前做好数据容灾及备份方案,以防对生产系统稳定运行造成影响。

2. 产品型号方面选择的是 DELL EMC VMAX250F 全闪存存储,主要考虑的因素是固态硬盘比较于机械硬盘优势明显,虽然目前还存在一些问题,但是存储设备的可靠性主要依赖于微码,单个硬件设备(如控制器、硬盘)的故障或缺陷对存储设备持续运行影响有限。

3. 共享文件存储选择了使用高端存储自带的 NAS 功能,目的在于尽可能简化架构,减少故障点。

4. “ 两地三中心 ” 架构延续使用了高端存储的底层复制技术,其中同城为同步、异地为异步复制,同时核心数据库在同城机房使用 Oracle ADG 技术额外增加了一层数据保护,防止逻辑错误。

(四) 投产后成效

新核心存储投产上线以后,目前已稳定运行了一年多,对比老核心,最大的提升在性能方面。对于日间交易来说,一些低效 SQL 因为存储性能的提升而有所缓解,降低直接或间接阻塞交易的概率,给运维处置留有一定的缓冲时间;夜间批处理效率提升更为明显,因为存储吞吐量的提升以及延时的降低,将批处理时间缩短了近三分之二,给后续数据仓库及下游报表系统批量空出了更多的时间。

三、投产后出现的难点问题如何解决

我行使用的全闪存存储实际上是老核心存储的升级,总体架构和技术更新上没有本质的变化,总体来说升级后性能比较稳定,出现的问题主要还是在与其他软硬件产品的匹配上。

(一) 批处理资源的调配问题

批处理时间的缩短,可以通过应用程序的高并发实现对硬件性能的极度压榨来实现。在实际运行中,计算资源( CPU )和存储性能往往是相互制约、相互影响的关系,当计算资源相对紧张时,应用程序因无法获得更多的 CPU 而阻塞,存储资源无法得到充分的利用;同样存储因为性能不够,导致延时大幅度上涨时,操作系统端 IO WAIT 过高,实际计算资源的利用率也会相对较低。从另一方面来看,假设主机到存储的带宽足够大、存储性能足够好,一直增大应用程序的并发,计算资源是一定会被耗尽的。

对于银行来说,夜间批处理的时间段还并行着业务交易,从成本上考虑批处理服务器往往也同时运行着应用服务,当批处理主机计算资源被耗尽后,分配到该主机的交易会因为延时大幅度增长而影响客户体验。所以,批处理程序不能一味地压榨硬件设备的性能,需要平衡批量时间以及硬件资源利用率之间的关系,通过测试选择合适的并发度,将存储延时和主机 CPU 利用率控制在适当的范围之内。

(二) 同城容灾设备的匹配问题

银行的核心系统遵照监管要求,是需要采用 “ 两地三中心 ” 架构部署的。而多数 “ 两地三中心 ” 解决方案中,同城机房一般会采用同步或双活方式进行部署,也就是一个 IO 从生产端存储写入,需要等容灾端存储同样写完成后才能够提交。一旦生产端选择使用全闪存存储,容灾端的最佳实践是使用同型号、同配置的全闪存存储,如果因为设备利旧或预算等其他原因无法同样采购时,容灾端至少应使用混闪存储,且存储的 CPU 核数、缓存配置应尽可能贴近生产存储,以防容灾端拖累生产端存储性能,而失去主存储的性能优势。

此外,生产与容灾之间的光纤链路也有可能成为存储性能的瓶颈,配置时应根据生产端存储峰值的吞吐量,对中间波分链路带宽进行扩容,绑定合适数量的存储交换机端口以扩大 BBcredit 值。

总之,使用全闪存存储最大的优势在于性能,而性能的提升往往不是一蹴而就、单纯换个设备这么简单,需要应用软件、系统软件、网络、周边硬件设备的配合,特别针对有批处理的重要系统,建议投产前多进行测试,一是对配合存储的软硬件设备进行调优,充分发挥存储性能的优势;二是过程中要密切监控硬件设备资源、链路带宽的利用率,将其控制在合理的范围之内,以防对其他系统的运行造成影响。

四、总结及建议

全闪存存储到目前为止已经十分成熟,适用于中小银行数据中心绝大部分应用场景。随着技术的发展,闪存存储下一步技术发展的方向是将 SSD 升级为 SCM ,存储的前后端协议由 scsi 更换为 NVMe ,存储延迟会进一步大幅度的降低。业内普遍认为,未来企业级存储会逐步向两类演变: 第一种是全闪存存储,主要承载企业关键业务数据库等结构化数据,优点是性能和安全;第二种是海量数据存储池,主要承载企业大量的影像、日志等非结构化数据,优点是廉价和易扩展。最后留个建议,未来采购集中式存储时,全闪存存储是极好的选择;如果预算有限,应至少选择混闪存储,配置不少可用容量 30% 的 SSD 硬盘,这样当承载业务出现性能问题时,通过存储端服务级别管理动态调配存储介质,远比应用程序优化或者数据迁移要简单方便得多。

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

9

添加新评论9 条评论

#wuwenpin软件开发工程师, 南京
2019-07-26 08:39
收藏了!
#zczspring网络工程师, 上海银基
2019-07-10 10:04
分析很到位,目前全闪存储在各行各业中,都逐步推广使用。
#zczspring网络工程师, 上海银基
2019-07-10 10:04
分析很到位,目前全闪存储在各行各业中,都逐步推广使用。
#x93206系统工程师, nj
2019-07-10 09:20
这几年随着全闪存储的价格下调,使用全闪存储的场景越来越多
#wangzimingsq88软件开发工程师, 本钢矿业公司
2019-07-08 16:52
某城商行新核心存储选型经验及全闪存存储应用实践中,简单地介绍了存储阵列的出现、崛起、分类、新核心存储选型经验及应用成效(包括:选型原则、新核心存储选型考虑的主要因素、核心存储平台投产方案、投产后成效)、投产后出现的难点问题如何解决(包括:批处理资源的调配问题、 同城容灾设备的匹配问题)、最后进行总结及建议。但具体的解决方案,包括设备选型和布置、参数设置、验收要求、质量和技术要求应该详细地说明,另外在兼容性、容错、冗余等方面也希望详细说明。
#嬴政其它, 电信
2019-07-05 15:15
谢谢分享,消化中
#niechun系统工程师, EDI
2019-07-05 09:56
谢谢大师神级文章
#michael1983技术经理, 某证券
2019-07-03 15:16
很中肯,很接地气,全闪存存储在金融行业,尤其是生产系统领域的应用,空间还很广阔。
#cnpmc系统架构师, gds
2019-07-03 00:26
谢谢分享,学习中
Ctrl+Enter 发表

本文隶属于专栏

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

关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
© 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30