From 阿里云官方Github

Demo: CentOS 6.8 on ECS

ossfs 是通过磁盘挂载的形式,将oss存储挂载到linux、类unix等操作系统,而且不仅仅可以挂载阿里云内的ECS上,理论上所有网络能到达oss的都可以挂载,但还是要以实际问题为准。

1.Download & Install

官方版本发布页面,请根据你的系统类型进行选择,我这演示的环境是CentOS 6.8;ossfs目前最新的版本是v1.79.9,您可以根据自己当时版本进行选择,建议选择最新版本。

  1. # 请先将包上传到服务器上
  2. sudo yum localinstall ossfs_1.79.9_centos6.5_x86_64.rpm

注意使用localinstall,因为在安装过程,yum 可以很好的解决依赖关系,会节省我们很多时间

2. OSS & Bucket

需要获取以下信息,在后面我们都会用到的:

  1. Bucket 名称
    HowTo Mount OSS Bucket On ECS - 图1

  2. Access Key ID
  3. Access Key Secret
    HowTo Mount OSS Bucket On ECS - 图2

HowTo Mount OSS Bucket On ECS - 图3

  1. Location,这需要注意点,不要加上Bucket的名字,区域对应表如下,注意你的Bucket所在区域:
Region中文名称 Region英文表示 外网Endpoint ECS访问的内网Endpoint
华东 1 oss-cn-hangzhou oss-cn-hangzhou.aliyuncs.com oss-cn-hangzhou-internal.aliyuncs.com
华东 2 oss-cn-shanghai oss-cn-shanghai.aliyuncs.com oss-cn-shanghai-internal.aliyuncs.com
华北 1 oss-cn-qingdao oss-cn-qingdao.aliyuncs.com oss-cn-qingdao-internal.aliyuncs.com
华北 2 oss-cn-beijing oss-cn-beijing.aliyuncs.com oss-cn-beijing-internal.aliyuncs.com
华南 1 oss-cn-shenzhen oss-cn-shenzhen.aliyuncs.com oss-cn-shenzhen-internal.aliyuncs.com
香港数据中心 oss-cn-hongkong oss-cn-hongkong.aliyuncs.com oss-cn-hongkong-internal.aliyuncs.com
美国硅谷数据中心 oss-us-west-1 oss-us-west-1.aliyuncs.com oss-us-west-1-internal.aliyuncs.com
美国弗吉尼亚数据中心 oss-us-east-1 oss-us-east-1.aliyuncs.com oss-us-east-1-internal.aliyuncs.com
亚太(新加坡)数据中心 oss-ap-southeast-1 oss-ap-southeast-1.aliyuncs.com oss-ap-southeast-1-internal.aliyuncs.com
亚太东北 1(日本)数据中心 oss-ap-northeast-1 oss-ap-northeast-1.aliyuncs.com oss-ap-northeast-1-internal.aliyuncs.com

如果使用ossfs的机器是阿里云ECS,可以使用内网域名来避免流量收费和 提高速度:

sudo ossfs my-bucket /tmp/ossfs -ourl=http://oss-location-internal.aliyuncs.com

  1. 磁盘空间达到上百T
  2. ![](https://samzong.oss-cn-shenzhen.aliyuncs.com/2016/11/0B78E099-5488-4839-AE48-09A074E7415D.png)
  3. <br>
  4. umount

注意用户身份

umount /tmp/ossfs # root user
sudo fusermount -u /tmp/ossfs # non-root user

  1. <br>
  2. ##### 4. Debug & FAQ
  3. 当遇到错误的时候,可以试着打开Debug日志信息,然后分析问题原因:

使用 -o dbglevel=debug -f -d参数打印日志信息

sudo ossfs my-bucket /tmp/ossfs -ourl=http://oss-location-internal.aliyuncs.com -o dbglevel=debug -f -d > /mnt/ossfs.log 2>&1

  1. 更多的问题,请移步查看[官方的FAQ文档](https://github.com/aliyun/ossfs/wiki/FAQ)。
  2. <br>
  3. ##### 5. About
  4. ossfs提供的功能和性能和本地文件系统相比,具有一些局限性。具体包括:
  5. * 随机或者追加写文件会导致整个文件的重写。
  6. * 元数据操作,例如list directory,性能较差,因为需要远程访问oss服务器。
  7. * 文件/文件夹的rename操作不是原子的。
  8. * 多个客户端挂载同一个oss bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
  9. * 不支持hard link
  10. * 不适合用在高并发读/写的场景,这样会让系统的load升高
  11. > 另外,ossfs的稳定性很大一部分依赖于网络环境,建议的使用场景更多是作为临时数据迁移或定期备份,虽然ossfs挂载到系统中会有着几百TB的空间,但是稳定性并不高。