安装包下载地址:https://help.aliyun.com/document_detail/153892.htm?spm=a2c4g.11186623.2.6.18e67a74yiPNtQ#concept-kkp-lmb-wdb
1.下载安装包。以下载CentOS 7.0 (x64)版本为例:
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
2.安装ossfs。
sudo yum install ossfs_1.80.6_centos7.0_x86_64.rpm
3.配置账号访问信息。将Bucket名称以及具有此Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。注意这个文件的权限必须正确设置,建议设为640。
echo bucket名字:KeyId:KeySecret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs4.将Bucket挂载到指定目录。
#创建/目录
mkdir /tmp/ossfs
#ossfs 你的bucket名字 挂载目录 -ourl=你的阿里云的访问网址
ossfs bucket-test /tmp/ossfs -o url=http://oss-cn-hangzhou.aliyuncs.com
如果挂载在非空目录需在ossfs后加入-ononempty命令
如需添加所以人可访问需在最后加-ononempty命令
5.如果您不希望继续挂载此Bucket,您可以将其卸载。
fusermount -u /tmp/ossfs
- 挂载指定文件目录
ossfs除了可以把整个存储空间挂载到本地文件系统外,还可以通过设置前缀,把存储空间下的某个文件目录挂载到本地文件系统。命令格式如下:
ossfs bucket:/prefix mount_point -ourl=endpoint
通过这个方式挂载时,需要确保存储空间里存在${prefix}/ 这样一个对象。可以通过ossutil的stat命令查询该对象是否存在。示例:将位于杭州地域的存储空间bucket-ossfs-test下的folder目录挂载到/tmp/ossfs-folder下。
ossfs bucket-ossfs-test:/folder /tmp/ossfs-folder -ourl=http://oss-cn-hangzhou.aliyuncs.com
- 开机自动挂载目录
- 将Bucket名称、AccessKeyID、AccessKeySecret等信息写入/etc/passwd-ossfs文件,并将文件权限修改为640。配置步骤请参见快速安装。
- 设置开机自动挂载。针对不同的系统版本,设置开机自动挂载ossfs的方式有所不同。
- Ubuntu 14.04和CentOS 6.5系统版本通过fstab的方式自动挂载
- 在/etc/fstab中加入如下命令:
ossfs#bucket_name mount_point fuse _netdev,url=url,allow_other 0 0
- 保存/etc/fstab文件。执行mount -a命令,如果没有报错,则说明设置正常。
- 上一步执行完成后,Ubuntu 14.04就能自动挂载了。CentOS 6.5还需要执行如下命令:
chkconfig netfs on
- 在/etc/fstab中加入如下命令:
- CentOS 7.0及以上的系统通过开机自动启动脚本进行挂载
- 在/etc/init.d/目录下建立文件ossfs,将模板文件中的内容拷贝到这个新文件中。并将其中的your_xxx内容改成您自己的信息。
- 为新建立的ossfs脚本赋予可执行权限:
chmod a+x /etc/init.d/ossfs
命令执行完成后,您可以尝试执行该脚本,如果脚本文件内容无误,那么此时OSS中的Bucket已经挂载到您指定的目录下了。 - 把ossfs启动脚本作为其他服务,开机自动启动:
chkconfig ossfs on
- 执行上述步骤后,ossfs就可以开机自动挂载了。
- Ubuntu 14.04和CentOS 6.5系统版本通过fstab的方式自动挂载
- 使用Supervisor启动ossfs
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态。异常退出时能自动重启。使用Supervisor启动ossfs的步骤如下:
- 安装supervisor。
- CentOS系统
yum install supervisor
- Ubuntu系统
sudo apt-get install supervisor
- CentOS系统
- 创建ossfs的启动脚本。
- 创建start_ossfs.sh文件。
mkdir /root/ossfs_scripts vi /root/ossfs_scripts/start_ossfs.sh
- 写入启动脚本。
# 卸载 fusermount -u /mnt/ossfs # 重新挂载,必须要增加-f参数运行ossfs,让ossfs在前台运行。 exec ossfs bucket_name mount_point -ourl=endpoint -f
- 创建start_ossfs.sh文件。
- 编辑/etc/supervisor/supervisord.conf文件,在最后加入如下内容:
[program:ossfs] command=bash /root/ossfs_scripts/start_ossfs.sh logfile=/var/log/ossfs.log log_stdout=true log_stderr=true logfile_maxbytes=1MB logfile_backups=10
- 运行Supervisor。
supervisord
- 确认运行正常。
ps aux | grep supervisor # 应该能看到Supervisor进程。 ps aux | grep ossfs # 应该能看到ossfs进程。 kill -9 ossfs # 关闭ossfs进程,Supervisor应该会重启它。不要使用killall,因为killall发送SIGTERM,进程正常退出,Supervisor不再去重新运行ossfs。 ps aux | grep ossfs # 应该能看到ossfs进程。