下面介绍如何挂载9元/年的40G OSS扩充存储空间。
存储包:

半年付5元。
存储包挂载介绍和ESC的相同:

  • OSS与同地域的全部ecs内网互通 OSS内网IP是特殊IP段 全阿里云的vpc/经典机器都可以访问任一一个该地区的OSS 所以OSS和ecs只有地域关系;
  • OSS内网传输不收流量费 但是收API操作费 这个费用包括但不限于读写次数 1块钱100W次;
  • OSS外网传输费是0.3块多钱/GB;
  • 国内版OSS可以内网给国际站/日本站的机器用 只要你是OSS和ecs相同地区的就OK。

点击这里领取1888元专享限时红包

购买OSS

在此快速购买存储包然后进入控制台创建bucket

购买和创建一定要选择和服务器同样的香港地区。

安装OSSFS

wget https://github.com/aliyun/ossfs/releases/download/v1.80.5/ossfs_1.80.5_centos7.0_x86_64.rpm

centos7为例,其他系统版本ossfs下载:https://github.com/aliyun/ossfs/releases

安装:

yum localinstall ossfs_1.80.5_centos7.0_x86_64.rpm

Ubuntu/Debian安装:

首先安装gdebi,然后使用gdebi安装。

sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi your_ossfs_package

挂载方法:

获取 AccessKeyId/Secret

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

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

挂载:

设置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

my-bucket:my-access-key-id:my-access-key-secret 对应为 bucket名称 : AccessKey ID : Access Key Secret

OSS bucket挂载到指定目录:

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

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

示例:

my-bucket这个bucket挂载到/tmp/ossfs目录下,AccessKeyIdabcdeAccessKeySecret123456oss endpointoss-cn-hongkong-internal.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-hongkong-internal.aliyuncs.com

查看:

df -h

root@centos:~#  df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  6.7M  490M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
/dev/vda1        25G  2.5G   21G  11% /
tmpfs           100M     0  100M   0% /run/user/0
ossfs           256T     0  256T   0% /www/wwwroot/default/ossfs

这样就算成功了。

挂载目录权限问题

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都是数字。

参考链接

卸载:

root账户卸载:

umount  /挂载目录

非root用户要卸载目录,请用:

fusermount -u your_mountpoint

开机自动挂载

Q: 如何开机自动挂载ossfs?

  • Step 1 
    首先请参考使用说明,把bucket nameaccess key id/secret等信息写入/etc/passwd-ossfs,并将该文件权限修改为640。

    echo your_bucket_name:your_access_key\_id:your_access_key_secret > /etc/passwd-ossfs
    chmod 640 /etc/passwd-ossfs
  • Step 2 
    接下来针对不同的系统版本,设置方式有所不同
  • /etc/init.d/目录下建立文件ossfs,把模板文件中的内容拷贝到这个新文件中。并将其中的your_xxx内容改成您自己的信息。
  • 执行命令:chmod a+x /etc/init.d/ossfs
  • 上述命令是把新建立的ossfs脚本赋予可执行权限。您可以执行该脚本,如果脚本文件内容无误,那么此时oss中的bucket已经挂载到您指定的目录下了。
  • 执行命令:chkconfig ossfs on
  • 上述命令是把ossfs启动脚本作为其他服务,开机自动启动。
  • /etc/fstab中加入下面的命令
*   其中上述命令中的`your_xxx`信息需要根据您的`bucket name`等信息填入。
    
*   保存`/etc/fstab`文件。执行`mount -a`命令,如果没有报错,则说明设置正常。
    
*   到这一步,`ubuntu14.04`就能自动挂载了。`centos6.5`还需要执行下面的命令:
    
*   `chkconfig netfs on`
    
*   Step 2A 通过`fstab`的方式自动挂载(适用于`ubuntu14.04, centos6.5`)
    
*   Step 2B 通过开机自启动脚本挂载(适用于centos7.0及以上的系统)
    

*   好了,现在`ossfs`就可以开机自动挂载了。
    

标签: none

添加新评论