ecs 上挂载oss , 把oss当做本地磁盘使用
Leave a reply
阿里云官方有工具 把oss当做本地磁盘使用 https://help.aliyun.com/document_detail/32196.html

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
sudo yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm
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
#卸载
fusermount -u /tmp/ossfs

需要注意的是文件无写入权限的问题,需要挂载的时候添加 -o allow_other 参数,如下:

ossfs rs-english /ossfs -ourl=http://oss-cn-hangzhou-internal.aliyuncs.com -o allow_other

开机自动挂载目录
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

CentOS 7.0及以上的系统通过开机自动启动脚本进行挂载
在/etc/init.d/目录下建立文件ossfs,将模板文件中的内容拷贝到这个新文件中。并将其中的your_xxx内容改成您自己的信息。
为新建立的ossfs脚本赋予可执行权限:

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

命令执行完成后,您可以尝试执行该脚本,如果脚本文件内容无误,那么此时OSS中的Bucket已经挂载到您指定的目录下了。
把ossfs启动脚本作为其他服务,开机自动启动:

chkconfig ossfs on

执行上述步骤后,ossfs就可以开机自动挂载了。

Q: 使用ossfs上传到OSS的文件Content-Type全是”application/octet-stream”是怎么回事?
ossfs通过查询/etc/mime.types中的内容来确定文件的Content-Type,请检查这个文件是否存在,如果不存在,则需要添加:
对于ubuntu可以通过sudo apt-get install mime-support来添加
对于centos可以通过sudo yum install mailcap来添加
也可以手动添加,每种格式一行,每行格式为:application/javascript js
注意:如果发现再上传还是一样的没生效,可能需要重启服务器再试看

通过开机自启动脚本mount(适用于centos7.0及以上的系统)
模板文件:

#! /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 your_bucket your_mountpoint -ourl=your_url -o allow_other

在/etc/init.d/目录下建立文件ossfs,把模板文件中的内容拷贝到这个新文件中。并将其中的your_xxx内容改成您自己的信息。
执行命令:chmod a+x /etc/init.d/ossfs
上述命令是把新建立的ossfs脚本赋予可执行权限。您可以执行该脚本,如果脚本文件内容无误,那么此时oss中的bucket已经挂载到您指定的目录下了。
执行命令:chkconfig ossfs on
上述命令是把ossfs启动脚本作为其他服务,开机自动启动。

标签: none

添加新评论