システムの高可用性(信頼性)を実現するための仕組み「HAクラスタ構成」について紹介します。
クラスタ構成とは
「クラスタ」の本来の意味としては、「群れを成す」や「房になる」というものがあります。
IT用語における「クラスタ構成」は、複数のサーバを連携させて利用者や他のサーバから、全体で1台のサーバであるかのように動作させる技術です。
また、クラスタ構成環境を構築することを「クラスタリング(クラスタ化)」といいます。
クラスタリングの目的
大きく2つに分類できます。
(1) 拡張性(スケーラビリティ)
接続するサーバ台数を増やして、負荷分散(ロードバランサー)により、システム全体の性能向上を図る。
(2) 高可用性(アベイラビリティ)
サーバに障害が発生して1台が停止しても、システム全体としてはダウンさせずにサービスを提供し続ける。システムの信頼性を高める。
※本記事では、(2)高可用性を実現するためのクラスタリング技術を紹介します。
HAクラスタ構成とは
高可用性を目的としたクラスタ構成は、「HA(High Availability)クラスタ構成」と呼ばれます。「冗長化構成」とも呼ばれます。
最大の目的は、一部で障害が発生してもシステムを止めずに、サービスを提供し続けることにあります。
基本的に、アクティブサーバ(1台)+バックアップサーバ(1台以上)で構成され、アクティブサーバに障害が発生した場合にその障害を即座に探知して、バックアップサーバにメイン処理を移行させて、システム全体のサービスを継続します。
HAクラスタ構成におけるストレージ型
(1)共有ディスク型
アクティブサーバとバックアップサーバは、すべて1つのストレージ(ディスク)にアクセスするスタイルです。アクティブサーバからバックアップサーバに処理が移行しても、同じストレージにアクセスします。
大規模なクラスタ構成に対応できるため、データベースサーバなどに利用されます。
ただし、ストレージ側もHA化しておく必要があります。
(2)データミラー型
アクティブサーバとバックアップサーバ間で、ローカルディスクのミラーリングを行う構成です。アクティブサーバからバックアップサーバに処理が移行した場合、バックアップサーバのローカルディスクは、アクティブサーバのローカルディスクと同一になっているため、そのままサービスを継続できます。
低コストで構築できるため、小規模クラスタ構成に向いており、Web/APサーバなどに利用されています。
HAクラスタ構成 平常時の動き
平常時は、アクティブサーバ(A)(1台)がサービスを提供していて、バックアップサーバ(B)(1台以上)はスタンバイ(待機)状態です。
この時、HAクラスタリングシステムは、特に表立ったアクションは行いません。裏側で、アクティブサーバ(A)正常稼働チェック、ネットワーク正常稼働チェック、アプリケーション正常稼働チェックなど、さまざまな部分に対して監視活動を行っています。
HAクラスタ構成 障害発生時のフェイルオーバー
HAクラスタリングシステムが、アクティブサーバ(A)の障害発生を検知した場合、アクティブサーバ(A)のアプリケーションを停止、仮想IPアドレスを開放させて、アクティブサーバから降格させます。
その後、代理となるバックアップサーバ(B)に仮想IPアドレスを付与して、アプリケーションを起動、バックアップサーバ(B)をアクティブサーバに昇格させます。
※このアクティブサーバを入れ替える処理のことを、「フェイルオーバー」といいます。
仮想IPアドレスとは
仮想IPアドレスとは、他のサーバ、サービス、クライアントなどからのアクセスを受け付ける論理的なIPアドレスのことです。この仮想IPアドレスを複数のサーバ間で付け替えることで、外部からは1台のサーバであるかのように認識させ、フェイルオーバーを実現させます。
HAクラスタ構成 フェイルオーバー後の状態
フェイルオーバーの実行により、バックアップサーバから昇格したアクティブサーバ(B)がサービスを継続させます。
HAクラスタ2台構成の場合、残りのバックアップサーバが存在しない状態です。万が一、稼働中のアクティブサーバ(B)に障害が発生するとシステムダウンとなり、サービスの提供が止まってしまいます。可用性が大幅に下がってしまった状態ですので、早急にHAクラスタ構成を復旧させる必要があります。
HAクラスタ構成 復旧手順
一般的な復旧手順として、まず故障原因の解析に必要となる、対象サーバ(A)のログなどの情報収集後、サーバを停止させてクラスタ構成から切り離します。対象サーバ(A)に復旧措置を行い動作確認後、HA構成に復帰させます。
障害が発生して復旧措置を行ったサーバ(A)をバックアップサーバとして、HA構成に復帰させます。そのまま、バックアップサーバとしておくパターンもあります。バックアップサーバ(A)を手動でアクティブサーバに昇格させるパターンもあります。
※手動で、アクティブサーバとバックアップサーバを入れ替えることを、「フェイルバック」といいます。
まとめ
大規模構成ではもちろんのこと、小規模構成でもシステムの可用性と信頼性を高めるHAクラスタ構成は必要不可欠なものになってきています。HAクラスタ構成の組み方には、さまざまなパターン、さまざまなHAクラスタソリューションがあるので、システム要件に応じて適切なシステム構成を組み上げる必要があります。
HAクラスターの選定にあたって、どういった製品が良いか簡易診断付きの「HAクラスター製品選定ガイド」をご用意していますので是非ご活用ください。