ossfs 2.0概述

更新时间:2025-03-28 08:21:38

ossfs 2.0是一款专门用于通过挂载方式高性能访问OSS(对象存储)的客户端,它具备出色的顺序读写能力,可充分发挥OSS的高带宽优势。

适用场景

ossfs 2.0支持AI训练、推理、自动驾驶等新型计算密集型负载,这类工作负载通常以顺序和随机读取、顺序(仅限追加)写入为主,无需依赖完整的POSIX语义。

运行环境

ossfs 2.0基于FUSE(用户态文件系统,Filesystem in Userspace)开发。目前支持x86_64架构,内核版本大于等于3.10Alibaba Cloud Linux系统。

操作系统

系统版本

系统架构

内核版本

下载地址

安装教程

操作系统

系统版本

系统架构

内核版本

下载地址

安装教程

Alibaba Cloud Linux

Alibaba Cloud Linux (2系列)

x86_64

4.19

ossfs2_2.0.0beta_linux_x86_64.rpm

Alibaba Cloud Linux系统

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.0ossfs 2.0对于常用POSIX API的支持情况。

功能分类

操作/功能

ossfs 1.0

ossfs 2.0

功能分类

操作/功能

ossfs 1.0

ossfs 2.0

文件基础操作

open

支持

支持

flush

支持

支持

close

支持

支持

文件读写

read

支持

支持

write

支持随机写入(需配置磁盘缓存区)

仅支持顺序写入(无需磁盘缓存)

truncate

支持(可调整文件大小)

仅支持清空文件

文件元操作

create

支持

支持

unlink

支持

支持

rename

支持

支持

目录操作

mkdir

支持

支持

readdir

支持

支持

rmdir

支持

支持

权限与属性

getattr

支持

支持

chmod

支持(操作不报错,但设置不生效)

支持(操作不报错,但设置不生效)

chown

支持(操作不报错,但设置不生效)

支持(操作不报错,但设置不生效)

utimes

支持

支持

扩展功能

setxattr

支持

不支持

symlink

支持

不支持

lock

不支持

不支持

后续参考

  • 本页导读 (1)
  • 适用场景
  • 运行环境
  • 使用限制
  • 功能介绍
  • 功能特性
  • POSIX API支持情况
  • 后续参考