阿里云OSS-ossfs使用

注意
本文最后更新于 2023-11-27,文中内容可能已过时。

ossfs允许您在Linux系统中将对象存储OSS的存储空间(Bucket)挂载到本地文件系统。挂载完成后,您能够像操作本地文件一样操作OSS的对象(Object),从而实现数据共享。

1
2
3
4
# centos7
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
# ubuntu
wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_ubuntu18.04_amd64.deb
1
2
3
4
5
# centos
yum install -y ossfs_1.80.6_centos7.0_x86_64.rpm
# ubuntu
apt install -y gdebi-core
gdebi ossfs_1.80.6_ubuntu18.04_amd64.deb

将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的权限建议设置为640。

1
2
echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
1
ossfs BucketName mountfolder -o url=Endpoint

示例

将上海地域名称为bucket-test的bucket挂载到/data/ossfs目录下,AccessKeyId 是 faint,AccessKeySecret 是123

1
2
3
4
echo bucket-test:faint:123 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /data/ossfs
ossfs bucket-test /data/ossfs -ourl=http://oss-cn-shanghai-internal.aliyuncs.com

注意 如果您使用从阿里云购买的云服务器ECS来提供ossfs服务,您可以使用内网域名。例如,在该示例中您可以将OSS Endpoint 修改为oss-cn-hangzhou-internal.aliyuncs.com,从而节省流量费用。有关OSS内网域名的更多信息,请参见访问域名和数据中心

1
fusermount -u /data/ossfs

/etc/fstab中加入如下命令:

1
ossfs#bucket_name mount_point fuse _netdev,url=url,allow_other 0 0

保存/etc/fstab文件。执行mount -a命令,如果没有报错,则说明设置正常。

参考链接:

ossfs概述

开机自动挂载目录

https://github.com/aliyun/ossfs/blob/master/README-CN.md

相关内容