混合云场景下基于 Fluid 的焱融高效存储方案

  1. 背景

得益于部署便捷、运维高效、计算成本低、易于扩展等多方面的优势,云计算平台吸引了越来越多的数据密集型应用在上面运行。如今,以 Kubernetes 为代表的云原生架构,因其灵活的资源可负载性以及高效的应用编排调度,在很多机器学习、AI训练以及大数据应用等数据密集型场景中应用广泛。

  1. 问题

然而,Kubernetes 云原生环境和数据密集应用计算框架在计算存储分离场景下,存在的数据访问延时高、运行效率低下、数据管理复杂等痛点问题。

为了监控资源灵活性满足本地无依赖的要求,云原生应用大多采用计算存储分离架构。但是从访问效率的角度来看,要求用云网络传输带宽,当数据密集型应用在云上运行时,会造成数据访问瓶颈、性能下降。远程和跨数据中心的数据访问,引入了巨大的网络延时。有数据统计,同一个地域间数据访问的延时比同一个机房间数据访问的延时至少增加了4倍。而同一个国家不同地域间的访问延时又会增加至少1.5倍。同时对于使用对象存储的数据密集型应用,由于对象存储数据访问性能相较于高性能文件存储性能较差,叠加上上述网络架构的问题,会造成更加严重的性能下降与瓶颈。

  1. 解决方案

对于此问题,高性能分布式文件存储 YRCloudFile结合了DataLoad 功能以及Fluid和YRCloudFile Runtime缓存加速引擎带来了新的解决方案,让用户在混合云场景下既能体验文件存储的性能,又享受对象存储的成本和容量优势。

  1. Fluid介绍

Fluid 是一款开源的云原生基础架构。在计算和存储分离的大背景驱动下,Fluid的目标是为AI与大数据云原生应用提供一层高效便捷的数据抽象,将数据从存储抽象出来,以便实现:

  1. 通过数据亲和性调度和分布式缓存引擎加速,实现数据和计算之间的融合,从而加速计算对数据的访问。

  2. 将数据独立于存储进行管理,并且通过 Kubernetes 的命名空间进行资源隔离,实现数据的安全隔离。

  3. 将来自不同存储的数据联合起来进行运算,从而有机会打破不同存储的差异性带来的数据孤岛效应。

通过 Kubernetes 服务提供的该数据层抽象,就可以让数据像流体一样在诸如 HDFS、OSS、Ceph 这样的存储源和 Kubernetes 上层的云原生应用计算之间灵活高效地移动、复制、驱逐、转换和管理。而具体的数据操作对用户透明,用户不必再担心访问远端数据的效率,或是管理数据源的便捷性,以及如何帮助 Kuberntes 做出恰当的调度决策等运维问题。用户只需以 Kubernetes 原生数据卷的方式直接访问抽象出来的数据,剩余任务交给 Fluid 完成。

重要概念:

Dataset:数据集是逻辑上相关的一组数据的集合,会被运算引擎使用,比如大数据的 Spark,AI 场景的 TensorFlow。而这些数据智能的应用会创造工业界的核心价值。

Runtime:实现数据集安全性,版本管理和数据加速等能力的执行引擎。Fluid 的 Runtime 定义了标准化的接口,通过实现这些接口,开发者能够针对不同的场景与需求,扩展不同的 Runtime。

  1. Fluid + YRCloudFile Runtime

云原生容器应用的数据访问面临众多的挑战,YRCloudFile 为了解决这些问题,重构新一代面向容器环境的存储解决方案,开发了标准 CSI 插件无缝对接 Kubernetes。用户只需在 Kubernetes 集群 Master 节点及计算节点上,以容器形式运行 YRCloudFile 提供的 CSI 插件,即可对 YRCloudFile 的存储能力进行调度和访问。

此外 YRCloudFile 充分调研客户对于对象存储的使用需求设计了 DataLoad 功能,让用户既能体验文件存储的性能,又享受对象存储的成本和容量优势。对于容器用户来说,只通过 YRCloudFile-CSI 也能够使用 YRCloudFile 的 Dataload 功能,但是操作上较为冗余,生命周期管理上不够完善。

Fluid 通过在 Kubernetes 中部署 Dataset 和 Runtime 两个自定义资源对象,为数据密集型应用(例如大数据应用、AI应用等)提供了数据加速的服务,具备很强的数据集安全性和版本管理能力。用户在 Dataset 中指定远存储的信息,Runtime 将远程数据加载到离计算节点更近的地方,从而起到数据访问加速的效果。

将 Fluid 的管理能力和 YRCloudFile Storage 的高效访问能力结合。YRCloudFile 基于自身特性开发了符合 Runtime 接口的 YRCloudFile Runtime,使用Fluid的接口来实现 YRCloudFile 的 DataLoad 功能,让容器用户以 YRCloudFile 为存储卷,只使用 Kubernetes 的 API 接口就可以方便高效的使用对象存储 。

Fluid + YRCloudFile Runtime 当前具备的 DataLoad 功能如下:

  • 支持元数据导入和数据预热

  • 支持指定前缀的导入

  • 支持数据使用结束后的增量导出

整体架构流程图如下图所示:

YRCloudFile Runtime 会启动一个 Master 组件。Master 组件主要用来调用 YRCloudFile 的 gRPC 服务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值