03 存储方案选型非 POSIX 兼容方案最初,我们尝试了很多对象存储的方案,也就是非 POSIX 的方案 。对象存储有很强的扩容能力,而且成本非常的低,但是对象存储的问题也很明显 。最大的问题就是没有 POSIX 兼容性 。对象存储的使用方式跟文件系统有比较大的区别,如果把对象存储直接作为接口面向研究员,对他们来讲使用有很大的难度,便利性也有很大的限制 。
除此之外,很多云厂商的对象存储有请求限制 。例如,阿里云会对整个帐号的 OSS 带宽做限制 。对于普通的业务场景这通常是可以接受的,但是突发性任务会在瞬时产生非常大的带宽需求,仅仅使用对象存储很难去支撑这类场景 。
另一个方案是 HDFS ,我们在 HDFS 上面并没有做太多测试 。首先,我们所采用的技术栈对 Hadoop 没有太强的依赖;同时,HDFS 对 AI 训练的产品的支持并没有特别突出,而且 HDFS 没有完整的 POSIX 兼容性,这对我们的使用场景会有一些限制 。

文章插图
云上 POSIX 兼容方案上文中提到的业务特点决定了我们对 POSIX 兼容性有很强的需求,而且技术平台是基于公有云来进行的,因而我们将存储选型的范围确定为:云上兼容 POSIX 。
云厂商会提供一些方案,比如像阿里云的 NAS,AWS EFS 之类;另外一类是像阿里云的 CPFS 方案,AWS 的 FSx 方案 。这两类文件系统的吞吐是与容量强绑定的,当容量越大的时候,吞吐会越大,跟 NAS 的存储性质是直接相关的 。这样的方案,在面对小量的热数据的时候不太友好,需要额外的优化才能达到比较好的表现 。另外 CPFS 或者阿里云上的极速型 NAS,对低延时的读取很友好,但缺点是成本比较高 。
就各自官网展示的价格,我们做了个对比 。各类高性能 NAS 产品的成本大概是 1500-2000元/TB/月,JuiceFS 整体的成本会低很多,因为 JuiceFS 的底层存储是对象存储。JuiceFS 的成本分成这样几个部分:对象存储的存储费用;JuiceFS 云服务的费用;以及SSD 缓存产生的成本 。综合来看,JuiceFS 的整体成本远低于 NAS 和其他方案的成本 。
在吞吐方面,早期做了一些测试,当节点数量比较少的时候,直接用 CPFS 跟做 JuiceF 对比,同时读取性能不会有很大的差异 。但是当节点数变大之后,因为 NAS 类文件系统有带宽限制,读取时间整体都拉长了,而 JuiceFS 只要做好缓存集群的部署,可以非常轻松的支撑下来,并且没有太大的开销,下图场景是部署了总带宽约为 300Gb 左右的集群 。

文章插图
除了成本和吞吐以外,在技术选型时,JuiceFS 对上文提到的功能 Full POSIX、权限控制、Qos、Kubernetes 都能够比较好的支持;
值得一提的是JuiceFS 的缓存集群能力,它能够实现灵活的缓存加速 。最开始时,我们使用计算节点做本地缓存,这是一个挺常见的做法 。存算分离之后,希望计算节点有一些数据可以本地化,JuiceFS 这方面功能的支持是比较完善的,对于空间的占用、百分比的限制等都做得很完善 。我们部署了独立的缓存集群去服务一些热数据,只要在使用之前去做缓存预热就可以了 。在使用过程中,我们发现不同的计算集群资源的利用率差别很大,集群中有一些大带宽的机器,大部分时候都是用来做单节点的计算,这也就意味着机器的网络的资源基本上是没有怎么用到,而且还有一些闲置的磁盘,因此就在这些机器上去部署了缓存节点,把闲置的网络带宽给利用了起来 。最终使得我们在同一个集群中,实现了一个带宽非常大的缓存集群 。
经验总结扩展阅读
- 17 基于SqlSugar的开发框架循序渐进介绍-- 基于CSRedis实现缓存的处理
- 19 基于.NetCore开发博客项目 StarBlog - Markdown渲染方案探索
- Arctic 基于 Hive 的流批一体实践
- 2023年9月26日适合投资吗 2023年9月26日投资好吗
- 三 AIR32F103 Linux环境基于标准外设库的项目模板
- 2023年9月投资黄道吉日 2023年9月哪天适合投资
- 2023年9月27日投资行吗 2023年9月27日投资好不好
- 2023年2月2日投资好不好 2023年2月2日是投资的黄道吉日吗
- 2023年9月28日投资好吗 2023年9月28日投资吉日一览表
- 盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!