ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。
运行环境
建议您将ossfs运行在以下环境中:
- Linux系统
- CentOS 7.0及以上,8.0以下版本
- Ubuntu 14.04及以上版本
- fuse 2.8.4以上版本
由于低版本的Linux系统内核版本比较低,ossfs进程在运行过程中容易出现掉线或者其他问题。OSS虽然提供了低版本Linux系统的安装包,但为了保证ossfs的稳定运行,请将您的操作系统升级到上述版本。
下载地址
Linux发行版 | 下载 |
---|---|
Ubuntu 18.04 (x64) | ossfs_1.80.6_ubuntu18.04_amd64.deb |
Ubuntu 16.04 (x64) | ossfs_1.80.6_ubuntu16.04_amd64.deb |
Ubuntu 14.04 (x64) | ossfs_1.80.6_ubuntu14.04_amd64.deb |
CentOS 7.0 (x64) | ossfs_1.80.6_centos7.0_x86_64.rpm |
CentOS 6.5 (x64) | ossfs_1.80.6_centos6.5_x86_64.rpm |
以上列表中提供了常用系统的安装包,若你的系统版本不在列表中,请通过源码编译。源码地址请参见GitHub ossfs。
注意 复制链接的时候,会自动加上spm编码内容,使用wget命令下载的时候,注意删除链接中?spm=xxxx
内容。
快速安装
- 下载安装包。以下载CentOS 7.0 (x64)版本为例:
wget /ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
- 安装ossfs。
- Ubuntu系统以Ubuntu 16.04 (x64)版本为例,安装命令如下:
sudo apt-get update sudo apt-get install gdebi-core sudo gdebi ossfs_1.80.6_ubuntu16.04_amd64.deb
- CentOS系统以CentOS 7.0(x64)版本为例,安装命令如下:
说明 对于使用yum安装rpm包的客户端,如果客户端节点网络环境特殊,无法直接用yum下载依赖包。可以在网络正常的、相同版本操作系统的节点上,使用yum下载依赖包并拷贝到网络特殊的节点。例如,ossfs需要依赖fuse 2.8.4以上版本,可使用如下命令,下载yum源中最新的fuse到本地:sudo yum ossfs_1.80.6_centos7.0_x86_64.rpm
如果需要下载其他依赖包,则将fuse换成对应包的名称。sudo yum install --downloadonly --downloaddir=./ fuse
- Ubuntu系统以Ubuntu 16.04 (x64)版本为例,安装命令如下:
- 配置账号访问信息。将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。注意这个文件的权限必须正确设置,建议设为640。
echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs
- 将Bucket挂载到指定目录。
挂载示例:将杭州地域名称为ossfs BucketName mountfolder -ourl=Endpoint
bucket-test
的Bucket挂载到/tmp/ossfs
目录下。echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs mkdir /tmp/ossfs ossfs bucket-test /tmp/ossfs -ourl=
注意 如果您使用从阿里云购买的云服务器(ECS)来提供ossfs服务,您可以使用内网域名,在这个示例中您可以将OSS endpoint 改为
,这样可以节省流量费用。OSS的内网域名请参见访问域名和数据中心。
- 如果您不希望继续挂载此Bucket,您可以将其卸载。
fusermount -u /tmp/ossfs
原文链接: /document_detail/?spm=a2c4g.11186623.6.910.452b2b4fSUg8ws
遇到问题:
1无权访问里面文件问题
解决:
如果要允许其他用户访问挂载文件夹,可以在运行ossfs的时候指定allow_other参数:./ossfs -o allow_other
如果要使挂载的文件夹(/tmp/ossfs)属于某个user,则需要以user的身份创建挂载文件夹和使用ossfs:
sudo su user mkdir /tmp/ossfs
sudo su user ./ossfs bucket-name /tmp/ossfs
2 ossfs: error while loading shared libraries: .10: cannot open shared object file: No such file or directory
解决:
我的是因为没有安装,找到对应Linux版本安装
步骤1
wget /linux/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
2:
yum localinstall compat-openssl10-1.0.2o-3.el8.x86_64.rpm
查看
[root@iZ8vbhynnqk42j6g024w1fZ src]# ll /usr/lib64/*
lrwxrwxrwx 1 root root 16 Nov 9 2019 /usr/lib64/ -> .1.1.1c
lrwxrwxrwx 1 root root 16 May 14 2019 /usr/lib64/.10 -> .1.0.2o
-rwxr-xr-x 1 root root 479288 May 14 2019 /usr/lib64/.1.0.2o
lrwxrwxrwx 1 root root 16 Nov 9 2019 /usr/lib64/.1.1 -> .1.1.1c
-rwxr-xr-x 1 root root 774104 Nov 9 2019 /usr/lib64/.1.1.1c
重新挂载,问题解决