クラスタシステムが信頼性を保証するには、クラスタインタコネクトの冗長化が不可欠です。このため、ICFは使用可能な帯域幅を全て使用するように設計されています。クラスタシステムのノード間の各々の接続を経路と呼び、ICFが他のノードメッセージを送信する時、使用可能な全ての経路間でトラフィックを分散するように、経路を選択します。図3.2 一般的な4ノードクラスタシステムに示す4ノードクラスタの場合、各ノードには他の各ノードにつながる2つの経路があります。
クラスタインタコネクトの動作が全て正常であれば、経路は有効 (UP状態) となります。冗長化されたクラスタインタコネクトが同じ速度で動作しているものであれば、全ての経路がメッセージ通信に使用され、UP状態となります (速度の異なるクラスタインタコネクト (100Mイーサネットとギガバイトイーサネットの混在など) については後述します)。さらに、ハートビート要求には常に冗長化されたクラスタインタコネクトの全経路が使用されます (ハートビートとは、ノードが機能していることを示すメッセージです)。ある経路上でハートビート要求が失敗した場合、その経路はDOWN状態と判定されます。DOWN状態の経路はPRIMECLUSTERの系間通信に使用されません。ただし、DOWN状態の経路でハートビート要求がリトライされる場合がありますが、この要求が成功すれば、DOWN状態の経路はUP状態に自動復旧します。このように、系間通信にUP状態の全経路を使用することをポートアグリゲーション (Port Aggregation) またはトランキング (Trunking) といいます。
ハートビートが失敗する原因は複数考えられます。ネットワークコンポーネントに障害が発生すると、その経路は使用できなくなり、上記の動作が起こります。特定ノードと他のノードとの最後の経路がDOWN状態になったときは、その経路にDOWNマークが付くのではなく、ノードがLEFTCLUSTERとなります。
LEFTCLUSTERとは、ノードが同じクラスタにある他のノードと通信できないことを示す状態をいいます。これは、ノードがクラスタに参入していないことを意味します。ノードがLEFTCLUSTERまたはDOWN状態になると、クラスタに再参入するまで、そのノードに対するハートビートは行われなくなります。
注意
ノードがLEFTCLUSTERまたはDOWN状態であっても、最後の経路はDOWN状態にはなりません。
ノードの障害でなくてもノードがハートビート要求に応答することを妨げるイベントが発生する場合があります。たとえば、リンク修復の試行中にファイバチャネルコントローラが他のネットワークデバイスドライバの実行を妨げる場合があり、これがノード障害と誤認される可能性があります。このような場合に備えて、最後の経路上でハートビート要求が何回失敗したらノードをLEFTCLUSTERにするかを示すパラメタはチューニング可能です。
ICFのその他のパラメタをチューニングすることはできません。経路検出アルゴリズムでは、できるだけ早く経路をDOWN状態として、メッセージを他の経路に切替えて、著しい遅延をもたらさないようにすることが重要であるからです。ある経路が間欠故障などの理由で一時的に使用できない状態でも、自己復旧方式により経路が動作可能と判断されれば、その経路が使用可能 (UP状態) になります。ICFパラメタの調整については、“PRIMECLUSTER Cluster Foundation 導入運用手引書 ” を参照してください。
PRIMECLUSTERは、ギガビットイーサネットと100Mイーサネットとの組み合わせのような、速度の異なるクラスタインタコネクトの組み合わせもサポートしています。上記の例の場合、PRIMECLUSTERは系間通信に100Mイーサネットよりは、ギガビットイーサネットを使用するように経路を選択することになります。ポートアグリゲーション (Port Aggregation) /トランキング (Trunking) は同速度の全てのデバイスに対して使用可能であり、非対称の組み合わせの場合は使用されません。しかし、ハートビート要求はインタコネクトの速度に関係なく、常に全てのクラスタインタコネクトに送信されます。