マルチインスタンス・キュー・マネージャーは、スタンバイ・サーバー上で自動的に再始動します。
図 1 は、QM1 用のマルチインスタンス構成を示しています。 WebSphere® MQ は 2 つのサーバーにインストールされており、そのうちの 1 つは予備です。 1 つのキュー・マネージャー QM1 が作成されています。 QM1 の 1 つのインスタンスはアクティブであり、1 つのサーバー上で実行されています。 QM1 のもう 1 つのインスタンスは、もう一方のサーバーでスタンバイで実行中であり、アクティブ処理を何も行っていませんが、QM1 のアクティブ・インスタンスが失敗した場合に、そのアクティブ・インスタンスから処理を引き継ぐ用意ができています。
キュー・マネージャーをマルチインスタンス・キュー・マネージャーとして使用する場合、WebSphere MQ crtmqm コマンドを使用して、サーバーのいずれかに単一キュー・マネージャーを作成し、そのキュー・マネージャーのデータおよびログを共有ネットワーク・ストレージに配置します。 もう 1 つのサーバーでは、キュー・マネージャーを再作成するのではなく、WebSphere MQ addmqinf コマンドを使用して、ネットワーク・ストレージ上にあるキュー・マネージャーのデータおよびログへの参照を作成します。
これで、キュー・マネージャーをいずれかのサーバーから実行することができます。 それぞれのサーバーは、同じキュー・マネージャーのデータおよびログを参照します。存在するのは 1 つのキュー・マネージャーのみで、それが一度にアクティブになるのは 1 つのサーバー上のみです。
キュー・マネージャーは、単一インスタンスのキュー・マネージャーとして、あるいはマルチインスタンス・キュー・マネージャーとして実行できます。 どちらの場合も、キュー・マネージャーの 1 つのインスタンスのみが実行され、要求を処理します。 異なるのは、マルチインスタンス・キュー・マネージャーとして実行される場合、キュー・マネージャーのアクティブ・インスタンスを実行していないサーバーは、スタンバイ・インスタンスとして実行され、アクティブ・サーバーが失敗したときに自動的にアクティブ・インスタンスから処理を引き継ぐことができるという点です。
どちらが最初にアクティブになるインスタンスになるかについてユーザーが制御できるのは、2 つのサーバー上でキュー・マネージャーを開始する順番のみです。 キュー・マネージャーのデータに対する読み取り/書き込みロックを獲得する最初のインスタンスが、アクティブ・インスタンスになります。
もう一方のサーバーが始動したら、切り替えオプションを使用してアクティブ・インスタンスを停止し、制御をスタンバイに転送することによって、アクティブ・インスタンスをそちらのサーバーにスワップすることができます。
QM1 のアクティブ・インスタンスは、実行時に共有キュー・マネージャーのデータおよびログ・フォルダーに対する排他的アクセス権限を持ちます。 QM1 のスタンバイ・インスタンスは、アクティブ・インスタンスが失敗した時点を検出し、自らがアクティブ・インスタンスになります。 さらに、アクティブ・インスタンスが失敗したときの状態で QM1 データおよびログを引き継ぎ、クライアントおよびチャネルからの再接続を受け入れます。
キュー・マネージャーの構成情報を複数のサーバーに追加し、任意の 2 つのサーバーを選択してアクティブ/スタンバイのペアとして実行させることができます。