skey_deng
作者skey_deng2021-01-13 14:03
系统运维工程师, 某农商业银行股份有限公司

一名金融行业存储管理人员关于核心存储选型的心路历程

字数 6573阅读 7941评论 2赞 8

作为一名金融科技人员,在公司内承担存储管理的相关工作,2020年,行内核心存储面临更新换代,作为存储的管理人员,我开始着手负责新存储的采购工作,整体采购工作持续4个月,中间经历了种种,此时整理留下文字,算是对本次采购工作的总结,也希望自己能够在总结中发现新的问题,思考,解决,提升,创新。

背景交代

我公司是金融行业,对数据的完整性要求较高;根据国家政策有一定的设备国产化比例要求;公司数据集中存储;在科技独立的初期,因为数据规模较小,因此所有数据均存储在同一套集中块存储上;公司有自己独立的数据中心,供电,承重,制冷等因素都是需要考虑的。

公司科技独立5年,数据量与日俱增,初期设计的100T数据量已经不满足业务扩展需求,且在多次扩容过程中,因为部分决策性失误,导致原本的数据镜像已经无法实现,镜像存储容量缺失严重,虽然有备份机制保障数据容灾,但是在集中存储故障的情况下,恢复数据的工作将会非常困难,远远达不到行业标准的RPO,RTO要求,且当前存储在经历5年的使用后已经达到该设备的生命末期(eol :end of live),存储厂商无法提供扩容服务,2-4年后无法提供维保服务(eosl:end of service live),因此行内迫切需求更换核心主存储,解决当前面临的困境。

破题思路:

目前解决存储空间不足的问题是首当其冲的问题;其次数据的完整性,安全性要提升上来,达到行业监管要求;再次要有计划的调整存储层次,根据数据的密级,安全性要求,完整性要求等将存储规划成不同的层次,针对不同层次的存储选用不同的容灾等级。

针对以上的目标,我对当前的存储架构,存储性能等进行深入分析,并确定我的思考方向,以及要确认的问题:

1、 当前存储架构;
2、 当前存储性能;
3、 当前新采购存储在未来架构中的层次;
4、 风火水电等基础设施因素的影响;
5、 已被使用的当前存储的技术特性在未来采购新存储时是否需要延续使用;
6、 新采购存储与当前存储的更替工作需要采用怎样的技术手段,以及在实施过程中可能面临的问题;
7、 新采购存储性价比问题;
8、 当前公司资源(可以忽略)。

对症下药

分析当前存储架构原理及与业务匹配性,考虑是否沿用当前架构:

对于金融企业而言,一般架构制定实施后,短时间内很难有所变化,我公司当前架构仅仅运行了5年,所以我基本不考虑变更架构的问题,那么就沿用当前架构,我公司当前存储是某国外知名存储厂商E的两台中端集中式存储,并且在存储前端接驳了存储虚拟化网关,在存储网关上将两台中端存储提供的volume做了镜像,保证数据进来后一式两份,避免存储的单点冗余。

那么我新采购存储一定也是集中式存储(并非分布式存储不能考虑,但是其中的难度及风险是我所不想承担的,同时我也阐述,我们当前的架构不打算变更,而且我也没有那个能力),但是关于虚拟化存储网关是否要去除,我还是有一丝想法,个人认为目前市场上存储的走向是一定程度的去虚拟化网关设备,为什么这么说呢?

1、 作为存储市场的龙头厂商E公司在2015年推出了SRDF/Metro这样的技术,解决存储容灾问题。
2、 而且我们在实际使用中,也发现存储网关会在故障解决中增加解决的复杂度。
3、 采购部署时会提升建设成本,后续更换,升级都面临着较难的技术问题,而且其维护成本也是存在的。
4、 大容量闪存存储使用后,存储网关会成为性能瓶颈。
5、 存储网关也是用超过5年,其生命周期(eol)也将走到终点。

但是在最终采购实施时,我没有将存储网关去除,主要也是因为以下原因:

1、 个人第一次主持存储更换工作,底气不足,技术能够不够全面,无法将所有问题解决。
2、 我公司目前所有数据均在这个核心存储上,风险过高。
3、 目前使用的存储网关性能暂时可以支撑业务稳定运行。
4、 目前使用的存储网关性稳定性较好,维护人员有一定的运维能力。

分析当前存储性能与业务发展的匹配程度:

对于存储性能,我们考察的指标一般有三个,IOPS、ThroughPut(MBPS)、ReportTime,其中IOPS、ThroughPut两个指标是需要结合其他技术特性进行测试的,比如业务是读比较多,还是写比较多,是大块读写比较多,还是小块读写比较多(大块一般指单个块不小于128KB),是顺序读写,还是随机读写等等,但是对于业务来讲,ReportTime这个属性基本比较单一,对于普通业务ReportTime应不高于20MS,对于核心业务应该低于10MS,甚至有的业务要求应低于100NS。

除此之外还有存储的CPU,内存使用情况等基本数据,前后端口的队列深度,缓存命中率等等,各位也可以看看,仅作为参考指标。

对于我公司的业务需求,我主要考察了几个线上业务的性能情况,然后结合当前存储的性能情况,进行经验的推测后,定出了几个指标,用于后续的存储测试:

1、 公司线上业务A目前压力测试中单业务交易响应时间为380MS,监管要求该业务的ReportTime是300MS以下,该业务的单笔交易的需要途经10个存储读写相关的环节,目前行内的存储平均响应时间在17MS,那么如果能够进入10MS以下的响应时间,则可以节省70MS的时间,再从程序优化及数据库优化两方面下手处理则可以很容易进入300MS以下。因此第一个指标,集中存储测试时,随机读写的平均响应延迟应该在10MS以下。

2、 查看公司业务高峰期(早上9点-11点,下午14点-15点,晚间19点30分-21点40分三个时段)的平均IOPS,同时查看峰值的量,经过15天的连续监测(基本包涵公司所有的特殊业务发生可能产生存储压力的情况),公司的存储IOPS可达到8万的峰值,6万的平均值,而操作系统的块大小设置一般为4KB,因此测试的第二个指标,个人设置为测试在块大小为4KB时,随机读写的平均IOPS都要超过10万。

3、 查看公司的业务系统,一般读操作相对大一些,在存储IO中读占比在60以上,则测试时,选择随机读写混合模式下,读IO占70%,写IO占30%。

4、 公司的业务系统中,传输大文件的系统较少,一般主要是读写小于100KB的小文件,那么小文件的随机读写占比较高,大文件的顺序读写占比较低,但是也要加入到测试中,主要测试的还是小文件的随机读写。大文件的数据读写,测试指标定为128KB大文件的顺序读写,其IOPS大于8万,4KB小文件的随机读写,其IOPS大约10万,高于15万最好。

5、 在虚拟化网关的性能监测过程中,可以看到业务高峰期的ThroughPut,其写带宽在330MB/S,读带宽在800MB/S,那么测试过程中的数据写带宽至少应该在660MB/S,读带宽在1600MB/S。为什么这样设计测试,我是这样考虑的,现在市场上闪存存储占据市场主流,即使使用性能最差的QLC闪存盘,其性能也在HDD机械硬盘的10倍以上,考虑到各种因素,存储系统技术的发展不足以跟进磁盘技术发展,那么至少两倍应该是可以的。

6、 关于队列深度,查找资料后,得到这样一个建议值,我则按照这个建议值设定自己的测试指标,测试时,该指标范围为0-100,属于较为健康,当该指标超过500时,说明测试的模拟场景可能存在问题,并发IO剧烈,需要查看模拟的场景是否合理,测试环境的存储搭建或者配置可能存在问题,或者存储稳定性存在问题,当该指标超过1000时,那么这个存储基本不会选用,无论是因为模拟场景的问题,还是存储搭建的问题,这都说明厂商或者配合测试的技术人员或者设备存在问题。

分析当前存储在架构中的层次,以及被替换后所承担角色:

前面提到当前存储为我行所有业务共同使用的唯一两台块存储,因此核心业务也都在这两台存储中,那么新购存储一定要能够承担本行核心业务发展的重任,而结合市场因素等,基本存储的定位应该在各存储厂商推出的中高端存储(要求冗余性,安全性,稳定性都相对较高,可以很好的应用于主流容灾方案中,并且支持闪存盘的使用)。

对于存储的层次分类,个人借鉴一些同行前辈的分享,认为存储按其使用场景大致分为三类,分别为在线存储、近线存储、离线存储。

  1. 在线存储:处于可供用户实时读取和访问的工作状态下的存储,一般使用中端或者高端的块存储设备,性能较高,价格昂贵。
  2. 近线存储:处于可供用户快速读取和访问的工作状态下的存储,一般使用低端的块或者文件存储,性能较差,价格相对便宜。
  3. 离线存储:处于用户不能直接读取和访问的工作状态下的存储,一般使用虚拟带库,磁带库,光盘阵列等等,价钱便宜的多,现在部分公司也考虑云上存储,这与公司所在行业的监管规则和公司政策相关。

目前我公司只有在线存储这一类存储,但是公司产生的数据已经出现这三种状态,支撑业务运行的实时数据、实时业务日志,这类需要存储在在线存储上;已经产生的报表数据,并非用于业务运行,但是需要每月向监管部门上报,或者市场相关部门进行数据统计、调研时需要使用的,须定期进行查阅的数据,则应存储在近线存储上;每年年终结算完毕产生的报表数据,超过5年以上的历史数据,密级为机密及以上,按照监管要求需要保存15年以上,但是平时不使用的电子文件数据则需要存储于离线存储上。

鉴于此种状况,我考虑目前使用的存储拆开使用,分别作为主中心及灾备中心的进线存储使用,后期补充离线存储,因为目前我们使用的存储毕竟采购时属于当时市场的中高端产品,而且就其使用性价比,还是用于近线存储这一层次比较合适。

分析风火水电等因素影响:

对于风火水电的考虑,这个主要看公司的实际情况,很多公司的数据中心是将基础设施外包出去的,或者租赁的别的公司的机房,这部分基本不用考虑,只需要提出需求,让承包方或者出租方提供就可以,但是我们公司的机房是自己建设的,所以这一部分内容需要我们自己评测。说是评测,其实内容也相对较少,我们主要考虑3个方面:

电力因素,包括工业连接器,运行电压,运行电流,负载功率,这里需要注意一点工业连接器,因为各存储厂商提供的工业连接器头是不同规格的,所以一定要提前说明参数,避免设备到了,无法安装的情况,我们这次采购就因为工业连接器问题拖延了3个工作日。

制冷量的问题,也是需要考虑的,我们的机房也出现局部热点问题,当然这不仅仅是新购存储的问题,但是如果机房的制冷资源有限的情况下,还是需要考虑在上架新设备前,调整好制冷量。

承力架承重问题,一台存储满配可以达到将近1吨,承力架的承力能力也需要考虑下,一般老机房会产生这样的问题,新机房基本都不存在这样的问题。

分析当前存储的存储特性,以及后续采购存储是否需要这些特性:

关于存储特性,个人认为包括2个方面,一个是总体架构对其承担角色的要求的特性,在公司整体架构中,在线存储必须具备数据容灾(包括同城容灾,异地容灾)的特性;一个是存储本身保障数据安全的特性,比如高可用性、可扩展及灵活性、数据保障功能等。

目前我公司是通过存储网关实现双中心存储双活,那么新购存储只要与存储网关兼容,就可以承担起数据容灾的功能。当然我也考虑后续如果去网关的话,存储是否具备数据容灾功能,这里我决定是需要有这项功能的,如果是通过其他绑定软件实现,或者其他硬件实现,那么如果后续变更操作不困难的情况下,我们可以前期不购买这个功能软件或者硬件,在后期实现了去网关后,再次追加购买这个软件或者硬件。

对于数据容灾的功能特性,我制定了存储网关兼容性测试、存储双活功能性测试、异构存储在线镜像及数据复制功能测试。

关于存储本身保障数据安全的特性,我这边着重测试了存储数据快照功能测试、引擎冗余、供电电源模块、电池模块、磁盘阵列等级、前后端口冗余、非计划性断电等业务场景。

同时针对以后新购存储被替换后的使用情况,我们也进行了数据去重测试,数据压缩测试,eNAS功能测试,这样可以在该存储在被例旧使用的时候能够承担其他角色。

分析新旧存储更替的迁移方案,关注方案风险:

因为是存储的新旧更替,而且我公司目前只有两台存储,这两台存储又绑定所有业务,所以数据的迁移风险是必须要考虑的,而且决定着这次采购工作的成败,一旦影响业务,出现数据丢失,这绝对是我公司无法忍受的。目前公司涉及100余套业务系统,而24小时在线业务也涉及20套之多,整体数据量也在几百TB,窗口期实在无法协调,只能使用较为保险的在线迁移方案。

在与厂家沟通交流过程中,各个厂商给出了多套迁移方案,部分涉及到业务割接,必定影响到当前系统的运行,但是可以通过按照系统范围进行递进迁移的方式,但就算如此,我考察我公司的系统架构以及系统数据存储的实际情况后,还是觉得不够稳妥。好在我们之前使用的存储网关可以实现异构存储的数据复制,我们就以此为切入点,做相应的实施方案,经过多次权衡考察分析后,将迁移方案逐步完善,最后形成一套风险最小,安全性最高的在线迁移策略。

这个迁移方案我认为是需要在你确认存储采购之前去做的,而不是存储采购才做,否则可能产生其他变数。

分析新存储采购的性价比,以及监管政策:

对于存储性价比,个人从网站,供应商那里做了一些了解,同等档次产品基本都是国外产品相对昂贵些,国内产品相对低廉一些,这个基本没有什么可说的,但是国外起步早些,产品的安全性、稳定性经过了市场的检验,国内的产品起步晚些,最近10年才正式开始崭露头角,但并不是说国内产品不好,我们也重点对国内产品进行了相关的测试,其性能对比国外产品,个人认为有过之而无不及,测试报告中各项指标远高于国外产品。

再次我国设备国产化战略的持续推进,已经让企业更加关注国内厂商,同时使用国内产品,我们本次虽然没有采购国内产品,但是对国内产品已经有了一个全新的认识,后续的存储采购中,我们将重点关注国内存储产品,个人认为未来的5到10年内,国产存储将逐步应用于各企业的关键业务系统中,承担重要角色。

我们公司所在行业的监管机构也在逐步推进设备国产化的深度,我们与国内厂商的合作必将日益加深。

分析公司资源:

对于公司资源,这里也简单说下,主要是两部分,一部分是当前配合存储上线所需要的光线交换机资源等,另一部分则是商务资源,这个主要是领导的人脉资源,这个在你的项目推进中非常重要,往往你个人无法解决的问题,领导可以很轻松的解决,学会尊重领导,借助领导的资源非常重要,至少在我本次的工作中,领导给予我个人很大的帮助,对该项目的完成进度起到了极大的促进作用。

总结

在本次的项目中,我虽然承担着负责人的角色,但是我做的远远不够,很多问题考虑的不够周到,后续的实施过程中仍然遇到了问题,但是好在顺利解决了,在这次采购存储项目中我学到了以下几点:

1、 尊重领导,及时汇报,与领导紧密沟通,获得帮助。
2、 深入分析行内业务结构,科技设备服务于业务,与业务特性不匹配的技术(包括设备)是不能得到认可的。
3、 分析当前已经掌握的所有信息,做好需求分析,预估后续工作能够达到的结果,并为之不断完善当前的方案,做到精益求精,避免误差。
4、 考虑问题尽量全面,不仅仅要考虑当前任务是否能够完成,同时要考虑整体工作可能产生的其他后果,将不良影响降低到最低,将良好的影响突出出来。
5、 做好测试工作,即使存在诸多障碍也要尽可能的完成测试工作,我本次存储采购工作正处于疫情期间,受到各种制约因素的影响,但是最后还是完成了测试工作,并且在测试中受益匪浅。

本次存储采购,我们选用了国外龙头厂商的产品,产品的性能与可靠性也得到验证,确实当之无愧,但是我在本次的工作中也确实认识到了国产产品的优越性能以及其他各种可取之处,后续我会继续深入了解国内的存储产品,并在未来规划中推动使用国产产品。

题外话:在写完总结后,我请妻子帮忙订正文字中的语句不通及错字部分,然后我妻子将文字中涉及到领导相关的内容全部标出绿色,认为我不应该写,说你根本不擅长与领导沟通,你总是直来直去,经常得罪领导,你说的这些是否有些违心,我听完后确实颇有感触,工作于IT领域(我不敢说自己是技术宅,与技术宅相去甚远),我颇有IT男的“风骨”,较为直接,情商颇低,与领导碰撞比较多,但是我细思本次项目的执行过程,我确确实实认识到领导的能量,认识到资源的重要性,希望自己以后能够给与领导足够的尊重,顺利完成工作。

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

8

添加新评论2 条评论

yumen520yumen520行业代表, 杉岩数据
2021-02-24 16:19
感谢分享,让我们可以更清楚甲方需求
zhanxuechaozhanxuechao咨询专家, 数字研究院
2021-01-26 08:12
很棒,很坦诚的文章
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广