過去問ドリル

LinuCレベル4 システムアーキテクト 可用性の設計 問2

可用性の設計/フェイルオーバークラスタ

4ノードのフェイルオーバークラスタを、2ノードずつ2つのラックに分けて配置する計画がある。ラック間の通信が途絶した場合でも稼働を続ける側が一意に決まり、かつどちらのラックが丸ごと停止してもサービスを継続したい。この要件に対する設計として最も適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)

正解:D

解説

クォーラムに基づく方式では、過半数の票を持つ側だけがリソースを稼働させます。2対2に分かれる配置では過半数が成立しないため、第3の場所に投票のみを行う調停役(Corosyncのqdeviceのようなクォーラムデバイス)を置いて票数を奇数にすると、分断時にも多数派が一意に決まります。調停役を両ラックと独立した場所に置くことで、どちらのラックが停止しても残った側と調停役で過半数を確保できます。票の配分を偏らせる方法は分断時の判定はできますが、票の多いラックが停止すると全体が停止してしまいます。

選択肢ごとの解説

  • A誤り。分断時の勝者は決まりますが、票の多いラックが丸ごと停止すると残りのラックは過半数を持てず、サービスを継続できません。
  • B誤り。分断時に両方のラックがサービスを続けるとスプリットブレインになり、データの不整合や破損を招きます。
  • C誤り。経路の冗長化は分断の確率を下げるだけで、分断が起きないことを保証しないため、判定の仕組みを外す根拠になりません。
  • D正しい。独立した場所の調停役で票数を奇数にすれば、分断時の多数派が一意に決まり、どちらのラックが停止しても過半数を保てます。
LinuCレベル4 システムアーキテクトの問題を演習モードで解く