HAクラスタ
複数のコンピュータを協調させ、故障時に別のコンピュータへ処理を引き継ぐことで、サービスの停止を抑える構成。障害を検知して処理を切り替える動作をフェイルオーバーという。
イマシルちゃんの解説
HAクラスタは、複数のサーバを協調させてサービスの停止を短くする構成だよ。
サーバやサービスの動作を監視して、異常が起きたら別のサーバで処理を続けられるように備えるんだ。
障害を検知して処理を切り替える動作をフェイルオーバーというよ。
切替え先でも必要なデータを使えるようにしておくことが大切なんだ。
同じデータを複数のサーバが勝手に書き換えないよう、処理を任せる相手も管理するよ。
切替え中に一時的に使えなくなる場合はあるけれど、故障したサーバの修理を待たずにサービスを再開できるんだ。
この解説はわかりやすかったですか?
より深い解説
複数の計算機を協調させる
クラスタリングは、複数の計算機を協調動作させる構成の技術である。目的には処理性能の向上や負荷分散もあり、すべてのクラスタが障害時の引継ぎを目的とするわけではない。HAクラスタでは可用性を重視する。
| 構成 | 通常時 | 障害時 |
|---|---|---|
| アクティブ・スタンバイ | 一方が処理し、他方が待機する | 予備側が引き継ぐ |
| アクティブ・アクティブ | 複数台が処理を分担する | 生き残った側へ処理を寄せる |
障害時の処理能力を考えて余裕を持たせる。台数だけを増やしても、共用ストレージや電源が単一障害点のままなら、そこが停止するとサービスも止まる。
検知と切替え
ノード間では、定期的な生存確認であるハートビートなどを用いる。異常を検出したら、サービス、共有ディスクの利用権、仮想IPアドレスなどを安全に移す。
通信が途絶えただけなのか、相手が停止したのかは区別しにくい。双方が自分を稼働系と判断するスプリットブレインは、共有データの破損につながりうる。投票によるクォーラムや、旧稼働系を隔離するフェンシングが重要になる。
似た対策との区別
| 用語 | 対象と役割 |
|---|---|
| コールドスタンバイ | 待機機を停止状態などで準備し、障害後に起動して切り替える |
| ホットスワップ | システムを動かしたまま対応する部品を交換する |
| ミラーリング | 同じデータを複数の媒体へ複製する |
| ロードバランサ | 要求を複数の処理先へ振り分ける |
ミラーリングは媒体故障への対策になるが、誤った更新も両方へ反映される。過去の状態に戻すバックアップとは目的が違う。
通信中の状態も同期する
ファイアウォールやロードバランサなどで、処理中の接続情報を待機側へ同期してから切り替える方式をステートフルフェールオーバという。ステートフルフェイルオーバーとも表記する。
| 引き継ぐ情報 | 例 |
|---|---|
| 機器の設定 | 許可ルール、インタフェース、NATの設定など |
| 実行中のセッション情報 | 接続相手のIPアドレスとポート、TCPの状態など |
| 動的な変換対応 | 現在の通信が利用するNATテーブルの対応など |
設定をコピーするだけでは、すでに確立した通信の途中経過は伝わらない。アクティブ側が持つセッション情報を同期用のリンクなどでスタンバイ側へ送り、切替後も既存通信と判断できるようにする。
例えば途中のTCPパケットだけが待機側へ届いても、接続記録がなければ新規接続として受け付けられず遮断する場合がある。状態を引き継ぐことで再接続を減らせるが、同期できる通信や機能は製品によって異なる。同期リンクの障害、更新の遅延、切替中のパケット損失も確認する。
VRRPで仮想IPアドレスの担当を引き継ぐことと、ファイアウォールの接続状態を引き継ぐことは別である。VIPの切替えだけで、すべての接続がそのまま継続するとは限らない。
引継ぎの限界
切替え中の通信や処理は中断する場合がある。再接続、再試行、未完了の処理の回復まで設計して初めて利用者の影響を抑えられる。切替え機構があることと、停止時間がゼロであることは同義ではない。
参考資料
実際の試験ではここに出る!全2問
ネットワークスペシャリスト
- 午後Ⅱ
テクニカルエンジニア(ネットワーク)
- 午前