owncloud后端对接对象存储调研方案调研

      owncloud是一款私有云网盘开源程序。它可以通过如下方式对象对象存储:

       1.external storage app:owncloud支持额外的app应用,官方文档介绍了external storage app对接s3及swift的方法和操作步骤。不过这个app插件只能在owncloud的根目录下生成一个子目录,所有存到子目录的文件最终才能保存到对象存储中。但是向根目录保存文件,不会走external storage 存储流程,依旧保存在server的本地目录。

       2.s3fs:通过s3fs工具,将对象存储当作本地文件系统使用,然后修改owncloud为本地文件系统,此种使用方式虽然能将网盘所有数据保存到对象存储集群,但是无法实现扩展性,owncloud只能部署在一台机器上。s3当文件系统使用的方案,本质上无法体现对象存储的特性,且与rbd块格式化文件系统的方案比起来无根本上的优势。

      3.owncloud非企业版原生支持swift对象存储作为primary storage,但是swift必须配置keystone,目前公司生产环境rgw没有使用keystone的认证方式。如果采用此种方案,必须再搭建一套ceph swift集群。翻了一下代码,里面用了一些很久没人更新维护的类库来连接swift,从技术上看,此种方式坑很深,后续能不能在生产环境持续稳定运行也是个问号。个人认为,如果对接对象存储,还是首选亚马逊s3,至少api持续维护稳定可用,ceph社区对s3的维护更新也不错。

      4.owncloud企业版支持s3对象存储的开发环境,但是需要购买,看了一下费用,按年付费价格不菲。本次开发目标就是对owncloud的primary storage功能进行开发,使其支持源生S3存储的功能。

     To be continued......

转载于:https://my.oschina.net/yangfanlinux/blog/775587

你可能感兴趣的:(owncloud后端对接对象存储调研方案调研)