dragon1220
作者dragon1220·2023-11-16 13:47
员工·某银行

城商行10亿级以上影像数据平台基于分布式对象存储方案架构设计及实践

字数 4618阅读 4001评论 6赞 12

摘要:

近年来,银行等金融行业的业务类型逐步从传统信息金融向互联网金融、智能金融转型,业务线上化、移动化和场景化的业务占比越来越高,非结构化数据在进行快速增长。结合实际业务场景和技术调研,最终全行影像平台场景采用了分布式对象存储。本文主要对现有全行影像平台系统所存在的问题进行了分析,简述了分布式存储的技术选型原则、现场POC测试情况分析,以及生产环境架构方案设计和运维经验分享。

一、背景介绍

近年来,金融科技从传统信息金融向互联网金融转型,到逐步向智能金融进行转型,5G、云计算、大数据、AI等新技术、新应用的蓬勃发展,各金融单位业务线上化、移动化和场景化的业务占比越来越高,银行等金融行业内部的非结构化数据在进行快速增长,如视频、语音、图片、文件等。

在2020年之前,我行的存储架构以集中式存储为主,承载的业务类型为虚拟化平台、集中式数据库、非结构化数据存放、共享文件等场景。针对我行某些业务场景,原来的存储不具备灵活扩展能力、不适用保存海量数据、数据接口类型单一等问题逐渐凸显了出来。经过对业务类型的分析,我行业务需求主要集中在对现有影像平台系统改造。

在2020年时,我行全行影像平台系统存放的非结构化文件数量已经超过十二亿,逐渐形成了海量非结构化数据。我行使用的集中式存储保存文件上限为20亿,在应对这种海量非结构化数据时,已经接近了性能及使用瓶颈。同时,业务文件的检索效率也会随着文件数量的增加而降低。

二、设备选型

经过对上述场景业务需求的分析,这两类系统对存储的需求均为IO读写稳定,并发流量大,可靠性高,易于扩展,适用于保存海量非结构化数据。结合实际业务场景,全行影像平台场景我们计划采用分布式对象存储。

为了验证方案可行性,我行于2020年对7家业内主流分布式存储厂商进行了现场POC测试,测试内容主要包括存储设备的功能性、稳定性、性能、S3接口兼容性、大数据接口兼容性、技术能力等测试场景。具体的测试场景详见详见如下示意图。

在POC测试正式开始之前,我们提前做了如下几个准备:

1、由于分布式存储的架构特点及数据写入逻辑,为真实模拟验证存储在正常承载业务后的性能及稳定性表现,进行稳定性及性能测试前,我们根据不同硬件厂商提供POC设备的容量,提前对其导入了测试数据,数据量在4亿至6.5亿个文件,使测试使用bucket使用率均在65%以上,即处在了一个较高的使用水位上。文件大小为共有9类,在4KB至10MB之间。

2、为真实模拟验证存储在正常承载业务后的扩展能力,在进行稳定性测试、性能测试、存储节点在线增加或移除测试时,各个硬件厂商均需要对测试使用的bucket打开双中心同步复制,并施加高IO压力。

3、为真实模拟验证存储在正常承载业务后对存储在硬件故障发生时稳定性和可靠性,在进行稳定性测试、存储节点在线增加或移除测试时,各个硬件厂商均需要对测试的存储施加高IO压力,要求存储整体压力负载压力不低于60%。

经过对7家存储设备厂商的现场POC测试,结合业务实际需求,经过对测试结果的分析,华为分布式存储设备在我们测试中比较关注的几个测试项中,测试结果较为理想,主要为如下几个方面。

1、S3接口兼容性测试。在S3对象存储接口测试中,华为存储可通过原生S3 API接口或华为提供的对象存储接口示例完成与现有业务测试场景的对接。

2、大数据组件支持能力测试。在HDFS接口测试中,华为存储在大数据组件spark、hive、yarn、hudi等的测试场景中各测试项均测试通过。

3、存储集群性能测试。在性能测试中,华为存储整体的性能结果为最优。尤其是在小文件混合(64KB及以下场景)读写测试中,华为存储的优势尤为明显。

4、集群可靠性测试。高可用性测试中,在硬盘故障、存储节点故障、交换机故障、单条网络链路等故障场景中,华为存储整体的测试结果为最优。尤其是在存储集群进行存储节点扩容时,单个存储节点发生故障的场景,在故障发生时,华为存储集群的IO读写虽短时间内出现了抖动,但并未中断,随即恢复正常,后续并未出现性能下降的情况。

5、集群设备芯片兼容性。华为分布式存储同一集群可支持不同型号和类型的芯片混合部署,方便后续进行的设备扩容升级及国产化改造。

三、 方案规划及经验分享

基于POC测试结果及实际业务需求,我们最终选定了使用华为OceanStor Pacific分布式存储来搭建我行全行影像平台及数据技术中台的数据底座。在进行方案设计及配置选型时,整体的设计方案和思路如下:

针对全行影像平台,由于其为我行重要应用系统,在进行方案设计时,我们采用了双中心冗余架构,即在生产中心及同城中心分别搭建了一套8节点的X86架构分布式存储集群,EC纠删码等级为6+2,启用存储协议为S3对象。其中生产中心存储集群做为服务端对外提供业务,同城中心存储集群做为备份端使用。

近年来,我们对全行影像平台使用的生产及同城2套华为分布式存储集群进行了扩容,2套存储集群各扩容了2个和原有存储节点不同型号的X86芯片存储节点。在整个扩容操作中,业务层无感知。

这两套存储集群自2021年下半年投产至今,运行稳定,性能表现情况良好。经过这2年来对存储设备的规划及日常的维护操作,我有如下几点经验总结如下,仅供大家参考。

在应用系统改造层面:
由于全行影像平台为生产正在运行的应用系统,且历史数据量较大。为了适配新建的分布式对象存储集群,全行影像平台应用做了如下改造。

(1) 新业务数据的写入,落入新建分布式对象存储集群中;
(2) 历史数据的读取,优先从对象存储中读取;若未读取到,则去原NAS存储中进行读取;
(3)新配置4台数据迁移服务器,在业务闲时逐条将原NAS存储中数据迁移至新建分布式对象存储集群,并同步更新数据库中保存的文件路径。整个迁移时长近5个月,共计完成了大小近150TB、超12亿个文件的数据迁移工作。
(4)在数据迁移时,对数据量较大的应用场景(例如事后监督、信贷系统等)及有明确数据保存周期的应用场景(例如冠字号系统等)创建了专用bucket,这样可通过存储bucket自身的生命周期管理策略实现部分应用数据生命周期管理的功能。

在硬件选型和实施层面:

1、存储节点配置选型
首先是数据保护方式的选择。经过实际性能测试发现,在分布式对象场景下,存储使用的副本及EC纠删码两种数据保护方式,在性能上的表现整体误差在10%以内。结合硬件设备实际的得盘使用率,建议在分布式对象场景下优先选择EC纠删码数据保护方式,这样在可兼顾到性能的同时设备也能得到充分利用,性价比相对高一些。

其次是存储规格选型。存储的硬盘故障在我们日常存储故障统计中,占比超过90%,所以存储硬盘的选择也是需要考虑到的。从数据盘大小角度来说,分布式存储绝大部分选择的HDD盘都比较大,大小从6TB,8TB至16TB,18TB等。从数据保护方式来说,虽然无论是副本或者EC纠删码均可容忍多块硬盘同时发生故障,但从新换硬盘数据重构时间来说,实际情况是更换使用率达到60%的单块6TB HDD盘时,数据重构大概需要24个小时,这其实也一定程度上增加了存储集群运行的风险。因此我个人建议是用于重要业务系统场景的尽量选择小容量HDD盘,用于备份归档场景业务系统场景的则可选择大容量HDD盘。而且从性能的角度来说,在总容量需求相同的情况下,HDD盘的大小越小,配置硬盘的数量也越多,可提供的整体集群性能也就更好一些。

2、存储实施规划
分布式存储从设备实施的角度来看,多台多硬盘服务器所构建成的一个软件定义存储资源池。与服务器不同的是,分布式存储集群需要的功能性网段会更复杂一些。例如我们在实际的实施中,分别要使用到BMC网络、管理网络、业务网络、存储集群网络以及双中心复制网络。建议在实施时,提前对网络进行规划,并为未来可能进行扩展的存储集群,预留足够的地址数量,存储集群内部交换机端口,以及设备摆放的机柜位置。在实施时,要提前确认业务数据的具体流向及负载大小。

在备份容灾方面,在进行架构规划时,我们规划的是双中心主备架构,双中心的硬件配置完全一致,主中心对外提供服务,备中心做为备份集群。在双中心数据备份层面,对生产环境分配的全量bucket均做了双中心数据的异步复制,增量数据同步间隔为5分钟。应用系统访问存储的S3接口为域名方式访问,存储域名通过行内统一的DNS服务器进行解析。这样在进行双中心存储集群主备切换时,无需在客户端更改配置,通过修改DNS服务器域名解析指向,并切换双中心存储集群的主备关系,即可实现双中心存储集群的切换。

3、存储集群的异构兼容性
在进行技术选型时,个人建议要考虑到同一个存储集群内硬件设备的异构兼容性,要确认后续扩容、新老设备替换、硬件架构更迭等方案的可操作性。

由于2020年,搭配国产芯片的分布式存储并未在金融行业大规模使用,我们在选型时还是优先选择的X86架构。但我们在当初选型时,考虑到了国产分布式存储产品是否支持不同类型CPU混合部署,是否能实现业务系统底层数据在不同存储池之间进行数据迁移迁移。我行在进行存储集群规划设计时,也已经提前为未来硬件架构的更迭及新老替换做了准备,即业务数据由非信创存储节点向信创存储节点逐步实现数据迁移做了准备。在实际验证中,我们在用的存储集群可将新增的ARM节点创建一个新的硬盘池,和原有X86节点硬盘池并列,在上层配置中使这两个硬盘池属于同一个存储池,业务数据可通过存储集群自身的数据负载均衡能力,将业务数据平均分布在两个硬盘池中。这样的话,存储集群整体对外仍是同一个业务接口,业务系统无需进行改造即可实现“一池多芯”的分布式存储架构。今年,针对我行的大数据分布式集群场景,我们通过在线扩容信创存储节点的方式,已经实现了分布式存储“一池多芯”架构,即26个X86节点+21个信创节点。

四、总结

我行采用华为分布式存储OceanStor Pacific作为数据底座,对全行影像平台系统的底层存储进行了替换。华为分布式存储用灵活的弹性扩展能力和优异的性能,为我行能够持续为用户提供优质体验奠定了坚实的基础。

1、应用更高效
针对影像平台业务场景,相比以往,我行影像平台系统底层存储升级后,网络带宽、数据处理效率、文件存取速度较以往提升了数倍,可有效地保证多个上层应用(如贴原数据、数据打标签等)同时并行处理,处理影像小文件的时间由数十毫秒降低至数毫秒,客户体验大幅提升。

2、部署更可靠
通过部署生产主站点和同城备份站点的容灾方案,存储系统可以提供全天候7*24小时的连续稳定服务。配合上每个站点的弹性EC保障,在满足6个9(99.9999%)可靠性的同时,实现不低于75%的资源利用率。

3、数据更稳定
在海量多样性的数据下,倘若下层存储底座无法提供稳定的高性能,上层应用会因性能波动造成客户使用的“卡顿”,比如柜面办理业务时的凭证采集。华为分布式存储在单桶100亿对象的数据量下,在影像平台典型业务场景中,系统始终能保持稳定不低于3.6GBps的业务带宽及22000Tps的处理效率,保障高质量的用户体验。

协作专家:
1.钟振国 城商行 资深工程师
2.ljm327 城商行 存储工程师
3.王玮 城商行 资深工程师
4、佘昀 某城商行 资深工程师
5、周中秋 某城商行 工程师

顾问专家:
刘振国 某银行 资深专家
范永清 城商行 系统架构师

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

12

添加新评论6 条评论

ZhuJun2014ZhuJun2014存储工程师IBM
2023-11-24 14:01
8节点6+2的保护,后来加到10节点,贡献3.6GB/s吞吐,到盘上的压力大概在5GB/s左右,平均到每个节点500MB/s。即使每个节点配置12个最少的NLSAS盘,也不算高压力。对于架构做了复制,数据又是EC保护的模式,坏一个盘重构24小时,应该毫无影响,完全不需要担心。不过6T盘,重构24小时,确实可以算是拖拉机速度了。

dragon1220@ZhuJun2014 现实情况是,绝大部分故障是存储内部检测出来的慢盘,我们手动做的硬盘离线和更换,而且数据重构的速度也是控制的比较小,这样重构起来就慢了些。 要是真出现坏盘了,可能在我们故障处理前数据就均衡完了,这样的话集群还是一个+2的冗余比。

2023-11-29 02:37
czjingczjing系统运维工程师运维
2023-11-24 10:11
很实用和可借鉴的案例,提到了节点磁盘的选择和网络的提前规划,确实是实施过程需要重点考虑的问题。有一个疑问,在应用改造时,两套存储并行的过渡期是同一个应用同时兼容两套存储么?如果是独立的,业务层数据的读取操作如何判断在那套环境呢?

dragon1220@czjing 1,应用兼容了两套存储。写的话优先写入对象存储,读的话做了应用层判断,来辨别数据在哪套存储上。 2,应用的判断逻辑是在数据库上标记了一个字段。因为影像平台的文件在NAS或者对象存储上,数据库里面保存的是文件路径。新写入的文件,以及从NAS迁移到对象存储上的文件均会在字段上予以标记。当应用读取文件的时候,会去读取这个字段,从而去对应的设备上去取文件。

2023-11-29 02:44
匿名用户
2023-11-24 10:08
影像平台作为银行业重要的业务系统之一,存放了关键业务系统的数据和凭证,在银行的迅速发展下,影像平台关联的业务系统产生的非结构化数据将会越来越多。针对这些海量的数据,面对传统存储架构不移扩展性的特性,目前的分布式架构将会是比较好的选择。本文正是通过本行的业务特性,结合POC测试,从多种架构中选择了分布式对象存储作为海量非结构化数据的存储底座,既能满足业务发展的需求,又通过测试进行了论证。结构思路清晰,目的明确。若是把POC测试的对比数据体现出来就更好了。

dragon1220: @匿名用户 这个POC测试比较早了,是2021年下半年做的,我个人感觉当时的数据并不能客观体现现在这个时间点各个厂商的能力。如果想沟通当时具体情况的话,咱们可以联系一下。

2023-11-29 02:48
Senko leeSenko lee课题专家组系统架构师江西裕民银行
2023-11-23 17:06
影像平台在银行业应用非常广泛,作为众多应用系统的重要存储支撑平台,其架构扩展性、稳定性、高性能、接口丰富性都是选型时优先考虑的问题。作者给大家分享了非常详细的选型、POC测试经验,给后期实践具有较大的指导意义。
wwzwh9521wwzwh9521系统工程师bcs
2023-11-22 16:47
影像平台面临存储海量非结构化数据,如何使用技术合适、成本可控的技术架构尤为重要。使用分布式存储是成本适中、架构稳定的解决方案,文章进行了深入分析和数据化展现,很有借鉴意义。信创架构下的演进发展将会有更多变化,持续关注、优化相关解决方案。
wanggengwanggeng系统运维工程师某银行
2023-11-22 16:46
影像平台在国内银行业一直以来都是关键的支撑系统,柜面系统也多和影像平台有交互,因此影像平台的安全可靠性和性能也愈发重要。随着银行近些年的业务发展,影像平台积累的数据无论从容量和文件数量上来看都是急剧增长,因此平台的数据处理性能和同城高可用容灾建设也逐渐成为企业的关注点。分布式对象存储作为海量非结构化数据的存储底座无论在数据处理性能上还是同城数据级容灾建设上都提供了很好的解决方案。本文正是在这样的背景下,结合行里的业务需求,对影像平台的数据底座进行了全面阐述,文章结构清晰,内容也比较充实。
Ctrl+Enter 发表

本文隶属于专栏

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

相关文章

相关问题

相关资料

X社区推广