ossfs 2.0存储卷概述
ossfs 2.0是基于客户端文件系统(Filesystem in USErspace, FUSE) 的客户端,能将阿里云对象存储服务OSS挂载成本地文件系统,业务容器能像访问本地文件一样通过POSIX操作访问OSS数据。ossfs 2.0相较于ossfs 1.0在顺序读写和高并发小文件读取等方面实现了性能提升,适用于对存储访问性能要求较高的场景(如AI训练、推理、大数据处理、自动驾驶等)。
功能介绍
功能特性
提供基础的POSIX兼容性,聚焦于发挥OSS的服务端读写能力。
通过端到端的读写链路优化,提供了高效的大文件顺序读写能力。
通过高效的元数据管理能力,提供了高效的小文件并发加载能力。
POSIX API支持情况
以下为ossfs 1.0与ossfs 2.0对于常用POSIX API的支持情况。
功能分类 | 操作/功能 | ossfs 1.0 | ossfs 2.0 |
文件基础操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
文件读写 |
| 支持 | 支持 |
| 支持随机写入(需配置磁盘缓存区) | 仅支持顺序写入(无需磁盘缓存) | |
| 支持(可调整文件大小) | 仅支持清空文件 | |
文件元操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
目录操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
权限与属性 |
| 支持 | 支持 |
| 支持 | 支持(操作不报错,但设置不生效) | |
| 支持 | 支持(操作不报错,但设置不生效) | |
| 支持 | 支持 | |
扩展功能 |
| 支持 | 不支持 |
| 支持 | 不支持 | |
| 不支持 | 不支持 |
性能提升
ossfs 2.0相较于ossfs 1.0在顺序读写和高并发小文件读取方面均实现了显著的性能提升。更多有关ossfs 2.0性能说明,请参见性能测试。
顺序写入性能:在单线程大文件顺序写入场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了近18倍。
顺序读取性能
在单线程大文件顺序读取场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了约8.5倍。
在多线程(4线程)大文件顺序读取场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了5倍以上。
小文件并发读取性能:在高并发(128线程)读取小文件的场景下,ossfs 2.0的带宽相较于ossfs 1.0提升了280倍以上。
运行方式
ossfs 2.0客户端以容器的形式运行在ack-csi-fuse
命名空间下的Pod中。