兼容S3的对象存储系统


14

有没有人遇到过接近100%与Amazon S3 RESTful API兼容的对象存储系统?

我所需要的是位于任何(最好是POSIX)文件系统之上的一层,该文件系统提供了Amazon S3风格的RESTful API ,以使用体面身份验证来存储(PUT),检索(GET),stat(HEAD)和delete(DELETE)。

也欢迎商业项目/想法。

注意:

到目前为止,我已经尝试过桉树积云;其中尤加利(Eucalyptus)似乎盲目自称与S3兼容。响应XML文档根本不兼容,并且在某些地方根本没有XML文档,因此是不完整的。Cumulus设法使响应文档保持非常相似,但似乎忘记了数据完整性!

让我解释一下后面的部分:桉树和积云都不支持Amazon S3提供的完整性验证。使用S3可以做的是可以提供一个Base64(MD5(FILE))和PUT请求,然后在S3成功响应之前先由S3对其进行验证。桉树和积云不支持此功能。使用Eucalyptus,我们至少可以通过检查响应文档中提供的MD5来解决此问题(不兼容S3的行为)。在Cumulus中,这是不可能的,因为它不响应任何内容(例如S3)。Cumulus通过在HEAD请求中不给出ETag来使情况更糟。

Answers:


3

Swift是OpenStack的对象存储引擎,自2011年2月发布的Bexar以来,它声称具有实验性的S3兼容中间件。由于OpenStack引起了广泛的关注(例如,Canonical在今年10月通过Eucalyptus将Ubuntu转移到了它),也许值得一看。


3

最后,我必须与桉树海象一起前进。尽管我最终发现了一些基本问题,但它们都有可能的解决方法。

感谢大家的宝贵意见!


2

[免责声明:我为Scality工作]

亚马逊在其AWS产品上保持活跃,并非常频繁地对其API进行添加和更改/改进。因此,很难找到兼容率接近100%的产品(尤其是在商业产品中,可能OSS产品对任何更改的反应都更大)。许多对象/云存储供应商一直在尝试使用自己的协议(Atmos,DDN甚至是OpenStack的迅捷..),但是他们几乎都放弃了自己的协议变得像S3一样广泛使用的想法。他们(几乎?)都在现在或未来几个月内宣布与S3兼容的接口。毕竟,这是行业事实上的标准。唯一的竞争者可能是CDMI,因为它的标准化性质,而且它来自非营利,非供应商组织SNIA。但它'

就与S3兼容的接口而言,有一些选择,例如Mezeo,您提到的接口(Eucalyptus和Cumulus),OpenStack(尽管我认为还没有出来)。虚假性是其中之一。

Scality的S3实现(称为RS2-REST存储服务)与S3非常接近,因为我们的请求/答复与您从S3获得的内容一致。由于明显的原因,不存在与S3的基础结构相关的某些功能(例如,选择区域)。但是这里有必要的命令:GET / PUT / DELETE一个对象,存储桶创建和列出;并像S3一样做出反应

为了回答您的第二个问题,我想补充一下,Scality的产品RING是一个软件对象存储平台,可以通过对RING上存储的所有对象进行校验和并进行后台完整性检查来解决您所指的数据完整性问题。存储对象基本上是一种事务性查询,并且一旦一个对象被声明为“成功存储”,它将永远进行不间断的完整性检查(例如每次读取)。

我不会详细介绍。您可以访问我们的网站,以了解我们如何缓解常见数据管理噩梦中的存储管理员,并使他们知道数据可用后在晚上睡觉。总是。:)

最好的,马克·维勒玛德@mastachand


2

Newdream的Ceph具有与S3兼容的fastcgi网关,该网关使用与Ceph文件系统本身相同的对象存储系统。(http://ceph.newdream.net/wiki/RADOS_Gateway)仍未准备好生产,但要进行定期更新。

我发现Openstack的对象存储在我的测试中更可靠,尽管S3与我使用的s3库不兼容,或者与机架空间自己的java客户端的云文件存储服务(实际上使用自己的swift版本)不兼容。虽然同时支持s3和Swift的jclouds项目对我来说很有用。


2

您还可以查看Cloud Foundry vBlob:https : //github.com/cloudfoundry/vblob

这是一个node.js应用程序(具有用于CF集成的Ruby包装器),可在VM可以“看到”的任何文件系统之上实现相当一部分S3协议。



1

旧的/已回答的问题,但https://github.com/basho/riak_cs只是在https://github.com/basho/riak_cs开放源代码:“ Riak CS是建立在Riak之上的对象存储系统。它有助于在Riak中存储大型对象,并提供与S3兼容的界面。它还提供多租户功能,例如用户帐户,身份验证,访问控制机制以及每个帐户的使用情况报告。”



-3

[免责声明:我为Cloudian工作]

Cloudian HyperStore对象存储软件与Amazon S3 API 100%兼容。它实现了所有S3 API,直至错误代码和Amazon S3拥有的所有功能。

列举一下,Cloudian HyperStore支持分段上传,对象版本控制,与S3兼容的ACL,对S3和Glacier的自动分层,S3跨域资源共享(CORS),S3编码类型,位置约束等。

是的,使用Cloudian,您可以提供Base64(MD5(FILE))和PUT请求,然后在成功响应之前对其进行验证。

有关更多信息,请查看此博客文章http://www.cloudian.com/blog/?p=64和Cloudian网站http://www.cloudian.com/products/cloudian-hyperstore.php


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.