linux.conf.au Presentations
Cluster Mirror Block Device
Seminar
Mirrored block devices are a staple of high-availability computing. This work extends the technique to clusters, so that shared block devices can be mirrored and accessed simultaneously by multiple cluster nodes. Besides providing RAID 1 capability, this enables online data migration between shared devices and therefore is a cornerstone of cluster volume management. Less prosaically, a cluster mirror enables a kind of cluster configuration called (in the author's terminology) a "distributed data cluster", where the cluster has no shared storage device per se. Instead, data is distributed redundantly across the local disks of the nodes themselves. A client server architecture using message-based synchronization developed as part of the author's earlier cluster snapshot work proved equally well suited to the task of cluster mirror synchronization.
Daniel Phillips
I ended up in the cluster block device design business rather accidently, after being plucked by Sistina Software[1] from a life of leisure and random geekly pursuits in Berlin. It seems everybody else at Sistina was too busy to design the cluster snapshot and nobody really knew how to anyway, including me. But lo! It turned out to be not all that hard, and as a bonus, the same design mostly worked for the cluster mirror device as well. With two cluster block device designs to my credit, I must surely be an expert in the field. Or perhaps I am the only person in the field.
[1] Acquired by Red Hat shortly after.



