ossfs能将阿里云对象存储服务挂载成本地文件系统,方便用户像操作本地文件一样管理OSS数据。
ossfs介绍
ossfs是一个用户空间文件系统(userspace filesystem),它允许您在Linux系统上将OSS存储空间挂载为本地文件系统,且支持以下功能:
支持POSIX文件协议标准的大部分功能,例如上传下载文件、目录,设置用户权限等。
默认使用OSS的分片上传和断点续传功能上传文件。
支持MD5校验,保证数据的完整性。
使用限制
使用ossfs将远程Bucket数据及功能映射到本地文件系统时存在如下限制:
不适合高并发混合读写的场景。
说明在ossfs的实现中,对数据的随机读取和所有写入均需要落盘。在高并发读写混合场景下,磁盘性能对于读和写会形成瓶颈。
在ossfs的实现中并发的读写请求之间存在竞争,影响带宽。
不支持文件硬链接。
不支持挂载归档存储、冷归档存储或者深度冷归档存储类型Bucket。
编辑已上传文件会导致文件被重新上传。
元数据操作,例如
list directory
,因为需要远程访问OSS服务器,所以性能较差。重命名文件或文件夹可能会出错。若操作失败,可能会导致数据不一致。
多个客户端挂载同一个OSS Bucket,且同时写入同一个文件时,无法保证数据的一致性。
运行环境
ossfs基于FUSE(Filesystem in Userspace)用户态文件系统开发,只能运行在支持FUSE的机器上。ossfs提供Ubuntu系统和CentOS系统的安装包。如果需要在其他环境下运行,可以通过源码方式构建目标程序。
Linux系统
CentOS 7.0及以上版本。
Ubuntu 14.04及以上版本。
Anolis7及以上版本。
fuse软件:2.8.4以上版本
您可以执行
fusermount -V
命令判断fuse软件的版本。当返回结果中fusermount version的值为2.8.4以上版本(例如fusermount version: 2.9.2)时,表示fuse满足版本要求。
下载地址
以下列表中提供了常用系统的安装包,如果您的系统版本不在以下列表中,请通过源码编译。源码地址以及如何进行源码编译,请参见GitHub ossfs。
Linux发行版 | 下载 |
Ubuntu 22.04 (x64) | |
Ubuntu 20.04 (x64) | |
Ubuntu 18.04 (x64) | |
Ubuntu 16.04 (x64) | |
Ubuntu 14.04 (x64) | |
CentOS 8.0 (x64) | |
CentOS 7.0 (x64) | |
Anolis8/Alibaba Cloud Linux 3 | |
Anolis7/Alibaba Cloud Linux 2 |
相关文档
关于ossfs挂载配置的更多信息,请参见ossfs配置与挂载。
关于ossfs命令参数选项的更多信息,请参见ossfs挂载选项说明。
如需了解ossfs不同版本的新功能介绍,请参见ossfs 1.91.2和1.91.3版本新功能介绍。
如果使用ossfs过程中遇到问题,请参考ossfs常见问题文档处理。