联邦学习场景中 Piraeus 的应用

随着大数据与云原生的不断融合,大数据云原生已逐渐成为大数据技术框架未来的发展趋势。同时,在浦发银行的《数字科技十四五规划》中也提到,要夯实关键技术平台,发挥云原生架构的优势。因此,如何利用好云原生技术对大数据进行技术创新、场景落地,最终赋能数字化战略是浦发银行一直努力的使命。

传统大数据平台是指以处理海量数据存储、计算及不间断流数据的实时计算等场景为主的一套基础设施。典型的大数据平台包括 Hadoop系列、Spark、Flume、Flink 以及 Kafka 等大数据生态组件。而如今面对海量数据爆发式的增长,对大数据的管理和使用提出了更高、更新的要求,在此背景下,以 “弹性、敏捷、开放” 著称的云原生技术赋予了大数据平台新的含义,云原生大数据平台开始登场,发挥大数据的真正生产力。

浦发银行通过深度剖析国际上最为主流的云原生化大数据平台产品 Cloudera CDP,在充分理解大数据云原生技术优势与所带来的价值之后,逐步掌握了当前云原生大数据平台的内部架构原理以及运维管理模式。与此同时,也发现目前诸多基础架构层的技术,还没有跟上这一波技术革新的节奏。其中,现阶段的存储技术,在云原生化、存算分离等新架构下,就无法充分满足大数据的 相关需求。因此,浦发银行在项目中,引入了浦发银行和「DaoCloud 道客」共同研发并开源了的 Piraeus 云原生存储技术,并在部分场景中进行了试点,成功验证了该技术在浦发银行多场景下应用的可行性与价值。

01 大数据云原生场景中的 Piraeus 存储系统

在大数据云原生场景中,大量有状态的应用需要挂载持久卷 (PersistentVolume,PV)。Piraeus 云原生存储,能够满足不同的应用对持久卷的差异化需求,同时提供高性能多副本、高效存储池管理和快速故障迁移等企业级特性。

高性能多副本

MySQL 数据库、Hadoop 的 NameNode 以及联邦学习的节点控制器的数据,都需要保障高可用,来避免单点故障导致的数据丢失。Piraeus 提供双副本和三副本的持久卷,能够支撑数据的高可用。同时,副本之间会进行同步复制,确保数据的实时一致性。

高效存储池管理

现在的服务器里配备了物理硬盘 (HDD)、 SATA 接口的常规固态 SSD 盘以及速度更快的 NVMe 协议的 SSD 盘。Piraeus 把这些不同性能的存储介质,聚合成不同的存储池 (具体是 LVM 逻辑卷组 VG),从而分配不同性能的持久卷。例如上图中,MySQL 使用了来自 (黑色标示) NVMe SSD 池的持久卷。Hadoop NameNode 使用来自 (蓝色标示) 常规 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 驱动和 DRBD Transport 远程挂载技术,使容器可以在集群内任意节点访问数据卷。同时,Piraeus 的多副本卷采用 DRBD 同步复制技术,保证高可用的同时,提供媲美本地盘的高吞吐和低延时。

在使用 Piraeus 成功支持 NodeManager 容器之后,浦发银行把 MySQL 容器的持久卷,也换成了 Piraeus 副本卷,同样取得了很好的效果。

03 联邦学习工作流程图

Eggroll NodeManager 和 MySQL 的持久卷 (PV) 由 Piraeus 提供。

04 性能测试

在把 NAS NFS 持久卷换成 Piraeus 的双副本持久卷之后,联邦学习开源框架 Fate 的数据处理性能得到了显著的提升。

注意:以上的测试并不是 “同等硬件” 下的测试结果。NFS 来自于一个企业级 NAS 存储服务器,而 Piraeus 后端使用的是虚拟机的本地虚拟磁盘。也就是说,NFS 后端硬件性能远高于 Piraeus 副本卷的后端硬件性能。所以,如果 Piraeus 后端使用 NAS 同等的硬件,性能还会更优。

05 破解云原生存储在数据场景中的难点

1. Kubernetes CSI 接口标准

云原生存储必须支持 Kubernetes CSI 接口标准。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+1 >2” 的化学反应,为数字化带来了更多的新可能。浦发银行表示,未来将持续探索云原生存储技术,积极开拓全面云原生化的 Hadoop 生态,深入研究云原生化的大数据平台、计算引擎、调度系统等场景下的应用解决方案,帮助更多大数据应用搭乘上云原生化的新快车,进一步赋能行业数字化转型。

Piraeus

Piraeus 数据存储项目由 LINBIT、「DaoCloud 道客」和浦发银行联合发起并开源,于 2021 年 7 月 8 日被 CNCF 的 Sandbox 接纳。

Piraeus DS 是一个开源项目,它将已建立的 DRBD 和 LINSTOR 技术与 Kubernetes 连接起来,使得持久性存储卷可以用于容器工作负载。DRBD 作为 Linux 内核中的驱动程序,提供了可以基于主机复制的存储技术,并且为超融合部署 (HCI) 的解决方案提供了基础。LINSTOR 是一种用于在存储设备的 Linux(LVM,ZFS,VDO,Luks,DRBD 等) 的存储构建模块中构建功能丰富且高效的存储卷的架构编排软件。 并且 LINSTOR 支持例如 SeagateExos® 和 WD 的 OpenFlex 的共享存储产品。

官网:

https://piraeus.io

项目地址:

https://github.com/piraeusdatastore



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值