说明
1.OSS与同地域的全部ecs内网互通 OSS内网IP是特殊IP段 全阿里云的vpc/经典机器都可以访问任一一个该地区的OSS 所以OSS和ecs只有地域关系;
2.OSS内网传输不收流量费 但是收API操作费 这个费用包括但不限于读写次数 1块钱100W次;
3.OSS外网传输费是0.3块多钱/GB;
4.国内版OSS可以内网给国际站/日本站的机器用 只要你是OSS和ecs相同地区的就OK。
下载
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
访问权限的 AccessKeyId
、AccessKeySecret
信息存放在 /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
目录下:AccessKeyId
是abcde
,AccessKeySecret
是123456
,oss endpoint
是http://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