Db2 on OpenShift 11.5.6 アップグレード手順
Db2 on OpenShift のアップグレード
オンプレミス環境で稼働するDb2に、現在稼働中のOS上でFix適用を行う場合には
- 新しいFixPackのモジュールをダウンロード
- FixPackをインストール(もしくは、新しいパスに新規導入)
- インスタンスのアップグレード
といった手順を踏みますが、
Db2 on OpenShift(Db2U) の場合は、Db2ユーザ(管理者)が行う手順は以下のようになります。
- 新しいCNリリース(※)に対応した新しいバージョンのDb2オペレータにアップグレード
- Db2クラスタ(Db2サーバ本体の動くコンテナ群) のアップグレード
(※) CN(container-enhanced) 各リリースレベルにおける変更点はこちらを参照
Db2マニュアル:Container layer enhanced (cn) releases
Db2クラスタの最新cnリリースを利用するには、Db2オペレータも最新にしておく必要があります。
Db2オペレータ、Db2クラスタ のアップグレードはいずれも、OpenShift Container Platform(OCP) Webコンソール上で行うことができ、アップグレード作業は実質ほとんどGUIベースで実施可能といえます。
Db2サーバとDb2オペレータの関係
OpenShift の世界では、Db2サーバは下記の要領でデプロイします。
- Db2 Operator を導入
- カスタムリソースであるDb2クラスタ(Db2uCluster)のインスタンスを作成
- クラスタという名称ですが、レプリカ数は1、Db2エンジンが動くPodが1つ稼働する構成です
- Db2サーバ本体のPod以外にもldap,etcdなどの周辺機能を提供するPodもあわせて作成されます
Db2サーバのアップグレードにあたって、Db2ユーザ(管理者)が行うのはYamlベースになっている構成情報のテキスト編集だけで、Db2サーバのアップグレードはDb2オペレータにより行われます。
この前提として、Db2オペレータが新しいバージョンに上がっていないと新しいDb2サーバにリリースアップすることができないため、Db2サーバのアップグレード前に、Db2オペレータのアップグレードを行います。
例えば、Db2 11.5.6.0-cn3 から cn5 にアップグレードするには、あらかじめ Db2u Operator を cn5 に対応するバージョンである V1.1.8 にアップグレードしておく必要があります。
Db2オペレータとDb2クラスタのバージョンの対応については、マニュアルに一覧化されています。
参考:Db2マニュアル Upgrading and updating your Db2 on Red Hat OpenShift cluster
Db2 11.5.6.0-cn5 について
今回検証したのは Db2 on OpenShift 11.5.6 cn3 から cn5 へのアップグレードです。
なお cn5 はいくつかの不具合が修正されているもので、機能追加は含まれないリリースとなります。
アップグレード後もDb2バージョン(Fixレベル)は V11.5.6.0 と同一ですが、 db2level コマンドの出力結果はに含まれる Informational tokens が変更されていて、Db2エンジンのマイナーバージョンアップが行われているようです。
CNリリース | db2level出力抜粋(Informational tokens) |
---|---|
V11.5.6.0-cn3 | "DB2 v11.5.6.0", "s2109240421", "DYN2109240421AMD64",and Fix Pack "0". |
V11.5.6.0-cn5 | "DB2 v11.5.6.0", "s2111010843", "DYN2111010843AMD64",and Fix Pack "0". |
ここから、実際にアップグレードを行っていきます。
Step1. Db2 オペレータのアップグレード手順
1. OCP Webコンソールにログイン
[Operator] > [インストールされたOperator]の画面を開きます。
更新可能な場合、[IBM Db2] のステータス欄に「利用可能なアップグレード」というリンクが表示されます。
このリンクをクリックし、アップグレードを開始します。
2. InstallPlanのプレビュー
3. 承認(オプション)
今回の環境では「更新の承認(Approval Policy)」をデフォルトの「自動」から「手動」へ変更しているため、承認が求められます。(→[承認]を押下)
インストールプランの右横にステータスが表示され、Installing → Complete と状態が遷移します。
4.更新されていることを確認
[インストールされたOperator] の一覧画面に戻ると、V1.1.8 へアップグレードされていることがわかります。
補足:CUIベースのDb2オペレータの更新
IBM Cloud 環境であれば CUIベースでDb2オペレータをアップグレードすることもできるようです。
参考:Upgrading the Db2 Operator
Step2. Db2サーバ本体のアップグレード手順
Db2サーバ本体のアップグレードは、Db2 on OpenShift クラスタに関連付けられているカスタムリソース(CR)のソースYAMLを編集することで行います。
このアップグレードのプロセスはGUI/CUI(oc edit db2uclusters ...)、どちらでも実行することができます。
1. OCP Webコンソールへログイン
[Operator] > [インストールされたOperator]の画面を開きます。
[IBM Db2]を選択しDb2オペレータの詳細画面に入ります。
2. [Db2u Cluster]タブを選択
3. 構成情報(Yaml)編集画面を開く
更新対象のカスタムリソース(CR)を探し、右端の列から楕円形(...)をクリックして「Db2uClusterを編集」を選択すると、Yaml編集画面が開きます。
4. Yaml編集箇所の特定
Yaml編集画面(黒地)を選択した状態で [Ctrl]+F を押下すると検索バーが右上に開かれ、Yaml内をキーワード検索できるようになります。
この検索バーで "version" という文字を検索します。
5. バージョンの値を変更
バージョンストリングを編集します。
Yamlファイル中、versionという文字列自体は複数回登場します。
編集するのは、spec配下にあるversionの値です。
<編集前> version: 11.5.6.0-cn3
<編集後> version: 11.5.6.0-cn5
6. 変更内容を保存
編集画面下にある [保存]ボタンを押下し、変更内容を保存します。
保存が完了すると、Yaml編集画面下に「<db2ucluster-name>がnnnnnnnnに更新されました」というメッセージが表示されます。
7.アップグレード済であることの確認
<< Db2uCluster Yaml定義の確認 >>
OCP Webコンソールに表示されるYamlの定義内容を改めて確認すると、先の手順で変更した spec だけでなくstatus 内に記載されるバージョンストリングも、Db2 11.5.6.0-cn5 に上がっていることがわかります。
<< OCP Webコンソール上の表示の確認 >>
OCP Webコンソール Db2オペレータのDb2u Clusterタブより、今回アップグレードを行ったインスタンスを選択し詳細表示を行います。
Version の項目が、cn3 から cn5 に変わっていることが確認できます。
補足:Db2サーバアップグレード後のJob/Pod
上記操作にてCNリリースアップを行った後の oc get all 出力を添付します。
アップグレード用のJob/Podが実行されていたことがわかります。
- Job ... c-db2ucluster-sample-11.5.6.0-cn3-to-11.5.6.0-cn5
- Pod ... c-db2ucluster-sample-11.5.6.0-cn3-to-11.5.6.0-cn5-7w9mn
[utsumi@k3bastion ~]$ oc get all -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/c-db2ucluster-sample-11.5.6.0-cn3-to-11.5.6.0-cn5-7w9mn 0/1 Completed 0 39m 10.131.1.97 worker2 <none> <none>
pod/c-db2ucluster-sample-db2u-0 1/1 Running 0 58m 10.129.2.155 worker3 <none> <none>
pod/c-db2ucluster-sample-etcd-0 1/1 Running 0 53m 10.128.3.239 worker1 <none> <none>
pod/c-db2ucluster-sample-instdb-4fwnx 0/1 Completed 0 11d 10.131.1.81 worker2 <none> <none>
pod/c-db2ucluster-sample-ldap-8c9dcb5d9-bmmjt 1/1 Running 0 59m 10.128.3.237 worker1 <none> <none>
pod/c-db2ucluster-sample-restore-morph-lvr9w 0/1 Completed 0 11d 10.131.1.82 worker2 <none> <none>
pod/db2u-operator-manager-55bb58dfd8-twrtt 1/1 Running 13 120m 10.128.3.224 worker1 <none> <none>
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
service/c-db2ucluster-sample-db2u ClusterIP 172.30.60.2 <none> 50000/TCP,50001/TCP,25000/TCP,25001/TCP,25002/TCP,25003/TCP,25004/TCP,25005/TCP 11d app=db2ucluster-sample,component=db2oltp,formation_id=db2ucluster-sample,role=db,type=engine
service/c-db2ucluster-sample-db2u-engn-svc NodePort 172.30.217.115 <none> 50000:31545/TCP,50001:30675/TCP 11d app=db2ucluster-sample,component=db2oltp,formation_id=db2ucluster-sample,role=db,type=engine
service/c-db2ucluster-sample-db2u-internal ClusterIP None <none> 50000/TCP,9443/TCP,50052/TCP 11d app=db2ucluster-sample,component=db2oltp,formation_id=db2ucluster-sample,role=db,type=engine
service/c-db2ucluster-sample-etcd ClusterIP None <none> 2379/TCP,2380/TCP 11d app=db2ucluster-sample,component=etcd,formation_id=db2ucluster-sample
service/c-db2ucluster-sample-ldap ClusterIP 172.30.89.239 <none> 50389/TCP 11d app=db2ucluster-sample,formation_id=db2ucluster-sample,role=ldap
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/c-db2ucluster-sample-ldap 1/1 1 1 11d ldap icr.io/db2u/db2u.auxiliary.auth@sha256:d3f4668425c2f0c303c3507b9d899ceeff4c7127e718662466bbf4a86b166731 app=db2ucluster-sample,formation_id=db2ucluster-sample,role=ldap
deployment.apps/db2u-operator-manager 1/1 1 1 20d manager docker.io/ibmcom/db2u-operator@sha256:c6d918de8092cdc6ae58087718413567d22920562a777a448d56a4fa3c57d6e4 control-plane=db2u-operator-manager
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
replicaset.apps/c-db2ucluster-sample-ldap-7d6d659bc 0 0 0 11d ldap cp.icr.io/cp/db2u.auxiliary.auth@sha256:34c5d313843262d4027fcf84eeed8ed8ec0886b7361796ee493bd42b9224bc4a app=db2ucluster-sample,formation_id=db2ucluster-sample,pod-template-hash=7d6d659bc,role=ldap
replicaset.apps/c-db2ucluster-sample-ldap-8c9dcb5d9 1 1 1 59m ldap icr.io/db2u/db2u.auxiliary.auth@sha256:d3f4668425c2f0c303c3507b9d899ceeff4c7127e718662466bbf4a86b166731 app=db2ucluster-sample,formation_id=db2ucluster-sample,pod-template-hash=8c9dcb5d9,role=ldap
replicaset.apps/db2u-operator-manager-55bb58dfd8 1 1 1 120m manager docker.io/ibmcom/db2u-operator@sha256:c6d918de8092cdc6ae58087718413567d22920562a777a448d56a4fa3c57d6e4 control-plane=db2u-operator-manager,pod-template-hash=55bb58dfd8
replicaset.apps/db2u-operator-manager-7b5dfb5bc7 0 0 0 20d manager docker.io/ibmcom/db2u-operator@sha256:5dc50046595172f94fd37ef8497e2b4f2fdf2c12dff4885b6397969bdade11a5 control-plane=db2u-operator-manager,pod-template-hash=7b5dfb5bc7
NAME READY AGE CONTAINERS IMAGES
statefulset.apps/c-db2ucluster-sample-db2u 1/1 11d db2u icr.io/db2u/db2u@sha256:fa30d2c32cde7882cac6a49938b324011d0521b9300cd565230589c983212617
statefulset.apps/c-db2ucluster-sample-etcd 1/1 11d etcd icr.io/db2u/etcd@sha256:621d9a72ec012ed64f8b56cc56b3ec613d81367fc0ef235d06d44cd2823fca8d
NAME COMPLETIONS DURATION AGE CONTAINERS IMAGES SELECTOR
job.batch/c-db2ucluster-sample-11.5.6.0-cn3-to-11.5.6.0-cn5 1/1 43m 59m engn-update icr.io/db2u/db2u.tools@sha256:867277235139cd0f32341b68f423bd720be30d4019d67c0ff24d4e5279d44f6e controller-uid=04cf2fa0-5520-498b-9600-1b91dbc3e1df
job.batch/c-db2ucluster-sample-instdb 1/1 33s 11d instdb cp.icr.io/cp/db2u.instdb@sha256:c35d117b57a57971afb24dbe60f34cc0c496fba46d7f11756d80a25bf4edf3c1 controller-uid=e762b583-29cb-43db-8e41-efb95191eaf9
job.batch/c-db2ucluster-sample-restore-morph 1/1 25m 11d restore-morph cp.icr.io/cp/db2u.tools@sha256:a981cb52a2d87416417fd58e434c9dbeff6115f8656dc8dea4f89b25271fbaf0 controller-uid=99941ba6-bb8a-4536-a753-aa2106bea80b
$
参考
Author And Source
この問題について(Db2 on OpenShift 11.5.6 アップグレード手順), 我々は、より多くの情報をここで見つけました https://qiita.com/mi-kana/items/4d89aad14ee836f2ea17著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .