什么是存储一致性组?

use*_*730 2 storage cloud-storage data-consistency

谁能向我解释在存储解决方案的上下文中什么是“一致性组”?我如何在现实世界中使用它们?

似乎每个供应商都有自己的存储功能专有术语,但到目前为止我可以收集到以下信息:

一致性组是(我认为)一堆承诺始终保持一致的存储卷,也就是说,没有任何一个卷的时间点比其同行更远。

现在,我没有得到,也找不到其他任何地方的是:

1 - 一致性组的一致性是在同一组的所有卷之间还是仅在每个卷与其各自镜像之间的某处?

2 - 如果我正在运行一个一致性组,这是否也意味着我正在另一个远程一致组中运行该组的镜像?

3 - 如果存储后端突然关闭,一致性组中的卷是否仍然一致?处于一致性组中是否足以保证卷始终一致,即使出现断电等故障?

4 - 调用一致性组所需的最低限度的功能集是什么?

谢谢

Bas*_*sil 6

存储一致性是您在 SAN 存储(即 SCSI LUN/块存储)上下文中几乎总是会听到的话题。

你的问题中有大部分答案。当您将一组磁盘复制到另一组时,一致性组很有意义。一致性的定义是,在复制中断发生的那一刻,某些磁盘不可能比其他磁盘更远。

例如:一个数据库正在写入两个复制的 LUN——一个是日志,一个是数据。您停止复制并尝试在目标 LUN 上启动数据库。如果没有一致性,则数据库LUN 很可能与日志LUN 不同步,您的数据库将无法恢复。

包含两个 LUN 的一致性组将确保在最后一次收到对组中最慢磁盘的写入之后提交到​​磁盘的任何写入都将被丢弃,从而导致一组具有“崩溃一致性”的 LUN。这意味着如果服务器崩溃,它们将处于本地磁盘的状态。

如果您不使用某种复制,一致性具有不同的含义,通常不会涉及组。如果您有写缓存,如果缓存丢失,磁盘可能会变得不一致。这就是为什么所有严肃的存储都包含一些保护已被存储确认但尚未提交到真正永久存储的写入的方法的原因。它可能是一个 UPS,它可以让磁盘运行足够长的时间以在电源故障期间停止缓存,它可能是一个可以承受断电的 NVRAM 写缓存,或者它可能是易失性 RAM 上的一个简单的电池,可以持续使用几天。