AWS S3的私有云替代方案

11

现在我们需要从AWS迁移到私有数据中心。 我们需要找到AWS S3的潜在替代存储。

目前,S3的使用方式如下:

  • 总存储大小为10TB;
  • 对象大小的最小/平均/最大值为0.5 / 2/100 Mb;
  • 我们有N个应用程序实例同时写入/读取对象,每秒约50次写入,30次读取;
  • 此存储应具备冗余(高可用性)、容错和可扩展性。

一种简单的实现方法是将数据存储在:

  • 简单的NFS存储并添加一些复制功能;
  • 只需将所述对象存储在NoSQL数据库中(例如Cassandra)。但是,Cassandra将需要多个实例来支持此存储(不建议在一个Cassandra节点上存储> 1TB Cassandra capacity planning)。

您会推荐哪种解决方案?

4个回答

6
使用MinIO是您想要拥有私有云存储的最佳选择。它与AWS S3兼容,这意味着使用AWS S3的应用程序可以无缝地迁移到MinIO。他们有一个教程,介绍如何使用AWS CLI连接MinIO服务器。您可以针对公共托管的MinIO服务器https://play.min.io:9000进行测试。请参阅AWS CLI with MinIO Server
使用MinIO分布式设置可以拥有高可用性的存储系统。请注意,动态扩展不是MinIO分布式设置的功能。如果您想扩展集群,则需要旋转一个新集群,并将数据从旧集群迁移到新集群。
我发现它比HDFS更容易使用。除此之外,Hadoop生态系统外还有许多技术缺少HDFS集成。例如,Docker Registry缺少内置的HDFS存储驱动程序。但是,它有一个S3驱动程序,因此您可以将MinIO用作对象存储。

1
我已经使用过它了,它真的很好,支持Vault和服务器端加密。 - Nassiel
据我所知,MinIO与AWS S3并不完全兼容。例如,在MinIO中未实现ACL。https://github.com/minio/minio/issues/8195 - Arman

3

目前有很多S3兼容的私有云服务选项。如果您喜欢开源解决方案,那么上面提到的OpenStack和Cassandra都是不错的选择。请注意,通常无论您使用什么,最终都需要设置多个节点的云,这是为了实现冗余和可用性而不可避免的。还有一些商业和经济产品,比如来自Cloudian的产品。


1
如果您需要对象存储,我可以推荐椭圆体英文链接)。据我所知,它对磁盘存储没有限制。
在Cassandra的情况下,我们使用SSD硬盘(以获得更好的性能)< 200-500 Gb。环大小将取决于您的要求(读/写延迟,复制速率,生命周期)。

每秒50次写入,每秒30次读取

这对于Cassandra来说非常容易,因为我可以将其与我们的设置进行比较。在这种情况下,它更多地取决于您对象的生命周期。
通常,在分布式网络的情况下,您还可以查看GlusterFS

Elliptics的链接已经失效了。而新页面reverbrain也无法打开,那么有什么其他选择吗? - Nassiel
1
我再也不能推荐椭圆了。看起来Yandex自己不再开源他们的技术(在存储方面),也不贡献给公共仓库。https://groups.google.com/forum/?fromgroups=#!topic/reverbrain/Mzfj56N6irE - egorlitvinenko
此页面上描述的其他技术是实际存在的。您可以在此处查看一些想法:https://groups.google.com/forum/?fromgroups=#!topic/reverbrain/7QAuwuLVMvc。根据我的经验,我们使用Swift。但是我们无法处理此存储中的>= 40Tb。 - egorlitvinenko

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接