lib.im

CentOS7阿里云ECS挂载OSS走内网流量
说明下载README-CN.md使用下面的命令下载 ossfs 安装包wget http://gosspublic...
扫描右侧二维码阅读全文
11
2019/10

CentOS7阿里云ECS挂载OSS走内网流量

说明

下载

README-CN.md
使用下面的命令下载 ossfs 安装包

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

注意:ossfs不同的版本下载地址不同,下载时请根据自己的操作系统,选择合适的版本,用正确的安装包名称替换上面命令中的 ossfs_1.80.6_centos7.0_x86_64.rpm.

Linux发行版安装包名称
Ubuntu 18.04 (x64)ossfs_1.80.6_ubuntu18.04_amd64.deb
Ubuntu 16.04 (x64)ossfs_1.80.6_ubuntu16.04_amd64.deb
Ubuntu 14.04 (x64)ossfs_1.80.6_ubuntu14.04_amd64.deb
CentOS 7.0 (x64)ossfs_1.80.6_centos7.0_x86_64.rpm
CentOS 6.5 (x64)ossfs_1.80.6_centos6.5_x86_64.rpm

安装:

这里以 CentOS 7.x (x64) 版本为例,所以使用的安装包名称 ossfs_1.80.6_centos7.0_x86_64.rpm 进行下载。

sudo yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm

过程中需要手动按y:

Total size: 4.4 M
Total download size: 179 k
Installed size: 4.7 M
Is this ok [y/d/N]: y

然后回车继续,等待安装完成,出现Complete!

配置

获取 AccessKeyId/Secret

登录阿里云控制台。单击页面左上方的管理控制台。将鼠标移至右上方的“账号管理”图标选择accessKeys,然后创建key

注意:提示信息中的云账号AccessKey是您访问阿里云API的密钥,具有该账户完全的权限,请务必妥善保管。请勿通过任何方式(如Github等)将AccessKey公开至外部渠道,以免被恶意利用而造成安全威胁。强烈建议您遵循阿里云安全最佳实践,使用RAM子用户AccessKey来进行API调用。

配置账号访问信息

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

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

挂载

Bucket挂载到指定目录

mkdir /directory
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint


directory 新建您要挂载 OSS 的目录名称,用于挂载Bucket。
my-bucket 您的 Bucket 名称
my-mount-point 替换为您要挂载的目录路径
my-oss-endpoint 替换为您的 EndPoint(地域节点),在地域节点前面加上 http://

如果的云服务器和对象存储 OSS 是同一个区域,则选择内网访问的EndPoint(地域节点);
如果的云服务器和对象存储 OSS 不在同一个区域,则选择外网访问的EndPoint(地域节点).
外网访问是要收流量费的。

示例:

my-bucket这个bucket挂载到/tmp/ossfs目录下:
AccessKeyIdabcdeAccessKeySecret123456oss endpointhttp://oss-cn-hangzhou.aliyuncs.com

echo my-bucket:abcde:123456 > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

查看

df -h 
root@server:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            479M     0  479M   0% /dev
tmpfs           100M  1.8M   98M   2% /run
/dev/vda1        39G  5.4G   32G  15% /
tmpfs           497M   16K  497M   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           497M     0  497M   0% /sys/fs/cgroup
ossfs           256T     0  256T   0% /www/

挂载成功。

后续

挂载目录权限问题

Q: ossfs挂载时如何设置权限?

如果要允许其他用户访问挂载文件夹,可以在运行ossfs的时候指定allow_other参数:

    ossfs your_bucket your_mount_point -ourl=your_endpoint -o allow_other

为什么使用allow_other参数,仍然不能访问文件?
注意:allow_other是赋予挂载目录其他用户访问的权限,不是里面的文件!如果您要更改文件夹中的文件,请用chmod命令。
allow_other默认赋予挂载目录777权限,我想让挂载目录的权限为770,该怎么办?
可以通过umask来设置,参见这里

Q: 如果要使挂载的文件夹(/tmp/ossfs)属于某个user:

方法一:

如果要使挂载的文件夹(/tmp/ossfs)属于某个user,则需要以该user的身份创建挂载文件夹和使用ossfs

    sudo -u user mkdir /tmp/ossfs
    sudo -u user ossfs bucket-name /tmp/ossfs
方法二:

首先通过id命令获得指定用户的uid/gid信息。例如获取www用户的uid/gid信息:id www;然后挂载时指定uid/gid参数:

    ossfs your_bucket your_mountpoint -ourl=your_url -ouid=your_uid -ogid=your_gid

注意:uid/gid都是数字。

自动挂载

https://github.com/aliyun/ossfs/wiki/FAQ#18

参考链接

云大军
ossfsgithub:1. 2.

Last modification:October 11th, 2019 at 11:09 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment