OSS是阿里云推出的对象存储服务,OSSFS是一个可以将OSS挂载到阿里云ECS服务器上的工具,可以达到存储/备份的目的。

OSSFS简介

ossfs 能让您在Linux/Mac OS X 系统中把Aliyun OSS bucket 挂载到本地文件系统中,您能够便捷的通过本地文件系统操作OSS 上的对象,实现数据的共享。

其主要功能包括:
1、支持POSIX 文件系统的大部分功能,包括文件读写,目录,链接操作,权限,uid/gid,以及扩展属性(extendedattributes)
2、通过OSS的multipart功能上传大文件。
3、MD5校验保证数据完整性。

使用限制有:
1、不支持挂载归档型Bucket。
2、不适合高并发读写的场景。
3、编辑OSS内文件会导致文件被重新上传。
4、元数据操作(例如list directory)需要远程访问OSS服务器,所以性能较差。
5、重命名文件或文件夹可能会出错。若操作失败,可能会导致OSS和本地数据不一致。
6、当多个客户端挂载同一个OSS Bucket时,数据一致性将由您自行维护。建议您合理规划文件使用时间,避免出现多个客户端写同一个文件的情况。
7、不支持hard link。
8、若您因意外中断了文件上传的过程,且未继续完成该文件的上传,则已上传的部分会以碎片(Part)的形式存储在OSS的存储空间(Bucket)中。

挂载教程

此处博主以自己的CentOS 7系统为例,若您的系统也是CentOS 7,请继续阅读,否则请勿操作。
1、登录ssh(以下命令皆是基于root账户操作),下载ossfs工具

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

2、安装ossfs

yum localinstall your_ossfs_package

将此处的your_ossfs_package替换成你下载的安装包包名,如ossfs_1.80.6_centos7.0_x86_64.rpm

3、配置账号访问信息。
将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。注意这个文件的权限必须正确设置,建议设为640。

下方的my-bucket请前往阿里云 对象存储OSS 控制台替换你的oss的bucket名称,my-access-key-idmy-access-key-secret请替换成access-key中自己的id和秘钥。然后以下方的格式将其存放在/etc/passwd-ossfs文件中,并给该文件设置640权限。

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

4、在服务器建立一个目录,用于OSS挂载。例如在/home目录下建立ossfs文件夹,用于挂载,所以执行下面的命令。

mkdir /home/ossfs

5、将oss挂载到指定目录(就是刚才新建的目录/home/ossfs)。

ossfs my-bucket /home/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o allow_other

命令解析:my-bucket是oss的bucket name,/home/ossfs是我们需要挂载到服务器的目录,http://oss-cn-hangzhou.aliyuncs.com是oss所在区域的内网Endpoint,博主的ECS和OSS都是在杭州同一个区域,所以选用内网地址,以达到节省流量费用。-o allow_other可解决部分因权限而无法访问到资源问题。
Endpoint对照表请访问:公共云下OSS Region和Endpoint对照表

成功挂载后可使用df -hT命令查看一下,此时已经挂载成功。
ossfs挂载成功.png

6、通过开机自启动脚本挂载OSS
此处博主是通过在rc.local添加的命令达到开机自动挂载的目的,相关命令如下:

echo "ossfs my-bucket /home/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o allow_other" >> /etc/rc.d/rc.local
chmod 755 /etc/rc.d/rc.local

即将第5点的挂载命令放入/etc/rc.d/rc.local文件中,达到开机自动挂载(需给予可执行权限,建议755)

7、若您不在需要挂载,你可以将其取消挂载

fusermount -u /home/ossfs

详细Linux挂载教程可查看阿里云相关文档:https://help.aliyun.com/document_detail/153892.html?spm=a2c4g.11186623.2.6.16507a749T9cbL

End

本文标题:对象存储OSS挂载到ECS

本文链接:https://www.isisy.com/821.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

如果觉得我的文章对你有用,请随意赞赏