ちょっとひらめいた。 基本的なアイディアは、プライマリノードとセカンダリノードがまったく同じデータを持っていて、プライマリが落ちたときにセカンダリがプライマリに昇格するというごく普通なもの。ただし、プライマリが落ちたとき、プライマリでもセカンダリでもないノード全員が、昇格したプライマリに、「セカンダリいますか?」と聞きに行く。昇格したプライマリは、一番最初に受け取った「セカンダリいますか?」を送ってきたノードに、「セカンダリやれ」と送る。2つ目以降の「セカンダリいますか?」には「もういるよ」と返す。 これで次々にフェイルオーバーができる。それにノードの参加と離脱がないときには、プライマリが単なるファイルサーバーになるだけだから、ロックは特に問題なく処理できる。 あとはFUSEをかぶせれば分散ファイルシステムになる。 これだけでも良いのだけど、これだけだとプライマリノードとセカンダリノードに
![2007-03-14](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)