0

如果整个谷歌数据中心遭遇灾难性断电,本地 SSD 上的数据会怎样?当计算引擎实例最终重新上线时,它是否还会在本地 SSD 上保留数据?它似乎可以很好地处理计划的停机时间:

无计划停机:即使没有复制或冗余,Google 进行数据中心维护时本地 SSD 数据也不会丢失。在进行任何计划内维护之前,我们将使用我们的实时迁移技术将您的虚拟机及其本地 SSD 移动到新机器上,这样您的应用程序就不会中断,您的数据也不会丢失。

但我担心计划外停机。磁盘故障是一个永远存在的风险,但如果您将本地 SSD 与复制结合起来,您可以防范这种情况。但是,我试图防止相关故障,例如整个区域变暗。那么内存中的复制数据会丢失,但是当实例恢复时,fsync 到本地 SSD 的数据是否可能仍然存在?如果你丢失了它,那么将数据同步到本地 SSD 确实不会比 RAM 更安全 - 例如,用于运行本地数据库实例或其他东西。

4

1 回答 1

3

顺便说一句,请注意Google 数据中心电源是冗余的,并且有备用发电机以防相关电源故障:

为我们的数据中心供电

为了保持 24/7 全天候运行并确保服务不间断,Google 的数据中心配备了冗余电源系统和环境控制。每个关键组件都有一个主电源和备用电源,每个电源都具有相同的功率。柴油发动机备用发电机可以提供足够的应急电力,以满负荷运行每个数据中心。冷却系统为服务器和其他硬件保持恒定的工作温度,从而降低服务中断的风险。火灾探测和灭火设备有助于防止硬件损坏。热、火和烟雾探测器在受影响区域、安全操作控制台和远程监控台触发声音和可见警报。

回到你的问题。您问:

那么内存中的复制数据会丢失,但是当实例恢复时,fsync 到本地 SSD 的数据是否可能仍然存在?

根据本地 SSD 文档(强调原文):

[...] 本地 SSD 存储不会自动复制,如果实例重置、主机错误或用户配置错误导致磁盘无法访问,所有数据都可能丢失。用户必须采取额外的预防措施来备份他们的数据。

如果上述所有保护措施都失败了,断电相当于实例重置,这可能会导致本地 SSD 卷无法访问——VM 很可能会在不同的物理机器上重新启动,如果是这样,数据将本质上是“丢失”,因为它将无法访问和擦除。

因此,您应该将本地 SSD 数据视为瞬态数据,就像您认为 RAM 一样。


你还问:

但是,我试图防止相关故障,例如整个区域变暗。

如果要防止区域中断,请跨区域中的多个区域进行复制。如果要防止整个区域中断,请复制到其他区域。如果您想防止相关区域故障,请复制到更多区域。

您还可以将数据的快照存储在Google Cloud Storage中,从而提供高水平的持久性

Google Cloud Storage 旨在实现 99.999999999% 的耐用性;多个副本,具有校验和的多个位置以及数据的跨区域条带化。

于 2016-01-08T05:36:50.593 回答