2

Can anyone explain to me what 'consistency groups' are in the context of storage solutions? How can I use them in the real world?

It seems every vendor has its own proprietary terminology for storage features, but here's what I could gather so far:

A consistency group is (I think) a bunch of storage volumes that promise to always be consistent, that is, no single volume will ever be in a further point-in-time than its peers.

Now, what I don't get, nor can I find anywhere else is:

1 - Is the consistency of the Consistency Group between all volumes of the same group or only between each volume and its respective mirror somewhere?

2 - If I'm running a consistency group, does that also imply I'm running a mirror of that group in another, remote, consistent group?

3 - If the storage back end suddenly shuts down, will my volumes from a consistency group still be consistent? Is being in a consistency group enough to guarantee that the volumes are always consistent, even in the case of failures like power down?

4 - What is the bare minimum feature set that is needed in order to call something a Consistency Group?

Thank you

user986730
  • 121
  • 1
  • 4

1 Answers1

6

Storage consistency is something that you'll almost always hear talked about in the context of SAN storage, meaning SCSI LUNs/block storage.

You have most of the answer in your question. Consistency groups are meaningful when you are replicating a set of disks to another set. What defines consistency is that at the moment an interruption to the replication occurs, there is no chance that some disks will be farther along than others.

For example: a database is writing to two replicated LUNs- one is logs, one is data. You cut the replication and try to bring up the database on the target LUNs. If you have no consistency, the database LUN will likely not be in sync with the log LUN, and your database can't be recovered.

A consistency group containing both LUNs would ensure that any writes that were committed to a disk after the last received write to the slowest disk in the group will be discarded, leading to a set of LUNs that have "crash consistency". This means that they're in the state local disks would have been if the server had crashed.

If you're not working with replication of some sort, consistency has a different meaning and generally won't involve groups. If you have a write cache, a disk can become inconsistent if the cache is lost. That's why all serious storage contains some method of protecting writes that have been acknowledged by the storage but not yet committed to real permanent storage. It may be a UPS that can keep disks running for long enough to destage the cache during a power failure, it may be a NVRAM write cache that can withstand power loss, or it may be a simple battery on the volatile RAM that will last for a few days.

Basil
  • 8,811
  • 3
  • 37
  • 73