ossfs 2.0是一款专门用于通过挂载方式高性能访问OSS(对象存储)的客户端,它具备出色的顺序读写能力,可充分发挥OSS的高带宽优势。
适用场景
ossfs 2.0支持AI训练、推理、自动驾驶等新型计算密集型负载,这类工作负载通常以顺序和随机读取、顺序(仅限追加)写入为主,无需依赖完整的POSIX语义。
运行环境
ossfs 2.0基于FUSE(用户态文件系统,Filesystem in Userspace)开发。目前支持x86_64架构,内核版本大于等于3.10的Alibaba Cloud Linux系统。
操作系统 | 系统版本 | 系统架构 | 内核版本 | 下载地址 | 安装教程 |
操作系统 | 系统版本 | 系统架构 | 内核版本 | 下载地址 | 安装教程 |
Alibaba Cloud Linux | Alibaba Cloud Linux (2系列) | x86_64 | 4.19 | ||
Alibaba Cloud Linux (3系列) | x86_64 | 5.10 |
使用限制
权限要求:需确保AccessKey对目标Bucket或前缀(prefix)相关资源拥有全部权限,否则可能导致挂载失败或功能异常。
存储类型限制:不支持挂载归档存储、冷归档存储、深度冷归档存储类型的Bucket。
文件名限制:文件名长度上限255字符(遵循Linux限制),OSS中超过此限制的文件或目录在挂载点内不可见。
文件读取限制:新写入的文件必须在文件关闭后才会上传到OSS。如果读取一个正在写入、尚未关闭的文件,可能导致报错。
文件写入限制:不支持随机写入,不支持并发写入同一个文件。默认写入不可追加的OSS对象。写入分片大小默认是8388608字节(8 MiB),即最大支持83886080000字节(78.125 GiB)的文件写入。分片大小可根据挂载选项upload_buffer_size配置。
文件重命名操作(非原子性)
文件:先拷贝后再执行远端文件的删除操作。
目录:对所有文件执行拷贝操作后,再批量执行源文件的删除操作。目录重命名时默认限制子孙文件数量为200 万,限制的子孙文件数量可根据挂载选项rename_dir_limit配置。
并发写入一致性:多客户端同时挂载同一Bucket并写入同一文件时,无法保证数据一致性。
POSIX API兼容性:部分兼容,具体请参见POSIX API支持情况。
功能介绍
功能特性
提供基础的POSIX兼容性,聚焦于发挥OSS的服务端读写能力。
通过端到端的读写链路优化,提供了高效的大文件顺序读写能力。
通过高效的元数据管理能力,提供了高效的小文件并发加载能力。
POSIX API支持情况
以下为ossfs 1.0与ossfs 2.0对于常用POSIX API的支持情况。
功能分类 | 操作/功能 | ossfs 1.0 | ossfs 2.0 |
功能分类 | 操作/功能 | ossfs 1.0 | ossfs 2.0 |
文件基础操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
文件读写 |
| 支持 | 支持 |
| 支持随机写入(需配置磁盘缓存区) | 仅支持顺序写入(无需磁盘缓存) | |
| 支持(可调整文件大小) | 仅支持清空文件 | |
文件元操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
目录操作 |
| 支持 | 支持 |
| 支持 | 支持 | |
| 支持 | 支持 | |
权限与属性 |
| 支持 | 支持 |
| 支持(操作不报错,但设置不生效) | 支持(操作不报错,但设置不生效) | |
| 支持(操作不报错,但设置不生效) | 支持(操作不报错,但设置不生效) | |
| 支持 | 支持 | |
扩展功能 |
| 支持 | 不支持 |
| 支持 | 不支持 | |
| 不支持 | 不支持 |
后续参考
- 本页导读 (1)
- 适用场景
- 运行环境
- 使用限制
- 功能介绍
- 功能特性
- POSIX API支持情况
- 后续参考