システムを運用する際、HA構成を無視することはできません。HA構成やクラスタリングといった考え方は、システムを安定的に稼働させるために必要不可欠です。
この記事では、HA構成やクラスタリングの意味や種類などについて解説します。
HA構成とは?
HA構成とは、可用性が高められたシステム構成のことで、HAはHigh Availabilityの略で、「可用性が高い」という意味です。可用性とは、システムが継続して稼働できる能力のことで、つまりHA構成とは「高可用性を実現するための構成」という意味になります。
ここでいう「システムが安定して稼働する」というのは、「利用者がシステムを問題なく利用できる状態」を指します。つまり、裏側でサーバーなどに問題が起こっていたとしても、利用者から見てシステムに異変がない状態を保っていれば、可用性が保たれているということになるのです。「障害を発生させない」というだけではなく、「何らかの障害が発生してもシステムが利用できるように対策を取っている」ということが、高可用性という考え方です。
HA構成では複数のサーバーを使ってシステムを稼働させます。複数のサーバーを使うことで、可用性を維持することが可能になるためです。1台のサーバーで構成されたシステムは、そのサーバーに障害が発生するとシステムの利用に影響を及ぼしてしまいます。しかし、複数のサーバーで構成されていれば、1台のサーバーに障害が発生したとしても他のサーバーが処理を引き継ぐことができます。そのため、利用者はサーバーの障害が発生したとしても、システムを継続して利用できるのです。
また、障害を発生させないという観点からも、複数台のサーバーでシステムを構成することは有効です。複数のサーバーで処理を分担することで、アクセス増加や高負荷の処理などによるサーバーダウンを防ぐのです。
上記のような、複数のサーバーでシステムを構成する技術のひとつにクラスタリングと呼ばれるものがあります。クラスタリングとは、複数台のコンピューターをネットワークで繋ぎ、1台の大型コンピューターのように使用する技術のことです。クラスタリングはHA構成だけではなく、システム拡張の手段などにも使用されています。
HA構成は目的に応じて種類が分かれており、クラスタリングの中にもいくつか種類があります。サーバーに障害が発生したときの切り替え方法や、どの程度のレベルの可用性を求めるかなどによって、適した構成を選択しなければなりません。HA構成の例やクラスタリングの種類については、以下で解説します。
クラスタシステムの種類
クラスタリングを実現するクラスタシステムには、目的に応じていくつか種類があります。ここでは、HPCクラスタとHAクラスタについて解説します。
HPC クラスタ(High Performance Computing Cluster)
HPCクラスタとは、「High Performance」という名前の通り、システムのパフォーマンスを高めるためのクラスタシステムです。複数台のコンピューターを繋いで1台のコンピューターとして扱うため、繋ぐコンピューターの数が多いほど処理能力も高くなります。大きなものはスーパーコンピューターのひとつであると考えることもできます。膨大なデータを扱う数値解析やシミュレーションなど、科学技術の分野で活用されることが多いシステムです。
この場合、繋がれた1台1台のコンピューターはそれぞれ違った役割を担っています。例えば、計算処理を行うもの、計算用のコンピューターを取りまとめるもの、データベースの機能を担うものなど、様々です。
HA クラスタ(High Availability Cluster)
HAクラスタとは、可用性を高めるためのクラスタ構成のことをいいます。HAクラスタには、フェイルオーバー型や負荷分散型などの種類があります。
クラスタリングでは、構成するコンピューター1台1台のことを「ノード」と呼びます。フェイルオーバー型クラスタでは、メインで稼働しているノードに障害が発生しても、他のノードに切り替えることでシステム停止を防ぐことが可能です。この切り替え機能のことをフェイルオーバーというため、フェイルオーバー型クラスタと呼ばれています。
フェイルオーバー型クラスタでは、メインで稼働する稼働系ノードと、バックアップ用の待機系ノードの2グループに分けた構成を作ります。メインノードと待機ノードは仮想的に同じIPアドレスを持たせ、切り替えても問題なく稼働させることが可能です。アクティブ/スタンバイ型クラスタ、高可用密結合クラスタと呼ばれることもあります。
負荷分散型クラスタは、両現用構成をクラスタリングで実現したものをいいます(両現用構成の詳細についてはこの後解説します)。同じ役割を持つノードを複数稼働させることで、ひとつのノードに障害が発生しても他のノードでシステムを継続稼働させることが可能です。
負荷分散型クラスタは、実サーバーと呼ばれる実際に処理を行うノードと、ロードバランサと呼ばれる実サーバーへ処理を割り振るノードで構成されます。複数のノードで処理を分担することにより、高負荷による処理速度遅延やシステムダウンを防ぐことができます。また、1台のサーバー構成よりもパフォーマンスを高めることも可能です。負荷分散型クラスタは、アクティブ/アクティブ型クラスタ、密結合並列クラスタと呼ばれることもあります。
HA構成の例
HA構成には種類があり、それぞれの特徴を把握して構成を検討する必要があります。ここでは、HA構成の例を4つ紹介します。
コールドスタンバイ構成
コールドスタンバイ構成とは、メインで稼働するサーバーの他に、電源を切った状態の予備サーバーを待機させておく構成のことです。メインサーバーが何らかの理由で稼働できなくなったとき、予備サーバーに手動または自動で切り替えることでシステムを継続して利用できるようにします。
コールドスタンバイの場合、予備サーバーには電源が入っていないため、障害発生から予備サーバーへの切り替えまでに多少の時間や手間がかかってしまうという点がデメリットです。メインサーバーの障害時には一時的にシステム停止が発生してしまうことがあるため、そのリスクを把握しておかなければなりません。処理中のデータなどが一部消えてしまう可能性もあります。
一方、コールドスタンバイは構成が比較的単純で運用の手間が省けるというメリットがあります。また、平常時に予備サーバーの電源を切っておくことは、コストの削減にもつながります。メインサーバーと同時に稼働させることがなければ、ライセンス費用なども1台分で抑えられることもあります。一時的なシステム停止を許容できるシステムであれば、コールドスタンバイでコストを抑えながら可用性を高めるという選択肢もあります。
ホットスタンバイ構成
ホットスタンバイ構成とは、コールドスタンバイ構成と同様にメインサーバーの他に予備サーバーを待機させておく構成です。コールドスタンバイとの違いは、予備サーバーに電源を入れた状態で待機させることです。そのため、メインサーバーに異常があった場合はすぐに予備サーバーに切り替えることができ、システム停止時間を最小限にした切り替えが可能です。数ミリ秒で切り替えが完了することもあり、利用者は障害が発生してサーバーが切替わったということに気づかない場合もあります。
コールドスタンバイと比べて可用性が高く、処理中のデータも一部引き継げるものがあるなど、障害発生時の損失が少ないことがホットスタンバイのメリットです。金融系など、短時間のシステム停止でも大きな問題に発展するようなシステムは、ホットスタンバイ構成を採用するケースが多いです。
一方、ホットスタンバイのデメリットとして構成の複雑さと運用コストが高いことが挙げられます。予備としてハードウェアもソフトウェアもメインサーバーと同じものを用意し、常に稼働させておく必要があります。データの同期などの対応も必要になり、構成が複雑になることも少なくありません。
両現用構成(負荷分散構成)
両現用構成は負荷分散構成ともいい、その名の通りサーバーにかかる負荷を分散するための構成のことをいいます。同じ処理を行える複数のサーバーを用意し、常時全てのサーバーが処理を担う状態になっています。大量のアクセスや負荷の高い計算などが発生した場合でも、複数台に処理を分散させることで、過剰な負荷でサーバーがダウンすることを防ぐことが可能です。
もし、いずれかのサーバーに障害が発生したとしても、残りのサーバーで問題なく処理を行うことが可能で、システム停止は発生しません。常に全てのサーバーが稼働している状態のため、コールドスタンバイやホットスタンバイのように「予備への切り替え」が発生することはなく、可用性の非常に高い構成といえます。
災対構成
災対構成とはDR(Disaster Recovery)とも呼ばれる、災害が発生した場合でもシステムの可用性を維持するための構成のことです。地震や水害、停電などによってデータセンターなどが被害を受けた場合、その一ヵ所にシステムが集まっていると全てのシステムが使えなくなってしまいます。メインのデータセンターとは離れた場所にバックアップや切り替え用のシステムを用意しておくことで、災害発生時でもシステムを稼働させることが可能です。このような構成のことを、災対構成といいます。
まとめ
HA構成やクラスタリングは、システム停止を最小限にし、安定した稼働を継続するための構成です。システムの停止は業務に影響が出るだけでなく、顧客からのクレームやビジネスチャンスの喪失を招く可能性もあるため、しっかり対策を講じておかなければなりません。その一方で、性能と費用の兼ね合いを見極めることも重要です。求める可用性レベルはシステムの用途によって変わります。
例えば、たくさん費用をかければシステム停止時間ゼロを目指すこともできますが、そこまでの性能がなくても運用に支障のないシステムもあるでしょう。そこで、かかる費用と本当に必要とする性能のバランスが良いのが、HAクラスタです。
LifeKeeperは、システムの稼働状態を監視し、障害が発生した場合は自動的に待機系に切り替えを行えるHAクラスタソフトウェアです。システムの可用性を高めたいと検討している人は、ぜひ一度下記ページもご参照ください。
最後に
弊社のHAクラスタソフト『LifeKeeper』についてのオンライン相談窓口を開設しております。「他社製品との違いが知りたい」「LifeKeeperの見積が欲しい」等のご要望はもちろん、「HA構成の構築を考えているけど、疑問がたくさん…その場で全部質問したい」「文章にすると長くなってしまうので、口頭+画面共有でその場で解決したい」といったお悩みを、オンラインで気軽に相談できます。
フォームから簡単にお申込みいただけますので、詳しくは下記サイトをご覧ください。