6. ネットワークパーティション解決リソースの詳細¶
本章では、ネットワークパーティション解決リソースの詳細について説明します。
6.1. ネットワークパーティションとは?¶
- 1
本動作はCluster WebUI の設定モードの、[クラスタのプロパティ]→[NP解決] タブ→[調整] ボタン→[ネットワークパーティション解決調整プロパティ] 画面→[NP発生時動作] で変更できます。
6.1.1. ネットワークパーティション解決リソースとは?¶
クラスタ内のサーバは、ハートビートリソースにより他のサーバの死活監視を行います。全てのハートビートリソースが断線した場合、または他サーバがクラスタ以外からシャットダウンされた場合にネットワークパーティション解決リソースを使用してネットワークパーティション解決を行います。ネットワークパーティション解決リソースには以下の種類があります。
ネットワークパーティション
解決リソース
|
略称 |
機能概要 |
---|---|---|
DISK ネットワークパーティション
解決リソース (DISK方式)
|
disknp |
共有ディスク上の専用パーティションを使用してネットワークパーティション解決を行います |
PING ネットワークパーティション
解決リソース (PING方式)
|
pingnp |
[ping] コマンドにより通信可能なサーバを判断しネットワークパーティション解決を行います |
HTTP ネットワークパーティション
解決リソース (HTTP方式)
|
httpnp |
Web サーバへの HTTP HEAD リクエストにより通信可能なサーバを判断しネットワークパーティション解決を行います。 |
多数決ネットワークパーティション
解決リソース (多数決方式)
|
majonp |
3 台以上のサーバで接続可能なサーバ台数によりネットワークパーティション解決を行います |
クラスタサーバの構成毎に選択可能なネットワークパーティション解決リソースが異なります。以下のいずれかの組合せで選択してください。
クラスタサーバの構成 |
ネットワークパーティション解決方式
(記載順が推奨する順位を表します)
|
---|---|
ディスクリソースが存在する場合 |
[サーバ数 2 台]
[サーバ数 3 台以上]
|
ミラーディスクリソースが存在し、ディスクリソースが存在しない場合 |
[サーバ数 2 台]
[サーバ数 3 台以上]
|
ディスクリソース及び、ミラーディスクリソースが存在しない場合 |
[サーバ数 2 台]
[サーバ数 3 台以上]
|
以下のようにサーバ 1 とサーバ 2 がディスクリソースとミラーディスクリソースの 両方を使用している場合、ネットワークパーティションリソースの組合せとして DISK 方式と PING 方式、DISK 方式が選択できます。
ディスクリソースとミラーディスクリソースが起動可能なサーバが異なる場合、それぞれのサーバ間で別々にネットワークパーティションリソースを設定する必要があります。以下のようにサーバ 1 とサーバ 2 で共有ディスクを使用、サーバ 2 とサーバ3 でミラーディスクを使用する場合、ネットワークパーティションリソースの組合せと してサーバ 1 とサーバ 2 では COM 方式と DISK 方式、PING 方式と DISK 方式、DISK 方式が選択でき、サーバ 2 とサーバ 3 では COM 方式、PING 方式が選択できます。
ネットワークパーティション解決リソースは複数の種類を組み合わせて登録することが可能です。複数の種類のリソースが登録されている場合、以下の順でNP解決処理を行います。
PING方式とDISK方式
HTTP方式
PING方式
DISK方式
多数決方式
6.1.2. クラスタサービス起動時のネットワークパーティション解決について¶
クラスタサービス起動時に、他のサーバとのハートビート経路が全て断線していた場合、ネットワークパーティション解決を行います。このとき、ネットワークパーティションを検出したサーバではクラスタサービスを停止します。ハートビート経路の状態を確認し、手動でクラスタサービスを起動してください。
6.2. DISK 方式によるネットワークパーティション解決を理解する¶
6.2.1. DISK ネットワークパーティション解決リソースの設定¶
DISK ネットワークパーティション解決リソースを使用するためには、以下の設定が必要です。
共有ディスク上に専用のパーティション (ディスクハートビート用パーティション) を 確保してください。(パーティションのフォーマットは必要ありません。)
共有ディスク上の専用パーティションに割り当てるドライブ文字を確保してください。(ドライブ文字はサーバ間で同じでなければなりません。)
DISK ネットワークパーティション解決リソースは、ネットワークパーティションを検出すると 優先度の一番高いサーバと通信不可能なサーバでネットワークパーティション発生時の動作を実施します。
2台のサーバがディスクを共有し、2本のLANで接続されています。
全てのネットワークが断線した場合、DISK ネットワークパーティション解決リソースは片方のサーバをシャットダウンさせます。 それによって、両系で同じグループが活性することを防止します。
クラスタが 2 台以上のサーバで構成されている場合に、以下のように DISK ネットワークパーティション解決リソースを使用する構成が可能です。クラスタ内の共有ディスクを使用するサーバ間でのみ DISK ネットワークパーティション解決リソースを使用するように設定することができます。
詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」を参照してください。
6.2.2. DISK ネットワークパーティション解決リソースの注意事項¶
共有ディスクを使用する場合には、DISK ネットワークパーティション解決リソースの使用を推奨します。
DISK ネットワークパーティション解決リソースは定期的にディスクへの read/writeを行うためディスクへの負荷を考慮して設定してください。
DISK ネットワークパーティションで使用するディスクハートビート用パーティションはHBA の設定でクラスタで管理するよう設定されたパーティションを設定してください。
全てのディスクハートビート用パーティションへのアクセスが正常な状態で全てのネットワーク通信路に障害が発生した場合は、ネットワークパーティションを検出して、マスタサーバ及びマスタサーバと通信できるサーバがフェイルオーバ処理を実施します。 それ以外のサーバでネットワークパーティション発生時の動作を実施します。
一部のディスクハートビート用パーティションへのアクセスが異常な状態で、ハートビート切れが発生した場合は、ネットワークパーティションの解決ができないためフェイルオーバできません。この場合、ディスクハートビート用パーティションへのアクセスが異常なサーバでネットワークパーティション発生時の動作を実施します。
共有ディスクへの IO 時間がクラスタのプロパティで設定する DiskNP リソースのIO 待ち時間より長くかかる場合にはネットワークパーティション解決処理がタイム アウトしてフェイルオーバできないことがあります。
他の方式に比べ、ディスク I/O の遅延を考慮する必要があるため、ネットワークパーティション解決に時間がかかります。この時間はクラスタのプロパティで設定するハートビートタイムアウト時間とディスク IO 待ち時間の長いほうの約 2 倍となります。
DISK ネットワークパーティション解決リソースを使用している場合、共有ディスクの専用パーティションへは、クラスタが起動している状態の全てのサーバから定期的にアクセスが行われます。クラスタ停止状態、あるいはサスペンド状態のサーバからはアクセスは行われません。
6.3. PING 方式によるネットワークパーティション解決を理解する¶
6.3.1. PING ネットワークパーティション解決リソースの設定¶
PING ネットワークパーティション解決リソースを使用するためには、以下の設定が必要です。
[ping] コマンドを受信し、応答を返却可能な常時稼動している装置 (以下、「ping 用装置」と省略します) が必要です。
PING ネットワークパーティション解決リソースは、他サーバからのハートビート切れを検出した際に、ping 用装置から [ping] コマンドの応答がある場合には相手サーバのダウンと 判断してフェイルオーバを実施し、[ping] コマンドの応答がない場合はネットワークパーティション状態により自身がネットワークから孤立したものと判断してネットワークパーティション発生時の動作を実施します。
他サーバからのハートビート切れを検出し、ping装置に対するping応答が無い場合、サーバをシャットダウンさせます。これによって、両系で同じグループが活性となることを防止します。
詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」を参照してください。
6.3.2. PING ネットワークパーティション解決リソースの注意事項¶
PING ネットワークパーティション解決リソースを使用する場合、指定するアドレスは、構成情報に登録したいずれかのインタコネクト LAN 経由で送受信可能なアドレスを指定してください。
ping 用装置の障害などにより、ハートビートが途絶する前に全サーバで [ping] コマンドの 応答が返らない状態が続くと、ネットワークパーティションの解決を行いません。
共有ディスクを使用する場合には、PING ネットワークパーティション解決リソースだけではなく、DISK ネットワークパーティション解決リソースと組み合わせて使用することを推奨します。
6.4. HTTP 方式によるネットワークパーティション解決を理解する¶
6.4.1. HTTP ネットワークパーティション解決リソースの設定¶
HTTP ネットワークパーティション解決リソースを使用するためには、以下の設定が必要です。
常時稼働している HTTP 通信可能なサーバ (以下、「Web サーバ」とします) が必要です。
HTTP ネットワークパーティション解決リソースは、他サーバからのハートビート切れを検出した際に、Webサーバからのレスポンスがある場合には相手サーバのダウンと 判断してフェイルオーバを実施し、レスポンスがない場合はネットワークパーティション状態により自身がネットワークから孤立したものと判断してネットワークパーティション発生時の動作を実施します。
他サーバからのハートビート切れを検出し、さらにWebサーバからのレスポンスが無い場合、サーバをシャットダウンさせます。 これによって、両系で同じグループが活性となることを防止します。
詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」を参照してください。
6.4.2. HTTP ネットワークパーティション解決リソースの注意事項¶
- HTTP の HEAD リクエストに応答する装置を指定してください。HEAD リクエストに対するステータスコード 200 または 301 の応答があった場合は正常と判断します。ターゲットからの応答が得られない場合および、ステータスコード 200 および 301 以外の応答があった場合は異常と判断します。
Web サーバとの通信では、NIC およびソースアドレスは OS の設定に従って選択されます。
6.5. 多数決方式によるネットワークパーティション解決を理解する¶
6.5.1. 多数決ネットワークパーティション解決リソースの設定¶
ネットワーク障害によって過半数のサーバと通信できなくなったサーバでネットワークパーティション発生時の動作を実施することによってネットワークパーティション症状によるデータ破壊を防ぎます。
他サーバからのハートビート切れを検出し、さらにWebサーバからのレスポンスが無い場合、サーバをシャットダウンさせます。 これによって、両系で同じグループが活性となることを防止します。
詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」を参照してください。
6.5.2. 多数決ネットワークパーティション解決リソースの注意事項¶
3 ノード以上のクラスタで選択できます。
半数以上のサーバがダウンした場合は、残りの全ての正常サーバはネットワークパーティション発生時の動作を実施します。なお、ちょうど半数のサーバと通信できない場合は、優先度の一番 高いサーバと通信できないサーバでネットワークパーティション発生時の動作を実施します。
ハブの故障などによって全てのサーバがネットワークから孤立した場合は、全サーバでネットワークパーティション発生時の動作を実施します。
6.6. PING 方式と DISK 方式によるネットワークパーティション解決を理解する¶
PING ネットワークパーティション解決リソースと DISK ネットワークパーティション解決リソースを組合せて、ネットワークパーティション解決を行います。
ping 用装置の障害等により、全サーバと ping 用装置との通信に異常が発生している状態 2 では共有ディスク方式に切り替わります。これにより、PING方式のみの場合に比べ高い可用性を実現すると共に、ディスク方式のみの場合に比べ高速にネットワークパーティション解決を完了することができます。
PING ネットワークパーティション解決リソースを使用するサーバと、DISK ネットワークパーティション解決リソースを使用するサーバが一致する場合に、PING+DISK 方式として動作します。例えば、ハイブリッドディスク構成のクラスタで、特定サーバグループ内でのみ使用する DISK ネットワークパーティション解決リソースと、クラスタ全体で使用する PING ネットワーク解決リソースが設定されている場合、これらのリソースはそれぞれ独立して動作します。この場合に PING+DISK 方式で動作するように設定するには、DISK ネットワークパーティション解決リソースと同じサーバグループ内でのみ使用する PING ネットワーク解決リソースを追加する必要があります。
- 2
ハートビートが途絶する前に全サーバで [ping] コマンドの応答が返らない状態
6.7. ネットワークパーティション解決しない¶
共有ディスクを使用しないクラスタで選択できます。
ネットワークパーティション解決を行わないため、クラスタサーバ間の全ネットワーク通信路に障害が発生した場合には、全サーバがフェイルオーバを実行します。
6.8. ネットワークパーティション解決リソースの設定に関する注意事項¶
X 2.1 以前では上記 に示す、ネットワークパーティション解決リソースの組合せ以外が指定された場合、ネットワークパーティション解決を行っていませんでしたが、X 3.0 以降では上記の組合せ以外でも設定されたリソースに 従って、以下の順序でネットワークパーティション解決を行います。
PING 方式と DISK 方式
HTTP 方式 (X4.1 以降で追加)
PING 方式 (1.でネットワークパーティション解決処理を行っていた場合は実施しない)
DISK 方式 (1.または2.でネットワークパーティション解決処理を行っていた場合は実施しない)
多数決方式