Db2 または Db2 Warehouse サービス・インスタンスのアップグレードの失敗のトラブルシューティング

Db2またはDb2 Warehouseを5.0.xから5.2.0にアップグレードした後、Db2またはDb2 Warehouseサービス・インスタンスのアップグレード時に障害シナリオが発生する可能性があります。

症状

  1. Db2 または Db2 Warehouse に対して cpd-cli service-instance status コマンドを実行します。
    cpd-cli service-instance status ${INSTANCE_NAME} \ 
    --profile=${CPD_PROFILE_NAME} \ 
    --service-type=db2oltp
    cpd-cli service-instance status ${INSTANCE_NAME} \ 
    --profile=${CPD_PROFILE_NAME} \ 
    --service-type=db2wh
    以下の例は、Db2 Warehouseの出力例を示しています。
    Namespace     Service type           Version                ID                           Name                         Provision status    Service status
    ---------     -------------       ---------------      ---------------         --------------------------------       -----------------     ----------------
    thanos          db2wh           11.5.9.0-cn1-amd64      1748927344077963       db2wh_smp_nondedicated_separate_4k     UPGRADE_IN_PROGRESS       FAILED                                          
  2. 以下の環境変数の値を設定します。 以下の例は、前の出力から割り当てられた値を持つ環境変数を示しています。

    CURRENT_DB_VERSION=11.5.9.0-cn1
    UPGRADING_DB_VERSION=12.1.2.0
    INSTANCE_ID=db2wh-1748927344077963
    PROJECT_CPD_INST_OPERANDS=thanos
  3. アップグレード・ジョブのログを確認します。
    oc logs  $(oc get po -n ${PROJECT_CPD_INST_OPERANDS} |  grep c-${INSTANCE_ID}-${CURRENT_DB_VERSION}-to-${UPGRADING_DB_VERSION} | cut -f1 -d' ') -n ${PROJECT_CPD_INST_OPERANDS} | grep "start wolverine service" -A20
    以下のメッセージが表示されます。HA Management could not be started:
    [2025-06-04 22:29:38,068] - INFO: start wolverine service
    Traceback (most recent call last):
      File "/usr/local/bin/db2_update_upgrade", line 33, in <module>
        sys.exit(load_entry_point('db2u_containers==1.0.0.dev1', 'console_scripts', 'db2_update_upgrade')())
      File "/usr/local/lib/python3.9/site-packages/cli/db2_update_upgrade.py", line 20, in main
        EngineUpdateUpgrade().execute(
      File "/usr/local/lib/python3.9/site-packages/upgrade/builder.py", line 103, in execute
        uu.do_execute(instance=instance, databases=databases, post_upgrade=post_upgrade)
      File "/usr/local/lib/python3.9/site-packages/upgrade/update_upgrade.py", line 114, in do_execute
        self.execute(instance=instance, databases=databases, post_upgrade=post_upgrade)
      File "/usr/local/lib/python3.9/site-packages/upgrade/update_upgrade.py", line 138, in execute
        self.post_update_upgrade()
      File "/usr/local/lib/python3.9/site-packages/upgrade/update_upgrade.py", line 227, in post_update_upgrade
        self._instance._wolverine.init()
      File "/usr/local/lib/python3.9/site-packages/utils/wolverine/wolverine.py", line 45, in init
        self._cmdr.execute("wvcli system init --force")
      File "/usr/local/lib/python3.9/site-packages/utils/command_runner/command.py", line 124, in execute
        raise CommandException(
    utils.command_runner.command.CommandException: Command failed to run:Command returned a non-zero returncode: stdout: ok: down: wolverine: 1s
    Stopping HA Management on node 'c-db2wh-1748927344077963-db2u-0'...
    Starting HA Management on node 'c-db2wh-1748927344077963-db2u-0'...
    Waiting for HA Management to come online...
    Error: timeout reached. HA Management could not be started. See ha.log for details.
    , stderr:  and returncode: 1
    command terminated with exit code 1

問題の解決方法

Db2またはDb2 Warehouseサービス・インスタンスのアップグレードの失敗の問題を解決するには、以下の手順を実行します。
  1. db2u ポッドに入ることで HA Management 状態を確認します。
    oc rsh c-${INSTANCE_ID}-db2u-0 bash
    以下の例は、コマンドの出力を示しています。
    Defaulted container "db2u" out of: db2u, init-labels (init), init-kernel (init)
    [db2uadm@c-${INSTANCE_ID}-db2u-0 /]$ su - db2inst1
    Last login: Fri Jun  6 14:42:31 UTC 2025
    [db2inst1@c-${INSTANCE_ID}-db2u-0 - Db2U db2inst1]$ wvcli system status
    HA Management is RUNNING at 2025-06-06 14:42:42.568.
    HA ManagementRUNNING状態の場合は、ステップ 3 にナビゲートします。
  2. HA ManagementRUNNING状態でない場合は、wolverine を再始動します。
    `wvcli system init --force`
     
    check the databases is active
    
    `db2 list active databases`
  3. .spec.resource_configs.m.env.upgrade/podname: 11.5.9.0-cn1-to-12.1.2.0行を削除して形成を終了できるように、形成にパッチを適用します。
    oc patch formation ${INSTANCE_ID} -n ${PROJECT_CPD_INST_OPERANDS} --type=json -p='[{"op": "remove", "path": "/spec/resource_configs/m/env", "value": "upgrade/podname"}]'
  4. Db2uCluster または Db2uInstance の状況がReady状態に変わったことを確認します。
    oc get db2ucluster ${INSTANCE_ID} -n ${PROJECT_CPD_INST_OPERANDS}
    oc get db2uinstance ${INSTANCE_ID} -n ${PROJECT_CPD_INST_OPERANDS}
  5. cpd-cli service-instance status コマンドを再度実行して、サービス・インスタンスがUPRGRADEDであることを確認します。