当一个数据的所有副本在数据中心中失败时会发生什么?

时间:2015-12-31 03:43:58

标签: storage distributed distributed-computing

现代数据中心的分布式存储架构的设计使每个数据片段有2-3个副本,因此当机器出现故障时它仍然可用。

据我所知,所有副本失败的概率仍然非零,并且考虑到操作的规模,必然会出现这种情况。大型数据中心如何防范此类故障,尤其是当您的重要数据(如电子邮件或图像)出现故障时?更进一步的冗余只能进一步使这种失败不太可能,但并非不可能。

2 个答案:

答案 0 :(得分:1)

让我们假设给定的硬盘驱动器在一年内有50%的失败率(不是基于任何真实的统计数据,只是任意高估)。

这意味着在给定的一小时内出现.5 / (365 * 2) ~ 0.0057%失败的可能性(假设失败概率在一年中的所有小时内均匀分布)。

正确配置的群集应检测到节点已经相当快地停机,并为节点负责的数据创建其他副本。我觉得相当安全,声称会在<1小时内发生(最多可能是几分钟)。

所以我们真正要问的是 - 包含单个数据的所有节点在数据上无法及时消失的可能性是多少从现有节点重新复制。

对于两份数据副本,这会给我们0.000057^2 ~ 3.25 * 10^-9 = 0.0000000325%

三份,0.000057^3 ~ 1.86 * 10^-13 = 0.00000000000186%

这并不能解释额外的异地备份等。所以虽然这不是不可能的,但我敢打赌你更有可能丢失你的数据,因为太阳耀斑炸了整个数据中心比任意硬盘驱动器故障都要好。

答案 1 :(得分:0)

NYC Tech Talk Series: How Google Backs Up the Internet可以很好地解释Google如何管理备份和实现可靠性。基于文本的解释是here

最重要的是,谈话内容如下:

  • 冗余不是完整性或可恢复性的保证。
  • 磁带不会过时。
  • 需要在几个不同的垂直方向确保隔离:位置,应用层问题,存储层问题,介质故障等。
  • 即使在需要恢复之前,也可以连续备份和恢复,读取和写入磁带。
  • 尽可能自动执行稳态操作。
  • 以特定速率预期失败,调查失败率是否发生变化。

同样,正如另一个答案所说,只能涵盖所有基础,并确保概率很低,数据丢失窗口(在一个备份失败和从其他备份重建之间)非常低。