本文将介绍如何将阿里云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 ,这样可以节省带宽方面的费用。
可能的错误
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
目前评论:0