HAクラスターとは

HAクラスターとは1台のサーバーでは得られない可用性の向上を目的とし、
複数台のサーバを相互接続し連携構成(クラスタ)化することです。

システムを冗長化させ、コンピュータシステム全体の可用性(アベイラビリティ)を
高めることを目的としています。

1 可用性を高めるために
選択される主な手段

HAクラスター(クラスタリング)は、サーバーのシステム障害からの速やかな回復により高可用性を実現するシステムですが、システムの可用性を高めるために選択される手段としては、他にもさまざまなアプローチの手法があります。

7つの代表的な方法を挙げます。

可用性を高める方法 概要
RAIDを使用 適切なRAIDレベルでディスクを冗長化することにより、ストレージの可用性を高める。
ロードバランサを使用 複数Webサーバーに負荷分散をすることでパフォーマンスを向上するとともに、それぞれのサーバーの可用性を高める手段。
レプリケーション 稼動系サーバーと待機系サーバーとの間でデータを同期し、直近の状態への復旧を可能とすることでデータの可用性を高める手段。
詳細は前回記事で解説
HAクラスター CPU、メモリ、ディスク、ネットワーク等、サーバーのハードウェアを多重化することで可用性を高める。
仮想化基盤の機能を利用 障害の発生した仮想マシンが健全なハードウェア上で、復元される。ただし、監視レベルや障害からの復旧時間には注意が必要。
クラウドサービスの機能を利用 多くのIaaSには仮想化基盤と同様の機能が備わっているが、監視レベルやSLAの内容をしっかりと理解する必要がある。
詳細はこちらから。
DBMSの機能を利用 DBMS自体にレプリケーション機能が備わっているものもあるが、障害の自動検知や自動復旧を行うには、他の仕組みを組み合わせる必要があるケースもある。

2 システム障害からの速やかな回復を
実現するHAクラスターシステム

HAクラスターシステムのHAとは「High Availability」の略で、日本語では「高可用性」と訳されます。システムやサービスが停止・中断などにより利用できなくなる状態や時間を最小限にする、されている事を指します。システムの役割はユーザーが必要とする時、常に使える状態にあることですので、故障やサーバーダウンをせず、正常に稼働し続ける能力、つまり稼働率を高く保つことを目指します。
一方、「負荷分散クラスターシステム」(または「負荷分散クラスタリングシステム」)とは、複数台のサーバーを協調動作させ、あたかも1台のようにふるまうシステムを指します。

この仕組みにより、1台のサーバーに障害があっても、他のサーバーが作業を引き継ぎ、継続的に稼働することが可能になるのです。
したがって、「HAクラスターシステム」とは、1台のサーバーでは得られない可用性の向上を目的としたシステムということになります。

HAクラスターシステムの分類

HAクラスターシステムは、大きく以下に分類が可能です。

「フェイルオーバークラスター」
本番系のサーバーに障害があった際に
待機系への切り替えを行う
「負荷分散クラスター」
複数のサーバーで負荷分散を行い障害が発生した
サーバーを自動で切り離し、処理を継続

弊社のHAクラスタリング・ソフトウェアについて

3 障害・災害からの復旧時間と
HAクラスターの位置づけ

障害対策要件を検討する際、システムが再稼働するまでの時間であるRTO(Recovery Time Objective)とデータを戻す時点であるRPO(Recovery Point Objective)を考慮します。各ポイントを障害直前・直後に近づければ近づけるほど、障害が及ぼす業務への影響を小さくすることができますが、逆に投資額は大きくなります。したがって、システムごとにその復旧要件と、かけられるコストのバランスをとることが大切です。

今回は、RTOを考慮した代表的なソリューションであるHAクラスター(HAクラスタリング)とRPOを考慮したレプリケーションという2つのソリューションを見ていきます。

4 HAクラスターの位置づけと
導入に適したシステム

HAクラスターを導入したからと言って、復旧時間がゼロになるわけではありません。システムの要求水準によっては、さらに高いレベルの可用性を求められるものもあり得ます。可用性は、一般的に想定されるシステムの年間ダウンタイムの長さによって右記のように分類されますが、Availabilityクラスを上げるにはコストが掛かりますので、それぞれのシステムが許容する年間ダウンタイムを定義して判断する必要があります。
HAクラスターソフトウェアは、一般的に、フォールトレジリエントレベルの可用性を持つシステムを構築できるように設計されています。

ha-cluster_img02.png

HAクラスター/HAクラスタリング

HAクラスターシステムは、大きく以下に分類が可能です。

共有ディスク構成

稼働系、待機系に分けてサーバーやアプリケーションを二重化し、相互に監視します。
稼働系システムに異常が発生した時には、速やかに待機系に業務を引き継ぎ(=フェイルオーバー)、システムの稼働を継続します。

またこの際、待機系のサーバーが稼働系サーバーの業務を引き継ぐに当たっては、同じ状態の最新データを使える必要があるので、両サーバーからアクセス可能な共有ディスクを使用するか、レプリケーションという手段を使う必要があります。コストはかかりますが、人手を介さずに業務の継続性を高める手段として、多くの企業で採用されている方法です。

また、HAクラスタリング・ソフトウェアは、このサーバーの自動切り替えを行うことで、復旧時間の短縮を可能にするソフトウェアです。
弊社のHAクラスタリング・ソフトウェアについてはこちら
HAクラスターシステムは、大きく以下に分類が可能です。


データレプリケーション構成

サーバーを2台(または複数台)立て、リアルタイムでデータをコピー、同期する方法です。
サーバーを遠隔地に置けば、広域災害に向けたディザスタリカバリ策にもなり、直近のデータへの復旧ができます。

ただし、あくまでもデータ保護の施策ですので、サーバー・アプリケーションの再起動といった手作業が必要になり、障害状況によっては業務停止が発生します。
このシステムを復旧させるために必要な業務停止の時間は、稼働しているアプリケーションやサーバーのパフォーマンスなど、稼働しているシステム環境に大きく依存します。


5 HAクラスターの基本構成

サーバーが実行するサービスの引き継ぎ方法や構成にも複数のパターンがあります。

Active/Standby構成(スタンバイ構成)

HAクラスターにおいては最も基本的な構成です。監視対象となるアプリケーションは常に1つのサーバー上で稼動します。サービスが稼動しているサーバーを「アクティブサーバー」と呼びます。また、通常優先的にサービスを稼動させるサーバーを「プライマリーサーバー」と呼びます。

切り替え先となる「バックアップサーバー」では、サービスを稼動させず、通常は待機状態です。

障害が発生した場合には、アクティブサーバーからバックアップサーバーへサービスが切り替えられます。


Active/Active構成(相互スタンバイ構成)

HAクラスターを構成するサーバーそれぞれで、保護対象となっているアプリケーションがActiveとなっている状態や構成です。

稼働/待機の両系のサーバーを通常時から運用することで、サーバーリソースを有効に活用します。

図の例ではサーバーAではService①が稼動し、サーバーBではService②が稼動している状態です。仮にサーバーAが障害になった場合、Service①はサーバーBで動作するので、サーバーBで①②両方のServiceが稼働することになります。


N対1スタンバイ方式

N台のサーバーでそれぞれサービスを実行し、障害が起きた際には、待機系のサーバーによるサービス引き継ぎを実行します。

管理する対象が少なくなるため、コストを抑え、メンテナンスの負荷を軽減することができます。
ただし、フェイルオーバーが発生した際、パフォーマンス劣化が生じやすいというデメリットがあります。

Active/Active(相互Standby)とNx1を組み合わせたNxMも構成可能です。


具体的な製品を知りたい方へ!

仮想環境・クラウドでの可用性の課題を解決

HAクラスター製品選定ガイド

  • HAクラスターの基礎/選定のポイント
  • 主要なソフトウェアの特長と解説
  • 要件に合わせたHAクラスター簡易チャート

無料ダウンロード