随着大数据与云原生的不断融合,大数据云原生已逐渐成为大数据技术框架未来的发展趋势。同时,在浦发银行的《数字科技十四五规划》中也提到,要夯实关键技术平台,发挥云原生架构的优势。因此,如何利用好云原生技术对大数据进行技术创新、场景落地,最终赋能数字化战略是浦发银行一直努力的使命。
传统大数据平台是指以处理海量数据存储、计算及不间断流数据的实时计算等场景为主的一套基础设施。典型的大数据平台包括Hadoop系列、Spark、Flume、Flink以及Kafka等大数据生态组件。而如今面对海量数据爆发式的增长,对大数据的管理和使用提出了更高、更新的要求,在此背景下,以“弹性、敏捷、开放”著称的云原生技术赋予了大数据平台新的含义,云原生大数据平台开始登场,发挥大数据的真正生产力。
浦发银行通过深度剖析国际上最为主流的云原生化大数据平台产品ClouderaCDP,在充分理解大数据云原生技术优势与所带来的价值之后,逐步掌握了当前云原生大数据平台的内部架构原理以及运维管理模式。与此同时,也发现目前诸多基础架构层的技术,还没有跟上这一波技术革新的节奏。其中,现阶段的存储技术,在云原生化、存算分离等新架构下,就无法充分满足大数据的相关需求。因此,浦发银行在项目中,引入了浦发银行和「DaoCloud道客」共同研发并开源了的Piraeus云原生存储技术,并在部分场景中进行了试点,成功验证了该技术在浦发银行多场景下应用的可行性与价值。
01大数据云原生场景中的Piraeus存储系统在大数据云原生场景中,大量有状态的应用需要挂载持久卷(PersistentVolume,PV)。Piraeus云原生存储,能够满足不同的应用对持久卷的差异化需求,同时提供高性能多副本、高效存储池管理和快速故障迁移等企业级特性。
高性能多副本
MySQL数据库、Hadoop的NameNode以及联邦学习的节点控制器的数据,都需要保障高可用,来避免单点故障导致的数据丢失。Piraeus提供双副本和三副本的持久卷,能够支撑数据的高可用。同时,副本之间会进行同步复制,确保数据的实时一致性。
高效存储池管理
现在的服务器里配备了物理硬盘(HDD)、SATA接口的常规固态SSD盘以及速度更快的NVMe协议的SSD盘。Piraeus把这些不同性能的存储介质,聚合成不同的存储池(具体是LVM逻辑卷组VG),从而分配不同性能的持久卷。例如上图中,MySQL使用了来自(黑色标示)NVMeSSD池的持久卷。HadoopNameNode使用来自(蓝色标示)常规SSD池的持久卷。联邦学习的控制节点使用了来自(绿色标示)物理硬盘HDD的持久卷。
快速故障迁移(failover)
在Kubernetes节点出现掉点或者本地数据损坏时,Kubernetes会重新调度容器。Piraeus的智能高可用控制器,可以干预容器调度流程(pipeline),确保容器调度到有数据副本的节点之上,同时尽可能地缩短调度时间。在默认设置下,Kubernetes重新调度有状态容器需要12分钟,而Piraeus智能高可用控制器,则可以将这个时间缩短到1分钟,甚至30秒内。
02云原生化的联邦学习系统作为国内首批引入联邦学习技术的银行之一,浦发银行通过对开源联邦学习框架FATE进行定制化的二次开发,打造了一个安全、高可用、高性能的云原生化联邦学习平台。该平台使得联邦学习技术,快速融入和应用到银行广泛的业务领域,针对营销、风控、客户管理和运营决策等,提供全生命周期的解决方案,打破数据合作壁垒,在业务场景中,助力与各领域合作方的创新突破,实现业务规模的快速增长。在大数据云原生化的背景下,为保证整个联邦学习平台能够在云原生场景下,依旧提供高性能的安全计算支持,浦发银行对储存联邦建模数据的计算存储引擎容器Nodemanager,进行了云原生改造,来满足以下几点需求:
1.使用POSIX文件系统挂载数据
2.在容器调度到新节点时,依然可以访问到相同的数据
3.数据不能有单点故障
4.数据访问需要高吞吐和低延时
首先,使用了外部企业级NAS存储的NFS服务,通过Kubernetes持久卷(PV)的形式,将数据挂载到了计算存储引擎的容器上。这样做虽然能够满足前三点需求,但是性能非常不理想。之后,使用了本地路径进行挂载,虽然性能问题得以解决,但是本地路径的单点故障问题,将导致挂卷容器不能重新调度到新的节点之上。
经过研究和测试,浦发银行发现,采用Piraeus云原生存储可以满足上述四点需求。Piraeus的数据卷是块设备,可使用ext4或者xfs文件系统实现本地挂载。而Piraeus的Kubernetes-CSI驱动和DRBDTransport远程挂载技术,使容器可以在集群内任意节点访问数据卷。同时,Piraeus的多副本卷采用DRBD同步复制技术,保证高可用的同时,提供媲美本地盘的高吞吐和低延时。
在使用Piraeus成功支持NodeManager容器之后,浦发银行把MySQL容器的持久卷,也换成了Piraeus副本卷,同样取得了很好的效果。
03联邦学习工作流程图EggrollNodeManager和MySQL的持久卷(PV)由Piraeus提供。
04性能测试在把NASNFS持久卷换成Piraeus的双副本持久卷之后,联邦学习开源框架Fate的数据处理性能得到了显著的提升。
注意:以上的测试并不是“同等硬件”下的测试结果。NFS来自于一个企业级NAS存储服务器,而Piraeus后端使用的是虚拟机的本地虚拟磁盘。也就是说,NFS后端硬件性能远高于Piraeus副本卷的后端硬件性能。所以,如果Piraeus后端使用NAS同等的硬件,性能还会更优。
05破解云原生存储在数据场景中的难点1.KubernetesCSI接口标准
云原生存储必须支持KubernetesCSI接口标准。Piraeus开源项目一直紧跟CSI社区的每一次迭代,开发了全套的“辅助(sidecar)”容器,实现了CSI框架描述的各项特性。并且在其之上进一步创新,开发出了高可用故障切换和NFS转发等高级功能。
2.数据的节点亲和性和智能调度
云原生存储需要支持数据的节点亲和性(VolumeNodeAffinity),以及相应的智能调度。Piraeus在CSI层面实现了VolumeNodeAffinity,同时提供了一个Scheduler高级调度器,确保容器在创建、迁移、重建等阶段,都能被调度到离数据最近的节点上。
3.数据高可用
云原生存储需要保证数据没有单点故障。Piraeus的数据卷采用成熟的DRBD数据实时同步技术,实现双副本和三副本的高可用能力,并提供远程挂载的能力,与智能调度能力相结合,确保容器优先运行在副本所在的节点上。
4.快速故障迁移
在Kubernetes节点出现掉点或者本地数据损坏的情况的时候,Kubernetes会重新调度容器。Piraeus的智能高可用控制器,能干预容器调度流程(pipeline),确保容器调度到有数据副本的节点上,同时尽可能地缩短调度时间。Kubernetes重新调度有状态容器,在默认设置下,需要12分钟,Piraeus智能高可用控制器可以把这个时间缩短到1分钟,甚至30秒内。
06总结大数据技术与云原生技术,一个是数据处理领域的基石技术,一个是业务编排领域近年来兴起的新兴技术。两者本来在各自生态中不断发展壮大,如今通过共通的存储技术栈实现了交互融合,产生了“1+12”的化学反应,为数字化带来了更多的新可能。浦发银行表示,未来将持续探索云原生存储技术,积极开拓全面云原生化的Hadoop生态,深入研究云原生化的大数据平台、计算引擎、调度系统等场景下的应用解决方案,帮助更多大数据应用搭乘上云原生化的新快车,进一步赋能行业数字化转型。
Piraeus
Piraeus数据存储项目由LINBIT、「DaoCloud道客」和浦发银行联合发起并开源,于2021年7月8日被CNCF的Sandbox接纳。
PiraeusDS是一个开源项目,它将已建立的DRBD和LINSTOR技术与Kubernetes连接起来,使得持久性存储卷可以用于容器工作负载。DRBD作为Linux内核中的驱动程序,提供了可以基于主机复制的存储技术,并且为超融合部署(HCI)的解决方案提供了基础。LINSTOR是一种用于在存储设备的Linux(LVM,ZFS,VDO,Luks,DRBD等)的存储构建模块中构建功能丰富且高效的存储卷的架构编排软件。并且LINSTOR支持例如SeagateExos®和WD的OpenFlex的共享存储产品。
官网:
项目地址:





















