[OpenShift Container Platform][IBM MQ Advanced]

IBM MQ コンテナーのネイティブ HA キュー・マネージャーの状況の表示

IBM® MQ コンテナーの場合、実行中のいずれかのポッド内で dspmq コマンドを実行することで、ネイティブ HA インスタンスの状況を表示できます。

本タスクについて

実行中のポッドのうち 1 つで dspmq コマンドを使用すると、キュー・マネージャー・インスタンスの運用状況を表示できます。 返される情報は、インスタンスがアクティブとレプリカのどちらであるかに応じて異なります。 アクティブ・インスタンスで提供される情報が確定的なもので、レプリカ・ノードからの情報は古くなっている可能性があります。

以下のアクションを実行できます。
  • 現行ノード上のキュー・マネージャー・インスタンスがアクティブかレプリカを表示します。
  • 現行ノード上のインスタンスのネイティブ HA の運用状況を表示します。
  • ネイティブ HA 構成に属する 3 つのインスタンスすべての運用状況を表示します。
以下の状況フィールドが、ネイティブ HA 構成状況の報告に使用されます。
ROLE
これは、現行インスタンス・ロールを指定します。これは、ActiveReplica、または Unknown のいずれかです。
INSTANCE
このキュー・マネージャー・インスタンスの作成時に crtmqm コマンドの -lr オプションを使用してこのキュー・マネージャー・インスタンスに対して指定された名前。
INSYNC
必要な場合にインスタンスがアクティブ・インスタンスとしてテークオーバーできるかどうかを示します。
QUORUM
クォーラムの状況を number_of_instances_in-sync/number_of_instances_configured という形式でレポートします。
REPLADDR
キュー・マネージャー・インスタンスの複製アドレス。
CONNACTV
ノードがアクティブ・インスタンスに接続されているかどうかを示します。
BACKLOG
このインスタンスがどれだけ遅れているかを KB 数で示します。
CONNINST
指定されたインスタンスがこのインスタンスに接続されているかどうかを示します。
ALTDATE
この情報が最後に更新された日付を示します (更新されたことがない場合にはブランク)。
ALTTIME
この情報が最後に更新された時刻を示します (更新されたことがない場合にはブランク)。

手順

  • キュー・マネージャーの一部であるポッドを見つけます。
    oc get pod --selector app.kubernetes.io/instance=nativeha-qm
  • いずれかのポッドで dspmq を実行します
    oc exec -t Pod dspmq
    oc rsh Pod
    対話式シェルの場合は、dspmq を直接実行できる場所です。
  • キュー・マネージャー・インスタンスがアクティブ・インスタンスとして実行されているか、それともレプリカとして実行されているか判別するには、次のようにします
    oc exec -t Pod dspmq -o status -m QMgrName
    BOB という名前のキュー・マネージャーのアクティブ・インスタンスからは、次の状況が報告されます
    QMNAME(BOB)                 STATUS(Running)
    BOB という名前のキュー・マネージャーのレプリカ・インスタンスからは、次の状況が報告されます
    QMNAME(BOB)                 STATUS(Replica)
    非アクティブ・インスタンスからは、次の状況が報告されます
    QMNAME(BOB)                 STATUS(Ended Immediately)
  • 指定されたポッド内のインスタンスのネイティブ HA 運用状況を判別するには、次のようにします
    oc exec -t Pod dspmq -o nativeha -m QMgrName
    BOB という名前のキュー・マネージャーのアクティブ・インスタンスからは、次のような状況が報告されます
    QMNAME(BOB)               ROLE(Active) INSTANCE(inst1) INSYNC(Yes) QUORUM(3/3)
    BOB という名前のキュー・マネージャーのレプリカ・インスタンスからは、次のような状況が報告されます
    QMNAME(BOB)               ROLE(Replica) INSTANCE(inst2) INSYNC(Yes) QUORUM(2/3)
    BOB という名前のキュー・マネージャーの非アクティブ・インスタンスからは、次のような状況が報告されます
    QMNAME(BOB)               ROLE(Unknown) INSTANCE(inst3) INSYNC(no) QUORUM(0/3)
  • ネイティブ HA 構成内のすべてのインスタンスのネイティブ HA 運用状況を判別するには、次のようにします
    oc exec -t Pod dspmq -o nativeha -x -m QMgrName
    キュー・マネージャー BOB のアクティブ・インスタンスを実行しているノード上でこのコマンドを発行すると、以下のような状況が表示されます
    QMNAME(BOB)			ROLE(Active) INSTANCE(inst1) INSYNC(Yes) QUORUM(3/3)
     INSTANCE(inst1) ROLE(Active)  REPLADDR(9.20.123.45) CONNACTV(Yes) INSYNC(Yes) BACKLOG(0) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
     INSTANCE(inst2) ROLE(Replica) REPLADDR(9.20.123.46) CONNACTV(Yes) INSYNC(Yes) BACKLOG(0) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
     INSTANCE(inst3) ROLE(Replica) REPLADDR(9.20.123.47) CONNACTV(Yes) INSYNC(Yes) BACKLOG(0) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
    
    キュー・マネージャー BOB のレプリカ・インスタンスを実行しているノード上でこのコマンドを発行すると、以下のような状況が表示されます。これは、レプリカの 1 つで処理が遅れていることを示しています
    QMNAME(BOB)			ROLE(Replica) INSTANCE(inst2) INSYNC(Yes) QUORUM(2/3)
     INSTANCE(inst2) ROLE(Replica) REPLADDR(9.20.123.46) CONNACTV(Yes) INSYNC(Yes) BACKLOG(0) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
     INSTANCE(inst1) ROLE(Active)  REPLADDR(9.20.123.45) CONNACTV(Yes) INSYNC(Yes) BACKLOG(0) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
     INSTANCE(inst3) ROLE(Replica) REPLADDR(9.20.123.47) CONNACTV(Yes) INSYNC(No)  BACKLOG(435) CONNINST(Yes) ALTDATE(2022-01-12) ALTTIME(12.03.44)
    

    キュー・マネージャー BOB の非アクティブ・インスタンスを実行しているノード上でこのコマンドを発行すると、以下のような状況が表示されます

    QMNAME(BOB)			ROLE(Unknown) INSTANCE(inst3) INSYNC(no) QUORUM(0/3)
     INSTANCE(inst1) ROLE(Unknown) REPLADDR(9.20.123.45) CONNACTV(Unknown) INSYNC(Unknown) BACKLOG(Unknown) CONNINST(No) ALTDATE() ALTTIME()
     INSTANCE(inst2) ROLE(Unknown) REPLADDR(9.20.123.46) CONNACTV(Unknown) INSYNC(Unknown) BACKLOG(Unknown) CONNINST(No) ALTDATE() ALTTIME()
     INSTANCE(inst3) ROLE(Unknown) REPLADDR(9.20.123.47) CONNACTV(No) INSYNC(Unknown) BACKLOG(Unknown) CONNINST(No) ALTDATE() ALTTIME()
    

    どのインスタンスがアクティブでどれがレプリカになるかをまだネゴシエーションしている間にコマンドを発行すると、次の状況が表示されます

    QMNAME(BOB)              STATUS(Negotiating)