助け合いフォーラム

LinuC

LinuC Lv3-304(Ver2.0)
問題ID : 28311
問題を開く
高可用クラスタにおいて、管理コンポーネントがクラスタ内ノードのエラーを検知した。トラブルシュートを実施したところ、当該ノードが既定の動作をしていないことがわかった。このとき、サービスの復旧を最優先と考える場合、選択肢としては以下のどれをとりうるか。二つ選べ。ただし、故障ノードの原因はハードウェアであるかソフトウェアであるかわかっていないものとする。

この問題はプレミアムコンテンツです。

上に戻る

スプリットブレインに関する記述について

投稿日 2023/05/29

問題ID 28311の解説内の下記文言について質問があります。

・故障ノードをクラスタノード間通信用ネットワークから切り離す
・故障ノードを再起動し、クラスタへ再参加させる
ノード間通信に支障がある場合、スプリットブレインを引き起こしますので誤りです。

スプリットブレインを引き起こすおそれがある場合、
「故障ノードをクラスタノード間通信用ネットワークから切り離す」のは正しい対応と認識しておりました。
そのためこちらの文章の理解が難しく、この箇所について補足説明をお願いできますでしょうか。

2023/05/30 21:00

「故障ノードをクラスタノード間通信用ネットワークから切り離す」のは正しい対応と認識しておりました。

この根拠となる資料や情報があると嬉しいです。

故障ノードの故障の仕方にもよりますけど、基本的にクラスタノード間通信用ネットワークを切断すると「対向ノードの状態が確認できない(サービス停止している可能性がある)」と判断してアクティブになるかと思います。その場合、二重アクティブによるスプリットブレインとなるかと思います。
切り離すならサービス提供用ネットワークかなと思います。


コメント

m mofu65

2023/06/02 14:02

ご回答いただきありがとうございます! 解説内容、理解いたしました。 > この根拠となる資料や情報があると嬉しいです。 教科書等のフェンシングの項目に「ノード障害が発生した場合、速やかに正常ノードと障害ノードの干渉を防ぎ、クラスタから障害ノードを切り離す必要があります。」とあり、 > 「故障ノードをクラスタノード間通信用ネットワークから切り離す」のは正しい対応と認識しておりました。 上記認識に至ってしまっていました。 この際の「クラスタから障害ノードを切り離す」という部分を「クラスタノード間通信用ネットワークから切り離す」と混同して読み違えておりました。 arashi1977様にご指摘いただいた通り、「クラスタから障害ノードを切り離す」というのは「サービス提供用ネットワークから切り離す」という意味あいなのですね。 ふわっと理解していた部分が明瞭になったので、質問してみて良かったです。 貴重なお時間を割いてご説明いただきありがとうございました。

a arashi1977

2023/06/02 14:13

なるほど、そういう説明だと「完全に故障ノードを孤立させる」という意味では間違ってはいないと思います。 この問題では「高可用性クラスタ内のノード」としか言われてないのでアクティブノードかどうかもわからないので判断が難しいなとは思うのですが、設問の > このとき、サービスの復旧を最優先と考える場合 を踏まえると、とりあえずスプリットブレインを回避しつつサービスが提供できる状態にするという意味で、 > 故障ノードをクラスタノード間通信用ネットワークから切り離す ではなく > 故障ノードのサービスを他のノードへ振り替える が正解なのかなと思います。 ちなみに、選択肢を3つ選べってなってたら間違いなくフェンシングの目的で「クラスタノード貫通信用ネットワークから切り離す」も選びますね。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?