obsfs简介
obsfs是对象存储服务 (Object Storage Service,OBS)提供的一款基于FUSE的文件系统工具,用于将OBS并行文件系统挂载至Linux系统,让用户能够在本地像操作文件系统一样直接使用OBS海量的存储空间。
对于原本使用本地文件系统存储数据的用户,如果希望把数据存储在OBS上但不改变数据的访问方式,可以使用obsfs。
功能概述
- 支持挂载并行文件系统到Linux操作系统的本地文件系统中,通过本地文件系统管理OBS上的对象。
- 在本地挂载目录新增任何文件,都支持直接同步上传至OBS。
- 并行文件系统中的对象支持同步至本地挂载目录,在本地进行拷贝、修改、重命名及截断等操作。
约束与限制
- obsfs只支持挂载OBS并行文件系统,不支持挂载对象存储桶。
- obsfs挂载OBS并行文件系统后,不支持作为ftp目录使用。
- 挂载至本地系统的并行文件系统不能提供与本地文件系统完全相同的性能或功能,使用时需要注意以下细节:
- 挂载目录中的文件或文件夹不支持硬链接命令。
- 创建的目录深度不超过45层。
- 因使用FUSE框架存在内核态与用户态切换,不适合高并发场景。
- ls、stat等linux命令需要远程访问OBS服务器,所以性能较差。
- 一个并行文件系统支持挂载到多台云服务器,但数据一致性需由您自行维护,避免出现多台云服务器同时对一个文件并发写入的情况。
- 桶级的桶策略和IAM策略对obsfs挂载方式生效,目录级的桶策略和IAM策略对obsfs挂载方式访问不生效。
适用的操作系统
obsfs适用于Linux操作系统,具体说明和操作指导如表1所示。
| 方式 | 说明 | 适用的Linux发行版 | 操作指导 |
|---|---|---|---|
| 直接下载 | 直接下载官方提供的软件包,在Linux配置运行环境后即可使用obsfs。该方式支持的cpu体系结构(x86/ARM)详见包名。 | Ubuntu 16、Ubuntu18、Ubuntu20、Ubuntu22、CentOS 7、EulerOS 2.8 、EulerOS 2.9 | |
| 编译生成 | 下载托管在GitHub的源码,配置编译环境后通过源码中自带脚本生成obsfs。该方式支持x86架构和ARM架构。 | Ubuntu 14、Ubuntu 16、Ubuntu 18、SUSE 12、CentOS 7、Fedora 28、RHEL 7、Debian 8、openSUSE Leap 42.1 |
