ossfs工具发布啦,让传统软件和云端存储完美融合-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ossfs工具发布啦,让传统软件和云端存储完美融合

scorpion 2015-12-08 09:18:56 65416
如果您
  • 想要把OSS作为一个弹性扩容,按需付费的云端存储,让论坛/博客/ftp等软件的数据能自动同步到OSS
  • 想让多台机器快速共享OSS的数据

那么您应该试一试ossfs,它能把OSS的bucket挂载到本地文件系统上,通过文件系统接口便捷的操作OSS上的数据。您不必等各路大神为wordpress/ftp等软件开发OSS插件,也不必按照繁琐的教程设置,就能将数据自动同步到云端。ossfs把传统软件和云端存储完美的结合起来了。


主要功能
  • 支持POSIX 文件系统的大部分功能,包括文件读写,目录,链接操作,权限,uid/gid,以及扩展属性(extended attributes)。
  • 通过OSS 的multipart 功能上传大文件。
  • MD5 校验保证数据完整性。

注意事项
ossfs提供的功能/性能和本地文件系统相比,具有一些局限性。具体包括:
  • ossfs只支持linux/mac操作系统。
  • 随机或者追加写文件会导致整个文件的重写。
  • 元数据操作,例如list directory,性能较差,因为需要远程访问oss服务器。
  • 文件/文件夹的rename操作不是原子的。
  • 多个客户端挂载同一个oss bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
  • 不支持hard link。

因此,如果您需要一个工具让数据快速同步至云端,或者在多台机器之间共享,那么ossfs是一个好选择。如果是数据库等对存储的性能和可靠性要求苛刻的应用,请慎重选择。


ossfs基于广泛应用的s3fs开发,代码已开源至github(https://github.com/aliyun/ossfs ,并为常见的linux版本制作了安装包。


ossfs安装包下载
https://github.com/aliyun/ossfs/wiki/install


安装使用说明
Ubuntu
首先安装gdebi,然后使用gdebi安装下载好的安装包。
sudo apt-get update
sudo apt-get install gdebi-core
sudo gdebi your_ossfs_package

CentOS
sudo yum localinstall your_ossfs_package
要运行ossfs,您需要提供要挂载的bucket,对应的access_key_id/access_key_secret,该bucket对应的url以及挂载的位置。



首先设置bucket name, access key/id信息,将其存放在~/.passwd-ossfs文件中,注意这个文件的权限必须被正确设置,建议设为600。
echo your_bucket_name:your_key_id:your_key_secret > ~/.passwd-ossfs
chmod 600 ~/.passwd-ossfs
然后将oss bucket挂载到指定目录
ossfs your_oss_bucket your_mount_dir -ourl=your_oss_service_url
示例


假设将ossfs-fuse这个bucket 挂载到/tmp/ossfs目录下,access key id是faint,access key secret是123,oss service url是http://oss-cn-hangzhou.aliyuncs.com
echo ossfs-fuse:faint:123 > ~/.passwd-ossfs
chmod 600 ~/.passwd-ossfs
mkdir /tmp/ossfs
ossfs ossfs-fuse /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

注1:您可在oss控制台的“OSS域名”这一栏查询bucket的url。 如果您是在阿里云ECS上使用ossfs,请使用内网url,这样流量免费。
          

         上图例子中,为ossfs传入的bucket name是render_120428i79,url是http://oss-cn-hangzhou.aliyuncs.com
注2:ossfs允许用户指定多组bucket/access_key_id/access_key_secret信息。当有多组信息,写入.passwd-ossfs的信息格式为:
         your_bucket_name1:your_access_key_id1:your_access_key_secret1
         your_bucket_name2:your_access_key_id2:your_access_key_secret2
         ……


更详细安装使用说明,请参见相关文档 (https://github.com/aliyun/ossfs/wiki


期待您的试用并反馈。






存储 弹性计算 Ubuntu Linux 数据库 对象存储
分享到
取消 提交回答
全部回答(51)
  • 守侯
    2019-02-20 20:57:22
    竟然两年没回帖了。。挖个坟。。

    如果是论坛的话,用这个工具把附件目录挂在上去的话,走的应该要先从oss读取到ecs上然后下载了。是吧
    0 0
  • idogstar
    2017-11-05 16:49:49
    Reossfs工具发布啦,让传统软件和云端存储完美融合
    已经安装说明成功挂载,非常好用。但是也有个问题,就是挂载成ECS的本地盘后,似乎阿里云会对ecs定期扫描数据盘的文件,然后挂载的oss目录也没放过,会产出大量的请求次数。

    所以我想通过php的函数system()执行命令 ossfs ossfs-fuse /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com,在需要上传文件的时候才挂载,传完卸载对应的目录,从而避免一直挂载由于的扫描文件带来的oss请求。

    但似乎通过php的函数system()执行执行不到 ossfs的命令,不知道是什么原因。不知道有没有办法解决

    -------------------------

    Reossfs工具发布啦,让传统软件和云端存储完美融合
    简而言之,就是有没有办法通过php执行命令来挂载或卸载 oos目录的办法
    0 0
  • cbiz100
    2017-08-10 02:20:07
    是不是中文名字的没办法?


    试了只有英文名字的才可以使用。
    中文的不行
    0 0
  • mistry-lee
    2017-07-15 11:38:53
    Reossfs工具发布啦,让传统软件和云端存储完美融合
    我用nextcloud挂载了oss,但是文件页面加载不出来.

    -------------------------

    Reossfs工具发布啦,让传统软件和云端存储完美融合
    extcloud挂载oss后网站文件列表不能列出文件
    0 0
  • 小小的
    2017-03-25 23:50:33
    收藏了
    0 0
滑动查看更多
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章
相似问题
推荐课程