Sun Java System Messaging Server 6.3 管理ガイド

3.2 高可用性モデル

Messaging Server で使用可能な高可用性モデルは各種あります。基本的なモデルは次の 3 つです。

それぞれのモデルの詳細については、以降の項で説明します。また、次の内容について扱います。

HA 製品の違いによって、サポートされるモデルも異なるとは限りません。サポートされるモデルを判断するには、HA のマニュアルを参照してください。

3.2.1 非対称

基本的な非対称 (ホットスタンバイ) 高可用性モデルは、2 つのクラスタ化されたホストマシン (ノード) で構成されます。1 つの論理 IP アドレスおよび 1 つの関連付けられたホスト名が両方のノードに指定されます。

このモデルでは、常に 1 つのノードだけがアクティブであり、バックアップ (ホットスタンバイ) ノードは、ほとんどの時間がアイドル状態です。両方のノード間に単一の共有ディスクアレイが構成され、アクティブノードまたは第一のノードにより管理されます。メッセージストアのパーティションと Mail Transport Agent (MTA) キューは、この共有ボリュームにあります。

図 3–1 非同期高可用性モード

このイメージは、HA 非同期モデルを示しています。

この図は 2 つの物理ノード、物理-A および物理-B を示しています。フェイルオーバー前のアクティブなノードは物理-A です。フェイルオーバーが発生すると、物理-B がアクティブなノードになり、共有ボリュームが物理-B によって管理されるように切り替えられます。物理-A ですべてのサービスが停止し、物理-B ですべてのサービスが起動します。

このモデルの利点は、バックアップノードが第一のノード専用に、完全に予約されていることです。また、フェイルオーバーが発生したときにバックアップノードでリソースの競合はありません。ただしこのモデルでは、ほとんどの時間、バックアップノードがアイドル状態であるため、このリソースは十分に活用されていません。

3.2.2 対称

基本的な対称 (「デュアルサービス」) 高可用性モデルは、2 つのホスティングマシンで構成され、それぞれのマシンには専用の論理 IP アドレスが割り当てられています。論理ノードにはそれぞれ 1 つの物理ノードが関連付けられ、各物理ノードは 2 つのストレージボリュームを持つ 1 つのディスクアレイを制御します。一方のボリュームは、ローカルのメッセージストアパーティションおよび MTA キューに使用され、もう一方のボリュームは、相手ノードのメッセージストアパーティションおよび MTA キューのミラーイメージに使用されます。

次の図は、対称高可用性モードを示しています。両方のノードは同時にアクティブであり、それぞれのノードは、お互いのバックアップノードとして機能します。通常の状態では、各ノードで Messaging Server のインスタンスを 1 つだけを実行しています。

図 3–2 同期高可用性モード

このイメージは、HA 同期モデルを示しています。

フェイルオーバーが発生すると、障害の発生したノード上のサービスがシャットダウンし、バックアップノード上のサービスが再起動します。この時点で、バックアップノードは両方のノードに対して Messaging Server を実行し、2 つの個別のボリュームを管理しています。

このモデルの利点は、両方のノードが同時にアクティブであるため、マシンのリソースを最大限に利用できる点にあります。ただし障害発生中は、バックアップノードが両方のノードに対して Messaging Server のサービスを実行するため、リソースの競合が起きやすくなります。そのため、障害の発生したノードをなるべく早く修復し、サーバーをデュアルサービス状態に戻すようにしてください。

このモデルでは、バックアップストレージアレイも提供されます。ディスクアレイで障害が発生した場合は、バックアップノードのサービスで冗長イメージを選択できます。

対称モデルを構成するには、共有ディスクに共有バイナリをインストールする必要があります。こうすることで、順次アップグレード (Messaging Server のパッチリリース中にシステムをアップグレードできる機能) が実行できなくなります。(この機能は将来のリリースで計画されています。)

3.2.3 N+1 (N Over 1)

N + 1 (または「N over 1」) モデルは、複数ノードの非対称構成で処理されます。N 個の論理ホスト名と N 個の共有ディスクアレイが必要です。1 つのバックアップノードが、ほかのすべてのノードのホットスタンバイとして予約されています。バックアップノードは、N 個のノードに対して Messaging Server を並列実行できます。

次の図は、基本的な N + 1 高可用性モデルを示しています。

図 3–3 N + 1 高可用性モード

この図は、N+1 HA モデルを示しています。

1 つ以上のアクティブなノードでフェイルオーバーが発生すると、バックアップノードが障害の発生したノードの処理を引き受けます。

N + 1 モデルの利点は、サーバーの負荷を複数のノードに分散できること、および起こり得るノード障害のすべてに対処するために必要なバックアップノードが 1 つだけであることです。つまり、単体の非対称モデルの場合のマシンアイドル比が 1/1 であるのに対し、このモデルでは 1/N になります。

N+1 モデルを構成するには、バイナリをローカルディスクのみにインストールする必要があります (対称モデルのような共有ディスクではない)。現在の Messaging Server インストールおよび設定プロセスでは、対称、1+1/N+1 の非対称/対称 HA ソリューションの場合、共有ディスク上にバイナリが配置されます。

3.2.4 高可用性モデルの選択

それぞれの高可用性モデルの長所と短所について、次の表にまとめます。この情報は、配備にどのモデルが適切であるかを判断するのに役立ちます。

表 3–2 HA モデルの比較

モデル 

長所 

短所 

推奨されるユーザー 

非対称 

  • シンプルな構成

  • バックアップノードは 100% 予約されている

マシンリソースは最大限に使用されていない。 

将来の拡張を計画している小規模なサービスプロバイダ 

対称 

  • システムリソースの使用が良好

  • 高い可用性

バックアップノードにおけるリソースの競合。 

HA で完全に冗長なディスクが必要。 

単一サーバーの障害時におけるパフォーマンスの低下を許容する、小企業での配備 

N + 1 

  • 負荷分散

  • 容易な拡張

複雑な管理および構成。 

リソースの競合なしで分散を必要とする、大規模なサービスプロバイダ  

3.2.5 システムダウンタイムの計算

次の表は、ある日、システム障害によりメッセージングサービスが利用できなくなる可能性を示しています。この計算では、平均して、各サーバーはシステムのクラッシュやサーバーのハングアップが原因で 3 か月に 1 日ダウンし、各ストレージデバイスは 12 か月に 1 日ダウンすると仮定しています。また、両方のノードが同時にダウンするという小さい可能性は無視しています。

表 3–3 HA ダウンの可能性

モデル 

サーバーダウンタイムの可能性 

単体のサーバー (高可用性なし) 

可能性 (ダウン) = (システムダウン 4 日 + ストレージダウン 1 日)/365 = 1.37% 

非対称 

可能性 (ダウン) = (システムダウン 0 日 + ストレージダウン 1 日)/365 = 0.27% 

対称 

可能性 (ダウン) = (システムダウン 0 日 + ストレージダウン 0 日)/365 = (ほぼ 0) 

N + 1 非対称 

可能性 (ダウン) = (システムダウン 5 日 + ストレージダウン 1 日)/(365 × N) = 0.27%/N