From 阿里云官方Github
Demo: CentOS 6.8 on ECS
ossfs 是通过磁盘挂载的形式,将oss存储挂载到linux、类unix等操作系统,而且不仅仅可以挂载阿里云内的ECS上,理论上所有网络能到达oss的都可以挂载,但还是要以实际问题为准。
1.Download & Install
官方版本发布页面,请根据你的系统类型进行选择,我这演示的环境是CentOS 6.8;ossfs目前最新的版本是v1.79.9,您可以根据自己当时版本进行选择,建议选择最新版本。
# 请先将包上传到服务器上
sudo yum localinstall ossfs_1.79.9_centos6.5_x86_64.rpm
注意使用localinstall,因为在安装过程,yum 可以很好的解决依赖关系,会节省我们很多时间
2. OSS & Bucket
需要获取以下信息,在后面我们都会用到的:
- Bucket 名称
- Access Key ID
- Access Key Secret
- 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
磁盘空间达到上百T:
![](https://samzong.oss-cn-shenzhen.aliyuncs.com/2016/11/0B78E099-5488-4839-AE48-09A074E7415D.png)
<br>
umount:
注意用户身份
umount /tmp/ossfs # root user
sudo fusermount -u /tmp/ossfs # non-root user
<br>
##### 4. Debug & FAQ
当遇到错误的时候,可以试着打开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
更多的问题,请移步查看[官方的FAQ文档](https://github.com/aliyun/ossfs/wiki/FAQ)。
<br>
##### 5. About
ossfs提供的功能和性能和本地文件系统相比,具有一些局限性。具体包括:
* 随机或者追加写文件会导致整个文件的重写。
* 元数据操作,例如list directory,性能较差,因为需要远程访问oss服务器。
* 文件/文件夹的rename操作不是原子的。
* 多个客户端挂载同一个oss bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
* 不支持hard link。
* 不适合用在高并发读/写的场景,这样会让系统的load升高
> 另外,ossfs的稳定性很大一部分依赖于网络环境,建议的使用场景更多是作为临时数据迁移或定期备份,虽然ossfs挂载到系统中会有着几百TB的空间,但是稳定性并不高。