strmvol存储卷概述
strmvol存储卷通过虚拟块设备的形式挂载对象存储数据,优化海量OSS小文件的读取性能。
方案概述
对象存储OSS具有支持海量数据存储、按需付费的弹性成本以及基于HTTP协议的便捷访问特性。容器化场景下通常采用FUSE(Filesystem in Userspace)方案挂载对象存储数据,但对于小文件读取场景,您可以采用虚拟块设备方案,以strmvol(Streaming Volume的缩写)存储卷的形式挂载对象存储数据。
strmvol存储卷通过虚拟块设备直接访问OSS数据,消除了FUSE中间层的性能瓶颈,将数据访问路径直接下沉至存储驱动层,以提升访问速度。这一方案尤其适用于需要快速遍历百万级小文件的场景,例如AI训练集加载、时序日志分析等业务。
适用场景
如果您的业务满足以下特性,可以采用本文介绍的虚拟块设备方案(即strmvol存储卷)。
说明
FUSE方案适用于绝大多数通用场景。具体使用方式请参见使用ossfs 1.0静态存储卷、使用ossfs 1.0动态存储卷和使用ossfs 2.0存储卷。
数据已存储在OSS Bucket中,且在业务运行期间数据无更新需求。
业务对文件系统的扩展信息不敏感。
只读场景,尤其是海量小文件或随机读场景。
运行方式
使用strmvol存储卷需要在应用市场部署strmvol-csi-driver组件。部署该组件会生成以下资源:
资源名称 | 资源类型 | 功能 |
strmvold | DaemonSet | 负责管理节点上创建的虚拟块设备。 |
strmvol-csi-plugin | DaemonSet | 实现strmvol存储卷的挂载和卸载能力。 |
strmvol-csi-provisioner | Deployment | 实现strmvol存储卷的动态创建能力。 |