ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。
建议您将ossfs运行在以下环境中:
由于低版本的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
内容。
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi ossfs_1.80.6_ubuntu16.04_amd64.deb
sudo yum ossfs_1.80.6_centos7.0_x86_64.rpm
说明 对于使用yum安装rpm包的客户端,如果客户端节点网络环境特殊,无法直接用yum下载依赖包。可以在网络正常的、相同版本操作系统的节点上,使用yum下载依赖包并拷贝到网络特殊的节点。例如,ossfs需要依赖fuse 2.8.4以上版本,可使用如下命令,下载yum源中最新的fuse到本地: sudo yum install --downloadonly --downloaddir=./ fuse
如果需要下载其他依赖包,则将fuse换成对应包的名称。echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
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=http://oss-cn-hangzhou.aliyuncs.com
注意 如果您使用从阿里云购买的云服务器(ECS)来提供ossfs服务,您可以使用内网域名,在这个示例中您可以将OSS endpoint 改为oss-cn-hangzhou-internal.aliyuncs.com
,这样可以节省流量费用。OSS的内网域名请参见访问域名和数据中心。
fusermount -u /tmp/ossfs
原文链接: https://help.aliyun.com/document_detail/153892.html?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: libcrypto.so.10: cannot open shared object file: No such file or directory
解决:
我的是因为没有安装,找到对应Linux版本安装
步骤1
wget http://rpmfind.net/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/libssl.so*
lrwxrwxrwx 1 root root 16 Nov 9 2019 /usr/lib64/libssl.so -> libssl.so.1.1.1c
lrwxrwxrwx 1 root root 16 May 14 2019 /usr/lib64/libssl.so.10 -> libssl.so.1.0.2o
-rwxr-xr-x 1 root root 479288 May 14 2019 /usr/lib64/libssl.so.1.0.2o
lrwxrwxrwx 1 root root 16 Nov 9 2019 /usr/lib64/libssl.so.1.1 -> libssl.so.1.1.1c
-rwxr-xr-x 1 root root 774104 Nov 9 2019 /usr/lib64/libssl.so.1.1.1c
重新挂载,问题解决