EsTTaNk
作者EsTTaNk2023-11-22 14:09
系统工程师, 某农商银行

基于国产全闪NAS存储建设高可用和高性能的云原生平台实践

字数 5704阅读 3866评论 4赞 7

摘要:

本文章主要阐述了在分布式、微服务应用架构的背景下,如何在银行业内去推广容器这种轻量化计算资源的思路、分析其切合的使用场景及其面向高可用、双活的最佳实践。并且在此背景下结合数据持久化这样的一个需求,来分享在云原生环境下如何去使用存储来满足容器环境下的数据存储需求。

一、 项目背景

随着近几年银行业数字化转型的不断深化以及线上业务模式不断创新和规模不断扩大,银行客户对银行服务的消费习惯已发生改变。银行业整体趋势为线下业务在逐渐萎缩,线上业务规模在持续扩大,通过数字化技术随时随地开展银行业务,及时为客户提供全方位、多元化的服务以满足快速变化的客户需求已经是银行业目前的核心关注点。

前期调研发现云原生平台核心的容器技术目前在银行业普及度相对较低,在容器技术基础上用国产化高性能全闪存储来做数据持久化的案例更是凤毛麟角。我行积极响应国家加快数字经济建设要求,发扬“敢为、敢闯、敢干、敢首创”的“四敢”精神,目前正全面推进我行数字化转型。结合几年国产化、信创工作的相关要求,一个安全、可靠且具有前瞻性是我行云原生平台项目建设的目标。

二、 项目方案

根据项目前期需求总结的敏捷、高可用、国产化三点核心项目设计需求,结合我行本年数据中心本地多活数据中心建设总体设计架构,经过多轮选型及POC测试后我行云原生平台项目选定采用博云BOC平台来管理、承载容器运行时。在存储这一块考虑到:1、成本(对比FC存储),NAS存储接入简单,只需接入通用万兆交换机即可,无需单独采购光纤交换机、HBA卡来去单独规划、建设的一套容器存储网络。2、性能、高可用(对比分布式存储),NAS存储可做跨中心双活,并且在同等存储规模下性能优于分布式存储。所以在容器挂载的持久化存储卷由华为OceanStor Dorado 5500全闪存储提供。云原生的管理面,业务面的master节点、镜像仓库由于均使用传统虚拟机部署,故备份采用虚拟机(OceanProtect X6000)整机快照备份,每天备份,一体机保留最近30天的整机快照备份。

云原生平台架构设计图如下:

本次基于国产全闪存高性能数据底座的云原生平台方案设计主要从以下几个方面进行整体规划设计:

打造云原生金融级容器云基础架构平台

金融系统IT基础设施对高可用、稳定可靠有较高的要求,基于传统的IaaS部署应用已有相对成熟的解决方案,如存储层镜像复制、虚拟机漂移、全局DNS切换等。基于容器技术建设的云基础设施具备更优的资源利用率和弹性优势,但云原生技术体系仍在快速发展过程中,如何利用容器技术打造高可用、稳定可靠的IT 基础设施,各企业需求存在不同的解法,本方案设计了金融级容器云网络、高性能云原生存储、容器云高可用架构等系列方案进行容器云基础设施建设,并使其具备支撑企业级PaaS层的底层服务能力。

全面适应云原生负载的国产全闪存高性能数据存储底座

数据底座存储采用国产华为OceanStor Dorado高性能全闪存NAS存储方案,满足金融系统多个模块在业务高峰期时段的高并发、低时延、高达数十万 IOPS 峰值的业务响应诉求,提升交易支撑能力,同时实现多层数据保护方案,可通过两地三中心的灾备部署为业务提供7个9可靠性保障。此外,OceanStor Dorado支持CSI(容器存储接口)、CDR(容器应用容灾)、CSM(容器存储监控)等软件引擎,完美适应云原生工作负载,大幅加强企业应用韧性和管理弹性。

提供PaaS层统一技术服务能力

通过基础技术平台为上云业务一键提供常用开源中间件服务,省去业务系统建设重复造轮子的过程;另外提供不同技术架构分布式体系环境下的微服务治理能力,为不同技术栈的应用系统上云扫清障碍。

基于PaaS能力的微服务应用管理平台、AI应用支撑管理平台以及容器安全管理平台等系列解决方案进行容器云PaaS层能力建设,并使其具备支撑企业级PaaS的扩展性能力。

安全合规下的CICD 高效交付体系

银行业务较多且复杂,很难迅速规模化服务化,欲快速规模化推进银行的传统业务系统容器化迁移,发挥云化基础设施效能,建立切实可行且便于研发、管理、运维人员上手的交付体系也非常关键。

本方案通过CICD流水线服务使自研应用从头云原生,为Serverless奠定基础;以企业制品仓库为交付体系的中枢,打通应用上云的制品流转、自动化安全合规审核。

加强云原生可观测性

基于kubernetes和容器云的架构优势,简化应用管理的复杂度,提升应用的交付效率。在稳定可信赖的,企业级容器云基础设施的基础上,提供全面的应用管理能力,极大增强应用的稳定性。提供全面的多应用类型的支持(微服务应用、中间件、AI应用),实现对这三类应用的全生命周期管理使管理者放心。通过提升资源的利用率,降低应用管理的难度,降低整体的资源成本和运维管理成本。

在可观测性规划设计方面,采用Prometheus作为整体平台资源监控,基于EFK提供统一日志汇聚、海量检索。形成Logs(日志)、Traces(链路追踪)、Metrics(报表统计)可观测性平台,保障在应用部署形态发生变化下的可观测能力。

三、 创新点

本次基于国产全闪存高性能数据底座的云原生平台建设,是我行IT战略的重要组成部分,通过规划建设专有云原生平台,配套新数据中心建设,提供智能、安全、可扩展的高性能IT服务,能够满足适应面向客户的敏捷开发需求,打造稳定且可持续发展的我行IT坚实底座。同时,也有助于培养一支有云原生思维的新一代技术和管理团队。打造云原生分布式架构平台,支持轻量化容器引擎、高效虚拟化技术,实现应用秒级部署,让微服务成为可能,降低系统复杂度。本次项目在建设或推广应用等方面的创新点如下:

1、平台采用存算分离架构,将容器相关技术底座和国产高性能存储的数据底座结合,建设了容器云(应用发布)及微服务统一管理平台。该平台实现了应用持续集成、快速部署、秒级弹性伸缩、故障自愈等关键特性,能够对中间件的全生命周期统一管理,同时提供业务应用支持同城双中心的双集群部署和灾备双活能力,并配合存储层的双活能力,实现满足金融业务的高可靠性。

2、容器平台通过创新容器存储引擎CSI、CSM、CDR等,实现了资源的高效发放、管理和业务韧性的大幅提升。容器存储引擎实现了存储资源的自动化部署,使其快速满足业务诉求;提供可视化面板以实现容器存储资源的全局和细粒度管理;深度结合存储容灾功能,提供容器应用级一站式容灾解决方案,提升企业用云韧性。

3、容器网络采用高性能网络方案Fabric,兼容已有生产网络、并实现租户网络隔离、支持与现有网络和安全设备无缝对接等功能,性能接近原生网络,具备良好的扩展性。节点网络除了采用Fabric-underlay模式外,将node节点网络架构解耦为:k8s管理网络,业务运行网络,存储管理网络三个平面。三个网络各两根上联光纤保障高可用,不同平面流量互相隔离,互不干扰。

4、兼容满足信创要求。从云平台底座到软件服务具有全链路信创运行的能力,同时保障分布式应用高性能稳定运行。

四、 技术实现特点及优势

本次基于国产全闪存高性能数据底座的云原生平台实现的特点及优势包括:

整个容器云和全闪NAS存储(华为)是采用全国产自主研发产品。平台支持“一云多芯”,可统一管理海光、鲲鹏等国产化芯片异构集群和混合集群,可根据业务或信创需要,灵活选择芯片类型;

采用容器技术建设容器云、微服务统一管理平台,通过容器与基础资源整合,建设可信赖的金融行业企业级云原生基础设施,实现PaaS平台层,满足金融行业内弹性计算、分布式架构以及高性能低时延存储的需求。

基于国产全闪存高性能数据底座存储的高可用架构如下:

业务应用实现海虞燕谷数据中心和档案楼数据中心同城双活方案落地,为金融行业提供了成熟的技术平台和案例支持。业务应用、微服务和中间件支持同城双中心的双集群部署和灾备双活能力,搭配存储层的双活能力,实现99.99999%的高可靠性。同时平台搭配存储能够提供完善的数据同步机制,来保障金融级别的数据强一致性。

具体全闪存高性能数据底座存储技术实现如下:

1、华为CSI支持丰富的企业级特性部署
华为CSI插件和k8s配合,实现在k8s平台对华为存储的管理功能。存储资源按需发放管理,简单易用。

华为CSI全面支持CSI标准接口,扩展支持租户、双活QoS等能力,满足容器应用开发者按需灵活调用存储资源。

2、华为CSI使能业务快速发放,批量部署场景效率提升30%
华为CSI和存储管理面深度优化,自动调整指令执行并发度,使资源调度效率达到最佳。可支撑海量容器应用并发部署,效率领先业界10%,并且网内所有k8s集群的均能使用博云的BOC平台管理,平台管理员只需纳管k8s集群后即可在云原生的管理平台上进行sc/pv/pvc的管理。

3、基于存储租户结合容器业务分层规划,实现全局可控与局部敏捷
存储管理员:根据集群业务的规划创建多个租户,配置租户管理员、存储池、租户配额、租户业务IP等。

集群管理员:根据业务规划基于backend创建一个或者多个StorageClass,并设置回收策略Qos、访问权限、访问协议等。

安装华为CSI插件,并基于不同的租户新增存储后端(backend),配置存储协议、业务访问端口,双活等。

业务用户:根据业务需要对PV进行读写/扩容/快照/克隆等

根据业务需要创建PVC,并设置PVC大小读写模式等参数。

4、结合应用和容器平台体系,以存储的共享为基础,以漂代切,降低应用副本数并带来极致的高可用

MySQL、Kafka 等多副本机制应用,主节点故障从应用主从切换替换为POD漂移方案。

故障POD快速漂移,快速检测 +存储快速就位+应用快速拉起降低IO业务停顿时间。

不同中心间由全局域名解析来负责判断数据中心级应用的可用性,同中心内通过修改k8s默认配置来实现快速感知应用node故障,pod切换至正常node节点运行。集群内漂移容错,集群内无法容错则跨集群漂移容错。

五、 运营情况

截至目前,云原生平台已稳定运行包括三融商城、智慧食堂、企业微信营销平台、搜索中台、模型平台等9个应用,共计一百余个pod。

六、 项目成效

本项目的建设,实现了我行各部门之间的互联互通、资源共享,从而避免各部门重复采集数据,提高行政效率,有助于实现协同办公。项目建成后,应用发布效率提升200%,运维成本降低了50%,应用发布成功率达到了近100%,资源成本节省了30%。PaaS平台有效支撑了新建多种类型微服务技术架构金融应用,提升了新技术应用安全可靠服务客户。

开发人员可以通过云原生平台上提供的服务,获取共享信息,提供人性化的服务,进一步方便居民和企业办事,促进服务型银行构建。

通过本项目的生产建设及运营实践,培养与拓展了技术人员的基础能力,能够独立开展多层面的分析与应用工作,强化了重点业务领域专家能力建设,建立了一支具有实战能力的内部科技团队,以更科学系统化的方法设计创新框架和路径,将金融科技真正落到实处,为我行打造了多层次、多类型的立体式金融科技复合型人才。

另外本项目按照全行一体化协同、全行一体化运维、全行一体化分布式技术栈建设,降低全社会的IT能耗,减少排放,真正做到绿色节能的云计算平台。

七、 经验总结

作为国内农商行中首个采用同城双活架构,一云多芯模式下的平台项目的顺利完成,一方面为实现我行数字化转型的战略目标提供强大、稳定、敏捷的技术支撑平台,在满足云平台底座到软件服务具有全链路信创运行的能力的同时保障分布式应用高性能稳定运行,此外,基础资源以及应用层容器资源弹性供给,按照分布式技术框架,支撑行内各业务系统实现多中心多活的高可用容灾体系。另一方面,与国有大行云平台建设方式不同,我行在结合自有规模及业务特质构建的云平台,为后续其他农商行的建云、用云,提供了很强的借鉴意义。

1、高性能低时延云原生平台,存储性能得到极大提升
采用容器技术建设容器云应用发布与微服务统一管理平台,通过容器与全闪存高性能数据底座存储基础资源整合,建设可信赖的金融行业企业级云原生基础设施,实现Paas平台层,满足金融行业内弹性计算、分布式架构以及高性能低时延存储的需求。

2、采用云原生化后,产品创新的速度可以大幅提高
基于国产全闪存高性能数据底座的云原生平台构建的系统可以十多天就可以投产一个创新产品,每周都会发布优化产品,基本上做到快速迭代、快速创新,真正敏捷起来。

3、采用同城双中心的双集群部署和灾备双活架构,实现七个9级的(3.15秒)高可靠性
业务应用和中间件实现同城双活方案落地,为我行提供了成熟的技术平台和案例支持。业务应用和中间件支持同城双中心的双集群部署和灾备双活能力,搭配存储层的双活能力,实现99.99999%的高可靠性。同时平台搭配存储能够提供完善的数据同步机制,来保障金融级别的数据强一致性。

4、采用容器平台后,业务秒级弹性、快速扩缩容
支持秒级的自动/手动的弹性伸缩,轻松应对业务流量冲击。通过容器镜像封装实现应用实例标准化,确保了应用在弹性扩容的时候应用实例完全保持一致。相比传统虚拟机停机启动至少需要10-15分钟,横向扩展则至少为1-2小时。容器非常轻量化,完全可以在访问量突增的情况下,实现秒级批量弹性扩容,应对突发流量冲击。

5、采用创新容器存储引擎,提升云平台敏捷性、韧性和可管理性

支持容器管理员与应用开发者按需编排存储资源,实现容器存储的高并发、自动化部署,30个容器存储资源部署仅需20余秒,效率提升1倍;支持容器级存储资源可视化,管理员可细粒度监测全局容器存储资源用量、性能表现等,实现云平台使用全局可控、局部敏捷;支持容器应用级容灾,实现服务器节点、存储、数据中心三层高可用,确保业务影响时间短甚至无影响,满足金融核心级业务可靠性要求。

本文协作专家:
姚雅飞 某金融机构 系统工程师
高晓峰 某农商行 工程师
陈亨迪 某商业银行 工程师
韩建伟 某农商行 工程师
周国美 某城商行 系统工程师

本文顾问专家
段国彬 某商业银行 容器云平台负责人

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

7

添加新评论4 条评论

yyf123yyf123系统工程师, 威海市商业银行
2023-12-01 18:23
该方案在容器领域里属于比较新颖的方案,为容器持久化存储提供又一套解决方案,客户可以更加灵活的选择适合自己的方案。
zhougmzhougm系统工程师, 厦门银行
2023-11-30 16:27
该篇文章提供了对基于跨中心双活全闪存NAS存储网络的云原生平台实践的研究与应用分析,分享了在云原生环境下使用集中式NAS存储来满足容器环境下的数据存储需求,同时,文章指出NAS存储网络相较于传统的分布式存储在简单性、稳定性和可靠性方面具有更高的优势。总体而言,该篇文章对NAS存储网络和云原生平台的结合实践作出了深入的分析,具有很强的借鉴意义。
Andy_wuAndy_wu存储工程师, 某大型股份制银行
2023-11-28 11:44
近年金融行业的云原生风生水起,遍地开花的开始研究和使用,APP业务/DB等容器化改造也是逐渐开始试水,但是真正做到稳定又能大面积适配推广的模板比较少,其中不乏来自有状态应用部署需要存储做永久保存的难题,存算分离已经是共识,但是存不存的稳定,尤其是各种存储架构是否适合自己的业务特征,比如对业务连续性/性能敏感的DB,可能会因为采用云原生的分布存储(分布式存储因特有的分布式复杂网络架构),在内部各组件之间的一个抖动(比如一块未及时隔离的故障硬盘等),会将IO hang住的情景直接传导至DB,进而放大到业务层的影响,触发重要业务层的限流措施,影响交易业务成功率;而采用容器统一的CSI接口,对接集中式存储(NAS/SAN),对前端应用透明,充分利用集中式存储目前高可用、高性能,加之现如今存储价格优势非常美丽,也能实现scale out多控扩容,因此底座K8s+CSI对接集中式存储,上层部署有状态应用应该是近期一个不错的选择,适合替代传统业务的云原生改造。 对了,上述那个分布式存储IO hang住等逐层放大的问题,在集中式存储因有全局缓存,大可放心,同时相信分布式存储将来也会做类似的优化改造,但是任然任重道远,需要时间来慢慢沉淀,填补各种大小坑,传统集中式存储也会追随云原生的步伐,期待在不久的将来齐分天下,各领风骚的局面出现!
starskystarsky系统运维工程师, 中原银行
2023-11-24 11:35
文中整体系统架构描述清晰准确,架构设计合理,另外希望能够补充一下业务容器使用存储的具体技术细节。
Ctrl+Enter 发表

本文隶属于专栏

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

作者其他文章

相关文章

相关问题

相关资料

X社区推广