11. 高可用性設計
11.1 MQの可用性を高める構成
キュー・マネージャーの高可用性を実現するためには、次の3つの構成方法があります。
1.MQクラスター構成
2.高可用性のためのソフトウェアを利用したフェールオーバー構成
3.マルチインスタンス・キューマネージャー構成
その他、SYSPLEX環境のホストシステムでは、複数のキュー・マネージャーで1つのキューを共用できる”共用キュー構成”をとることも出来ます(この章で詳細のは説明しません。)。
これら3つの構成を選択する際のポイントを簡単に説明します。
お客様の環境で要求されるサービス・レベルに応じて、適切な構成を選択してください。
ノン・パーシステント・メッセージを利用している場合は、キュー・マネージャーをクローン化して1のMQクラスター構成をとることで、水平拡張を実現します。MQクラスター構成では、クラスター・キューへの送信メッセージの振り分けを行い、障害時には振り分け停止を自動で行います。
パーシステント・メッセージを利用している場合は、2または3の構成によってキュー・マネージャーを別サーバーにフェールオーバーすることで、メッセージの消失をなくします。
2と3の選択ポイントは、切り替えの時間とネットワーク・アドレスの引継ぎです。2の高可用性ソフトウェアを利用すると共有ディスクとネットワークアドレスも引き継ぐことができますが、切り替え時間は分単位になります。障害時に解消しなければいけないトランザクション量にもよりますが、例えばHACMPで分程度見込んでおく必要があります。一方、3のマルチインスタンス・キュー・マネージャーは、数十秒で切り替わりますが、ネットワーク・アドレスは引き継ぎません。
フェールオーバー中はキュー・マネージャーが停止しますので、2や3の構成にMQクラスター構成を組み合わせて、さらに可用性を高めることも可能です。
詳細はInfoCenterの
「MQクラスター」については、「キュー・マネージャー・クラスター」を、
「HA構成」については、
あるいは
を、
をご参照ください。
11.2 MQクラスター
MQクラスターとは、複数のキュー・マネージャーを論理的に関連付ける事によって様々なメリットを提供する仕組みです。MQクラスターは主に次のようつのメリットを提供します。詳細についてはInfoCenterの、「キュー・マネージャー・クラスター」をご参照ください。
①MQメッセージレベルの負荷分散
同一MQクラスターに属する複数のキューマネージャーが同一名のクラスターキューを有する場合、そのクラスターキューに対するメッセージ送信をラウンドロビン等の方式で負荷分散する事が可能となります。原則アプリケーションへの影響はなく、MQの定義だけで実現できることが特長です。
②高可用性の実現
上記MQメッセージレベルの負荷分散を行っている場合、キューマネージャーの高可用機能を提供し、単一のキューマネージャー障害がシステム全体の障害とならないような構成を取ることが可能です。障害を起こしたキューマネージャーは自動的にメッセージ送信対象から外され、かつ、そのキューマネージャーが復旧した際にはチャネルの再接続のみで再びメッセージ送信対象に加えることが可能です。高可用性ソフトウェアが不要で、運用も簡素である事が特長です。
③MQオブジェクト定義管理の省力化
従来のMQメッセージ転送と比較して、必要となるオブジェクト定義が簡素化されます。例えば、リモートキュー定義が不要であること、転送キューはMQクラスター専用の単一の転送キューを共用するため接続先が増えても追加定義が不要であること、必要最小限のチャネル定義以外は自動生成される事がメリットとして挙げられます。特に大規模なMQネットワークにおいて運用負荷低減の効果が大きくなります。
この節では、MQクラスターのメリットのうち、「②高可用性の実現」について詳しく説明していきます。
まず、MQクラスターを使用した典型的な冗長構成例と、正常稼働時の動作を図1に示します。