Joyent的ZFS和Amazon的EBS(S3)的哪些devisefunction可靠?

我知道这不是一个苹果比较,我试图评估哪一个更安全 – 不太可能丢失数据。

Joyent的SmartOS使用ZFS来存储数据,而EC2机器可以使用在S3上存储其数据的Amazon Elastic Block Store(EBS )。

我想知道什么是使这两个系统可靠的一些build筑细节? 我不太清楚S3的devise是否有多个位置来存储数据。

正如你所说, 这不完全是一个苹果比较 (另外已经达成协议,体面的数据备份程序必须适用于两者,所以我不打算解决这个问题)。 因此,这个问题不能这样回答,而应该意识到每个产品的架构细节,并将这些细节应用于特定的用例。

尤其是,Joyent的基于ZFS的存储系统是本地存储系统,旨在提供运营商级存储和数据可靠性 ,请参阅数据永续性和可靠性 :

我们将ZFS置于高性能本地存储子系统之上,以确保您的数据安全,一致且始终可访问和可恢复。 ZFS是为池式本地存储devise的组合文件系统和逻辑卷pipe理器。 与部署用于云存储的其他文件系统不同,ZFS的写入时复制function可确保您的映像不会丢失。 [强调我的]

相比之下, EBS是一个networking块存储系统,旨在提供高度可用,高度可靠的存储卷,这些存储卷可以连接到正在运行的Amazon EC2实例,并作为实例中的设备公开 ,请参阅Amazon Elastic Block内的Amazon EBS卷的function 存储(EBS )的详细信息,例如:

  • Amazon EBS卷位于特定的可用区域 ,然后可以附加到同一可用区域中的实例。
  • 每个存储卷在相同的可用区域内自动复制 。 这可以防止由于任何单个硬件组件的故障而造成的数据丢失
  • Amazon EBS还提供了创build卷的时间点快照的function,该快照是持久保存到Amazon S3的 。 这些快照可以用作新Amazon EBS卷的起点,并保护数据的长期持久性 。 […]

[强调我的]

后一点强调了EBS本身不存储S3的数据 ,而是通过S3提供了一个易于使用的长期持久性备份机制,这意味着你需要分别评估这两种情况在耐用性和可用性方面。

部分Amazon EBS卷的持久性进一步详细介绍了此体系结构:

Amazon EBS卷数据在可用区中的多个服务器之间进行复制,以防止任何单个组件出现故障时丢失数据。 卷的持久性取决于卷的大小以及自上次快照以来更改过的数据的百分比。 […]

由于Amazon EBS服务器在单个可用区域内复制 ,因此跨同一可用区域中的多个Amazon EBS卷镜像数据不会显着提高卷的耐用性。 但是,对于那些对持久性更加感兴趣的用户,Amazon EBS能够创build卷的时间点一致性快照,然后将其存储在Amazon S3中,并自动跨多个可用区进行复制 。 […]

[强调我的]

所以,虽然EBS只在一个可用区域中的多个服务器上存储数据,但是S3提供了额外的物理基础架构分离,请参阅相互隔离的可用区域。 :

每个可用区域运行在自己独立的,独立的基础设施上 。 诸如发电机和冷却设备之类的常见故障点不通过可用区域共享。 此外,它们在物理上是分开的 ,即使是非常罕见的灾难,例如火灾,龙卷风或洪水,也只会影响单个可用区域。 [强调我的]

这产生99.999999999%的索赔持久性,如Amazon S3的耐用性如何? 并进一步详细说明如何亚马逊S3devise达到99.999999999%的耐用性? :

Amazon S3将您的对象冗余存储在Amazon S3地区中多个设施的多个设备上 。 在处理存储数据的请求时,服务将在返回SUCCESS之前将对象冗余存储在多个设施中。 […] [我的重点]

请注意, 可用区域仍然受限于单个区域 (有关此架构的详细信息,请参阅使用区域和 可用区域 ),这些区域已经成为各自的事件,引发了关于区域和/或提供程序冗余是否可行的讨论以获得最大的可靠性(请参阅下面的中断 )。

最后, Amazon S3 Concepts中的 Amazon S3数据一致性模型部分提供了更多详细信息,说明Amazon S3如何通过跨Amazon数据中心内的多个服务器复制数据来实现高可用性


停机

这两种服务在过去至less有一次重大停机事件 – 各自的事后分析提供了有关每个系统devise的更多信息,并允许您在相应的备份和可用性策略中对此进行解释:

  • Joyent – 进一步Strongspace和BingoDisk更新
  • 亚马逊 – 美国东部地区亚马逊EC2和亚马逊RDS服务中断摘要
    • 部分EBS系统概述以EBS体系结构的深入总结为特色

后者的中断引发了一般关于云计算可靠性的一些讨论,这引起了一个有趣的文章:“当抽象失败我们在Joyent的博客上,探索两种方法之间的差异和解释Joyent各自的架构select(包括自我批评以前失败的尝试); 虽然这篇文章显然可能被认为是有偏见的,但仍然可以让你依次得出自己的结论。

除非在两个地理位置不同的地方有三份,否则您没有这些数据。

根据单个RAID实例,虚拟块设备,单个供应商等可靠地存储您的数据是最好的粗心。

话虽如此,除非我上次检查后的两三年内没有任何变化,亚马逊并没有保证下次你看S3数据。 就存储而言,它们在过去几年中一直保持可靠,所以不像数据经常消失。