记录下将阿里云oss挂载为服务器本地硬盘的过程。

前期准备

需要准备好:bucket name、AccessKeyId、AccessKeySecret

挂载过程

1、下载ossfs安装包,CentOS7及以上,点击这里下载,上传至服务器,或直接在服务器wget获取。
2、安装

sudo yum localinstall ossfs_1.80.5_centos7.0_x86_64.rpm

3、配置鉴权信息,将下放的bucket等换成自己的

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

4、创建一个目录,将oss挂载到该目录下

mkdir /mydata
ossfs my-bucket /mydata -ourl=http://oss-cn-hangzhou-internal.aliyuncs.com

这里的地址,可以区分公网和内网,如果是阿里云同区域的服务器,可写内网,免流量费。
5、卸载

fusermount -u /mydata

6、开机自动挂载

vi /etc/init.d/ossfs

补充进如下内容:

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs my-bucket /mydata -ourl=http://oss-cn-hangzhou-internal.aliyuncs.com -oallow_other

赋予权限:

chmod a+x /etc/init.d/ossfs

设置为开机自启动:

chkconfig ossfs on

问题

1、挂载时报错ossfs: MOUNTPOINT directory /mydata is not empty. if you are sure this is safe, can use the 'nonempty' mount option.
原因是目前的文件夹非空,删除现有文件夹内的文件,或使用nonempty参数
2、使用www权限挂载
修改ossfs内的内容

vi /etc/init.d/ossfs

修改为如下内容:

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

sudo -u www ossfs your_bucket /mydata -ourl=http://oss-cn-hangzhou-internal.aliyuncs.com

3、修改Nextcloud的配置后报错的问题

chown -R www:www /mydata/cloud.gongzi.org/data/
chown -R 770 /mydata/cloud.gongzi.org/data/

待补充。