Linux 挂载阿里云OSS

本文将介绍如何将阿里云OSS挂载到LINUX服务器下

用服务器搭建私有云时,存储盘是个问题,直接使用服务器盘太浪费,而且速度不行,其实可以使用阿里云的OSS作为存储盘,便宜且速度快。 那么如何将
对象存储 OSS 挂载到服务器目录下呢?

第一步:安装OSSFS

OSSFS 简介:挂载对象存储bucket到本地文件系统,能够通过本地文件系统操作OSS 上的对象,实现数据的访问和共享

登录Linux( 本文使用的是CentOS 7.6 64位 )输入命令

下载安装包:

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

执行命令安装:

yum localinstall ossfs_1.7.9.3_centos7.0_x86_64.rpm -y

第二步:配置文件

设置bucket name 和 AccessKeyId/Secret信息,将其存放在/etc/passwd-ossfs 文件中,注意这个文件的权限必须正确设置,建议设为640

语法:

echo bucket-name:AccessKeyId:AccessKeySecret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs

第三步: 挂载

语法:

ossfs bucket-name /path -ourl=bucket-endpoint

卸载

语法:

 fusermount -u /path 

挂载完整示例

my-bucket这个bucket挂载到/tmp/ossfs目录下,AccessKeyId是faint,AccessKeySecret是123,oss endpoint是http://oss-cn-hangzhou.aliyuncs.com

echo my-bucket:faint:123 > /etc/passwd-ossfs(存放bucket信息)
chmod 640 /etc/passwd-ossfs(设置文件权限)
mkdir /tmp/ossfs(创建被挂载目录)
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com(执行挂载)

Tips:如果您使用在阿里云购买的云虚拟机主机(ECS)来提供ossfs服务, 您可以使用内网域名,比如在这个例子您可以将oss endpoint 改成oss-cn-hangzhou-internal.aliyuncs.com,这样可以节省带宽方面的费用。

可能的错误
ossfs: MOUNTPOINT directory /tmp/ossfs is not empty. if you are sure this is safe, can use the 'nonempty' mount option.
意思是:被挂载目录不是空的,里边已经有文件,系统会产生困扰,所以最好避免这种情况的发生。当然如果你确定安全的话就在挂载时加上nonempty命令就可以解决了
命令修改:ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com -o nonempty
(如果这样强制挂载的话,该目录下原来的文件就会隐藏)

Tip :挂载后目录权限问题


主要针对OSS挂载到Ecs后目录无法访问,目录权限需要0770等问题得解决策略。
#echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs (导入my-bucket的key)
#chmod 640 /etc/passwd-ossfs (设定文件权限)
#id www-data (www-data 为你要设定目录权限的用户名)查看要设定的用户id以及组id。
#ossfs My-Bucket /disk(disk挂载目录名) -ourl=EndPoint -ouid=(用户id) -ogid=(组id) -o allow_other
#fusermount -u /disk (disk挂载目录名)卸载挂载目录
还有一种例外,如果你得Ecs是VPC的服务器,endpoint要不一样一些,具体见:
https://help.aliyun.com/document_detail/31837.html
-ourl后面不要加bucketName
-ourl=http://vpc100-oss-cn-beijing.aliyuncs.com
具体命令如下:
#ossfs My-Bucket /disk -ourl=http://vpc100-oss-cn-beijing.aliyuncs.com -ouid=33 -ogid=33 -o allow_other
应用于nextclou使用oss挂载。因nextclou对附件目录权限需使用770权限,估我们使用-oumask=007来修改默认的777权限。
#ossfs My-Bucket /disk -ourl=oss-cn-beijing.aliyuncs.com -ouid=33 -ogid=33 -oumask=007 -o allow_other

云竹互联
admin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: