LinuCレベル3 304試験の例題と解説

334.1 高可用性の概念と理論

今回は304試験の試験範囲から「334.1 高可用性の概念と理論」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<334.1 高可用性の概念と理論>
重要度     5

<説明>
高可用クラスタのプロパティと設計アプローチの理解
    
<主要な知識範囲>
   
最も重要なクラスタアーキテクチャの理解
復旧とクラスタ再編成メカニズムの理解
指定目的のための適切なクラスタアーキテクチャの設計
高可用性のアプリケーション視点
高可用性の操作上の考察

<重要なファイル、用語、ユーティリティ>
アクティブ/パッシブクラスタ、アクティブ/アクティブクラスタ
フェイルオーバークラスタ、ロードバランスクラスタ
シェアード・ナッシングクラスタ、シェアード・ディスククラスタ
クラスタリソース
クラスタサービス
クオーラム
フェンシング
スプリットブレイン
冗長性
平均故障間隔 (MTBF)
平均復旧時間 (MTTR)
サービス品質保証 (SLA)
ディザスタリカバリ
レプリケーション
セッション処理

■例題
スプリットブレインの説明として適切なものを選択してください。

1. 故障したノードを強制的に遮断する仕組みのこと
2. 複数のノードが稼動系として動作するクラスタ構成のこと
3. 複数のノードが意図せず稼動系として動作すること
4. 複数のノードで、同一の情報を共有すること

※この例題は実際の試験問題とは異なります。
 


解答と解説

答えは「3. 複数のノードが意図せず稼動系として動作すること」です。

高可用性クラスタは、一般的に複数のノードで構成されます。
クラスタのモデルとしては、大きく2つに分けられます。

a. アクティブ/アクティブクラスタ
 このモデルは、すべてのノードがサービスを行うモデルです。
どのノードでも同じサービスが提供できるため、単一ノードが故障しても
他のノードでサービスが継続できる構成です。

b. アクティブ/パッシブクラスタ
 このモデルは、単一のノードがサービスを行うアクティブノードとして動作する構成です。
その他のノードは、アクティブノードが故障した時に切り替わるために待機しています。このノードをパッシブノードと呼びます。

どちらのモデルでも、同じサービスを提供するために、何らかの方法でデータを共有することが必要になります。方法としては、共有ディスクやディスクミラーリング、ソフトウェアのレプリケーションの機能を使うなど様々です。

また、クラスタを構成するすべてのノードの稼動状態を監視して、把握している必要があります。ノードの状態の監視は、一部のノードが監視の役割を担うこともあれば、すべてのノードがお互いの状態を監視することもあります。

ただ、この監視を行っている機構に故障が発生した場合に、お互いの状態が不明になる事態が発生します。例えばLAN経由で監視を行っているクラスタで、NICの故障やLANケーブルが断線してしまった場合などです。

この状態になると、以下のようなことが発生し、結果的にサービスに異常をきたします。

・アクティブ/パッシブクラスタであるにもかかわらず、複数ノードがアクティブノードとして動作する
・共有しているデータにノードごとの差異が発生し、一貫性が失われる

このような状態をスプリットブレインと呼びます。

スプリットブレインを防ぐためには、予めクラスタがクラスタとして動作するための、最小ノード数(クォーラム)を決めておき、最小ノード数を下回った場合に、クラスタサービスを制御するための、別の仕組みを用意するといった方法があります。

今回はスプリットブレインに焦点を当てて解説を行いましたが、クラスタのひとつの概念を理解するだけでも、クラスタを構成するための他の要素の知識が必要になります。クラスタの構成や全体像を理解し、細かい知識を肉付けしていくと、より理解が深まるでしょう。

■例題作成者
株式会社デージーネット ソリューション開発部    森 彰吾 氏

ページトップへ