有人能向我解释一下存储解决方案中的“一致性组”是什么吗?我如何在现实世界中使用它们?
似乎每个供应商都有自己专有的存储功能术语,但以下是我目前收集到的信息:
一致性组(我认为)是一组保证始终保持一致的存储卷,也就是说,没有任何单个卷会比其同行处于更远的时间点。
现在,我不明白,也无法在其他地方找到的是:
1 - 一致性组的一致性是在同一组的所有卷之间还是仅在每个卷与其各自的镜像之间?
2 – 如果我正在运行一致性组,这是否也意味着我正在另一个远程一致性组中运行该组的镜像?
3 - 如果存储后端突然关闭,一致性组中的卷是否仍然保持一致? 即使在断电等故障的情况下,一致性组是否足以保证卷始终保持一致?
4 - 为了将某个东西称为一致性组,需要哪些最低限度的功能集?
谢谢
答案1
您在谈论 SAN 存储(即 SCSI LUN/块存储)时几乎总会听到谈论存储一致性。
您的问题已经给出了大部分答案。当您将一组磁盘复制到另一组磁盘时,一致性组是有意义的。一致性的定义是,在复制发生中断时,某些磁盘不可能比其他磁盘走得更远。
例如:数据库正在向两个复制的 LUN 写入数据,一个是日志,一个是数据。您切断复制并尝试在目标 LUN 上启动数据库。如果没有一致性,数据库 LUN 可能不会与日志 LUN 同步,并且您的数据库无法恢复。
包含两个 LUN 的一致性组将确保在组中速度最慢的磁盘最后一次收到写入之后提交到磁盘的任何写入都将被丢弃,从而产生一组具有“崩溃一致性”的 LUN。这意味着它们处于服务器崩溃时本地磁盘的状态。
如果您不使用某种复制,一致性的含义将有所不同,并且通常不涉及组。如果您有写入缓存,则如果缓存丢失,磁盘可能会变得不一致。这就是为什么所有严肃的存储都包含某种方法来保护已被存储确认但尚未提交到实际永久存储的写入。它可能是 UPS,可以让磁盘运行足够长的时间以在电源故障期间卸载缓存,它可能是可以承受断电的 NVRAM 写入缓存,或者它可能是易失性 RAM 上的简单电池,可以使用几天。