高可用性クラスタ (コウカヨウセイクラスタ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

高可用性クラスタ (コウカヨウセイクラスタ) の読み方

日本語表記

高可用性クラスタ (コウカヨウセイクラスタ)

英語表記

High Availability Cluster (ハイ アベイラビリティ クラスター)

高可用性クラスタ (コウカヨウセイクラスタ) の意味や用語解説

高可用性クラスタとは、システムが停止することなくサービスを提供し続けるための仕組みである。これは、重要なアプリケーションやサービスが利用不能になる時間を最小限に抑えることを目的としている。単一のサーバーやコンポーネントが故障した場合でも、別のサーバーが自動的にその役割を引き継ぎ、システムの運用を継続させることで、ビジネスの中断を防ぎ、ユーザーに対して信頼性の高いサービス提供を実現する。システムの可用性(稼働し続ける能力)を極めて高いレベルに保つことが、その名の由来となっている。 詳細に説明すると、高可用性クラスタは複数の独立したコンピュータ(ノードと呼ぶ)をネットワークで接続し、あたかも一つのシステムであるかのように連携させることで機能する。これらのノードは互いの状態を常に監視し合っており、これをハートビートと呼ぶ。ハートビートは、ノード間で定期的に信号を送り合うことで、相手が正常に稼働しているか、あるいは応答不能になっているかを検知する仕組みである。ハートビートによって、あるノードに障害が発生したことが検知されると、クラスタソフトウェアが自動的に故障したノードで稼働していたサービス(IPアドレス、アプリケーション、データベース、データアクセスなど)を正常な別のノードへ切り替える。この切り替え処理をフェイルオーバーと呼び、手動での介入なしに行われるため、サービス停止時間を大幅に短縮できる。 フェイルオーバーを円滑に行い、サービスを継続するためには、全てのノードからアクセスできる共有ストレージが不可欠となる。これにより、アプリケーションが使用するデータが、どのノードがサービスを提供しても常に最新の状態で利用可能となる。共有ストレージ自体も、さらに冗長化(複数の部品で構成され、一つが故障しても全体が停止しないようにする仕組み)されていることが多い。クラスタの構成には主に二つの方式がある。一つはアクティブ-スタンバイ構成で、一方がサービスを提供し(アクティブノード)、もう一方は待機する(スタンバイノード)。アクティブノードに障害が発生した場合、スタンバイノードがアクティブに昇格し、サービスを引き継ぐ。この方式はシンプルで管理しやすいが、スタンバイノードのリソースが通常時は遊休状態となる。もう一つはアクティブ-アクティブ構成で、複数のノードが同時にサービスを提供し、負荷を分散する。この場合、一つのノードが故障しても残りのノードでサービスが継続されるが、故障したノード分の処理能力は失われるため、全体の処理能力は低下する可能性がある。 高可用性クラスタの導入は、サービス停止によるビジネス損失を大幅に削減し、ユーザーへの信頼性を向上させる大きなメリットがある。しかし、複数のサーバー、共有ストレージ、専用のクラスタソフトウェアが必要となるため、システム構築と運用は単一サーバーに比べて複雑であり、初期コストや運用コストも高くなる傾向がある。また、クラスタシステム特有の課題として「スプリットブレイン」問題がある。これは、ネットワーク障害などによりノード間の通信が途絶え、お互いが相手がダウンしたと誤判断し、同時にサービスを提供しようとすることで、共有ストレージへの競合アクセスやデータの一貫性喪失が発生する事態を指す。これを防ぐために、クラスタソフトウェアはフェンシング(Fencing)やSTONITH(Shoot The Other Node In The Head)と呼ばれる排他制御機構を備えている。これは問題が発生したノードを強制的に停止させたり、共有リソースへのアクセスを遮断したりすることで、サービスやデータの一貫性を保つ仕組みである。高可用性クラスタは、金融システムや医療システム、オンラインサービスなど、ミッションクリティカルなシステムにおいて、今日のITインフラを支える重要な技術の一つとなっている。

高可用性クラスタ (コウカヨウセイクラスタ) とは | 意味や読み方など丁寧でわかりやすい用語解説