得劲

阿里云OSS活动1T3年99元 ossfs 挂载国际版ECS走内网流量
今天在逛loc论坛看到的活动 活动说明: 1.OSS与同地域的全部ecs内网互通 OSS内网IP是特殊IP段 ...
扫描右侧二维码阅读全文
30
2018/07

阿里云OSS活动1T3年99元 ossfs 挂载国际版ECS走内网流量

今天在逛loc论坛看到的活动

活动说明:

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。

购买链接

购买链接
购买和创建bucket比较简单就不说了,一定要购买创建和ECS相同地区。

快速安装OSSFS

快速安装ossfs
SSH登录到国际版小鸡上操作
以我现在用的Ubuntu 16.04为例:

1.安装包下载

wget http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1527232098199/ossfs_1.80.5_ubuntu16.04_amd64.deb?spm=a2c4g.11186623.2.1.f8RoJI&file=ossfs_1.80.5_ubuntu16.04_amd64.deb

2.安装ossfs

sudo apt-get update
sudo apt-get install gdebi-core
//安装 
sudo gdebi ossfs_1.80.5_ubuntu16.04_amd64.deb?spm=a2c4g.11186623.2.1.f8RoJI
//我下下来的安装包就这个名

显示:

no description given
Do you want to install the software package? [y/N]:y
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 fuse amd64 2.9.4-1ubuntu3.1 [24.4 kB]  
Fetched 24.4 kB in 0s (0 B/s)                                                                           
Selecting previously unselected package fuse.
(Reading database ... 74897 files and directories currently installed.)
Preparing to unpack .../fuse_2.9.4-1ubuntu3.1_amd64.deb ...
Unpacking fuse (2.9.4-1ubuntu3.1) ...
Setting up fuse (2.9.4-1ubuntu3.1) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.122ubuntu8.11) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-130-generic
Selecting previously unselected package ossfs.
(Reading database ... 74909 files and directories currently installed.)
Preparing to unpack ossfs_1.80.5_ubuntu16.04_amd64.deb?spm=a2c4g.11186623.2.1.f8RoJI ...
Unpacking ossfs (1.80.5) ...
Setting up ossfs (1.80.5) ...

3.获取 AccessKeyId/Secret

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

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

4.使用方法

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

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

将OSS bucket mount到指定目录。

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

oss endpoint地址可以在OSS控制台找到 一定要选择内网地址。

示例:

将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

5.查看

df -h 
root@ubuntu:~# 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都是数字。

其他问题

可参考链接 1. 2. 3.

Last modification:August 14th, 2018 at 10:29 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment