![哪些设计特点使得 Joyent 的 ZFS 和 Amazon 的 EBS(S3)可靠?](https://linux22.com/image/576877/%E5%93%AA%E4%BA%9B%E8%AE%BE%E8%AE%A1%E7%89%B9%E7%82%B9%E4%BD%BF%E5%BE%97%20Joyent%20%E7%9A%84%20ZFS%20%E5%92%8C%20Amazon%20%E7%9A%84%20EBS%EF%BC%88S3%EF%BC%89%E5%8F%AF%E9%9D%A0%EF%BC%9F.png)
我知道这并不是一个完全一样的比较,我想评估的是哪一个更安全——不太可能丢失数据。
Joyent 的 SmartOS用途虚拟文件系统存储数据,而 EC2 机器可以使用亚马逊弹性块存储 (EBS)) 将数据存储在 S3 上。
我想知道哪些架构细节使得这两个系统可靠?我不太确定 S3 的设计,不知道它们是否有多个存储数据的位置。
答案1
如你所说,这不是一个同类比较(此外,双方已经达成一致,即双方都必须制定适当的数据备份程序,因此我不打算讨论这个问题)。因此,这个问题无法这样回答,而应该了解每种产品的架构细节,并根据手头的特定用例应用这些细节。
尤其是虚拟文件系统Joyent 的基于存储的系统是一种本地存储旨在交付的系统运营商级存储和数据可靠性, 看数据弹性和可靠性:
我们将 ZFS 置于高性能之上本地存储子系统确保您的数据安全、一致且始终可访问和可恢复。ZFS 是一种组合文件系统和逻辑卷管理器,旨在 本地存储池与其他为云存储部署的文件系统不同,ZFS 的写时复制功能可确保您的映像不会丢失。[重点是我的]
相比之下,电子商务是网络块存储旨在提供系统高可用性、高可靠性的存储卷,可以附加到正在运行的 Amazon EC2 实例并作为实例内的设备公开,请参阅Amazon EBS 卷的功能之内亚马逊弹性块存储 (EBS)) 了解详情,例如:
- Amazon EBS 卷放置在特定可用区域,然后可以将其附加到同一可用区域内的实例。
- 每个存储卷在同一可用区域内自动复制.这可以防止由于任何单个硬件组件故障而导致数据丢失。
- Amazon EBS 还提供了创建卷的时间点快照,保存到 Amazon S3。这些快照可以用作新 Amazon EBS 卷的起点,并且保护数据的长期稳定性。 [...]
[重点是我的]
后一点强调的是EBS 不将其数据存储在 S3 上就其本身而言,它通过 S3 提供了一种易于使用的长期耐用性备份机制,这意味着您需要在耐用性和可用性方面分别评估这两种情况。
部分Amazon EBS 卷持久性进一步详细说明该架构:
[...] Amazon EBS 卷数据在可用区域中的多个服务器之间进行复制以防止因任何单个组件故障而导致数据丢失。卷的持久性取决于卷的大小以及自上次快照以来发生变化的数据百分比。[...]
由于 Amazon EBS 服务器在单个可用区域内进行复制,在同一可用区内跨多个 Amazon EBS 卷镜像数据不会显著提高卷的耐用性。但是,对于那些希望提高耐用性的人来说,Amazon EBS 提供了以下功能:创建卷的时间点一致性快照,然后将其存储在 Amazon S3 中,并自动在多个可用区之间复制。 [...]
[重点是我的]
因此,虽然 EBS 仅在一个可用区域中的多台服务器上存储数据,但 S3 提供了额外的物理基础设施分离,请参阅可用区域彼此之间的隔离程度如何?:
每个可用区域都在其物理上独立且不同的基础架构上运行[...]。发电机和冷却设备等常见故障点不会在可用区之间共享。此外,它们 物理上分开,这样即使是火灾、龙卷风或洪水等极为罕见的灾难也只会影响单个可用区。[重点是我的]
由此可得出声称的耐用性为 99.999999999%,如Amazon S3 的耐用性如何?并进一步详细说明Amazon S3 如何设计以实现 99.999999999% 的耐用性?:
Amazon S3 将您的对象冗余存储在Amazon S3 区域中多个设施的多个设备。[...] 在处理存储数据的请求时,服务将在多个设施中冗余存储您的对象,然后才返回 SUCCESS。[...] [重点是我的]
请注意,可用区域仍然局限于单个区域(看使用区域和可用区域有关此架构的详细信息),并且它们已经发生过相应的事故,引发了讨论,区域和/或提供商冗余是否是实现最高可靠性的途径(见停电以下)。
最后,部分Amazon S3 数据一致性模型在Amazon S3 概念提供更多细节如何Amazon S3 通过在亚马逊数据中心内的多台服务器之间复制数据来实现高可用性。
停电
这两项服务在过去都至少发生过一次重大中断 - 相应的事后分析为每个系统的设计提供了额外的见解,并允许您在备份和可用性策略中考虑到这一点:
- Joyent -Strongspace 和 BingoDisk 的进一步更新
- 亚马逊 -美国东部区域 Amazon EC2 和 Amazon RDS 服务中断摘要
- 部分EBS系统概述对 EBS 架构进行了深入的总结
后一次中断引发了关于云计算可靠性的大量讨论,有趣的是,这引发了这篇文章神奇的区块存储:当抽象让我们失望时在 Joyent 的博客上,探讨两种方法之间的差异并解释 Joyent 各自的架构选择(包括对以前失败尝试的自我批评);虽然这篇文章显然可能被认为有偏见,但它仍然应该允许您依次得出自己的结论。
答案2
除非您在两个不同的地理位置拥有三份相同的数据,否则您就无法获得该数据。
依赖单个 RAID 实例、虚拟块设备、单个供应商等来可靠地存储数据充其量是粗心大意的。
话虽如此,除非自我上次检查以来的 2-3 年内没有任何变化,否则亚马逊不保证您下次查看时 S3 数据还会存在。就存储而言,他们在过去几年里一直很可靠,所以数据不会定期消失。