1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ROKS上の Db2 for RHOS and k8s V11.5.8 ライセンス適用方法

Posted at

OpenShift/Kubernetes環境でDb2を動かすには、マイクロサービスとして開発される、k8s環境専用のDb2製品を導入します。
このDb2は、Db2 for Red Hat OpenShift and Kubernetes、別名Db2Uとも呼ばれます。
Db2として公式の Kubernetes Operator が提供され、カスタムリソースのインスタンスを作成することでDb2をデプロイします。
※ オンプレミス版のように db2setupやdb2_installコマンドによってDb2デプロイを行うことはできません。

Db2U でも、従来のオンプレミス版Db2同様にライセンスファイルを適用することで、製品サポートを受けられるようになります。

ライセンスファイルの適用手順は、オンプレミス版とは少し異なります。
以下の手順でライセンスファイルを適用することができました。

環境

全体構成

  • Red Hat OpenShift Kubernetes Service (ROKS) 上に Db2 for OpenShift and K8s をデプロイ
    • Db2uClusterインスタンスデプロイ済
  • ライセンスファイルは作業用PCローカルに配置
    • ファイル自体は、従来のオンプレミス版Db2に適用するものと同じ
      image.png
コンポーネント バージョン
OpenShift 4.10.52
OpenShift Data Foundation odf-operator.v4.10.9
Db2 for OpenShift s11.5.8.0-cn2

Db2uInstanceに対しても同じ手順でライセンス適用は可能なようですが、今回はDb2uCluster環境を利用しています。
※Db2uClusterはStatefulSetベースの古いアーキテクチャのカスタムリソースであり、2023年7月現在Db2uInstanceの利用が推奨されます。今回は手元にデプロイ済Db2uCluster環境があったため、こちらを活用しました。

Db2U:ライセンスファイル適用

製品マニュアルの記載に従って、進めます。
Db2 Community Edition ライセンス証明書キーのアップグレード

全体の流れ

  1. Db2ライセンスファイルの入手
  2. Db2ライセンスファイルを base64 にエンコード
  3. ライセンスファイル適用(oc edit)
  4. Db2U Podの再起動
  5. ライセンス確認

(事前確認) ライセンス適用前のdb2licm -lコマンド出力

ライセンス適用前は、ライセンス管理ツールで適用状況を確認すると、以下のように出力されます。

[db2inst1@c-db2ucluster-4-db2u-0 - Db2U db2inst1]$ db2licm -l
Product name:                     "DB2 Enterprise Server Edition"
License type:                     "License not registered"
Expiry date:                      "License not registered"
Product identifier:               "db2ese"
Version information:              "11.5"

Product name:                     "DB2 Community Edition"
License type:                     "Community"
Expiry date:                      "Permanent"
Product identifier:               "db2dec"
Version information:              "11.5"
Max amount of memory (GB):        "16"
Max number of cores:              "4"
Max amount of table space (GB):   "100"
Features:
IBM DB2 Performance Management Offering:              "Not licensed"


Step1. Db2ライセンスファイル入手

Db2Uを使う場合も、オンプレミス版とライセンス体系は変わりません。
適用するライセンスファイルも共通のものが利用可能です。

Advanced エディションおよび Standard エディションのライセンス・キーは、 IBM Passport Advantage サイトからダウンロードできます。

  • ライセンスファイル名
    • Db2 Advanced Edition: db2adv_vpc.lic
    • Db2 Standard Edition: db2std_vpc.lic
  • 補足:ライセンスをダウンロードするには、ライセンスを使用する資格が必要となります(IBMとのサポート契約)

ダウンロードしたライセンスファイルは、ライセンス適用作業を行う端末のローカルディレクトリに配置しておきます。

Step2. Db2ライセンスファイルを base64 にエンコード

ライセンス適用を行う端末にて、ライセンスファイルをエンコードします

cd <ライセンスファイル配置ディレクトリ>
LICENSE_KEY="./db2adv_vpc.lic"
cat ${LICENSE_KEY} | base64 | tr -d '\n'

出力例:

# cat ${LICENSE_KEY} | base64 | tr -d '\n'
W0xpY2Vuc2VDZXJ0aWZpY..
(略)
R1cmF0aW9uPQo=

出力されたテキストの内容は、後ほどDb2UのYamlファイルにCopy&Pasteするため、必要に応じてローカルにテキストファイルとして保存しておきます。

Step3. ライセンスファイル適用(oc edit)

Db2uClusterデプロイメントのカスタムリソース名(今回は「db2ucluster-4」)を取得し、OS環境変数 INSTANCE に設定します

oc get db2ucluster
NAME            STATE   MAINTENANCESTATE   AGE
db2ucluster-4   Ready   None               38d
INSTANCE_NAME="db2ucluster-4"

カスタムリソースを編集します

oc edit db2ucluster ${INSTANCE_NAME}

編集モードで、YAML ファイルの spec のひとつ下の階層に存在する license キーの値として、Step2.でエンコードして取得された文字列を入力します。

spec:
  license:
    value: <エンコード文字列を貼付>

編集の実例:
image.png

注意点

  • Db2uCluster v11.5.8-cn2 のYamlには、"license"キーは2か所存在し、このうち、specの直下にあるlicenseキーに入力する必要があります
  • addOn用のlicenseキーの値としてDb2ライセンスのエンコードを入力してしまうと、oc edit自体は成功しますが、無効な入力値であるため、反映されません

Yamlファイルを保存して閉じます。
viエディタであれば、[:wq]でクローズすることにより、元のターミナルに戻ります。
標準出力に" ... edited" と出力されていることを確認します。

oc edit db2ucluster db2ucluster-4
db2ucluster.db2u.databases.ibm.com/db2ucluster-4 edited

Step4. Db2U Podの再起動

Db2 Podを再起動し、新しいライセンスを有効にします。

oc delete $(oc get po -l type=engine,formation_id=${INSTANCE_NAME} -oname)
pod "c-db2ucluster-4-db2u-0" deleted

Step5. ライセンス確認

Db2 Pod にログインし、インスタンスオーナーにスイッチします

oc rsh c-db2ucluster-4-db2u-0 bash
Defaulted container "db2u" out of: db2u, init-labels (init), init-kernel (init)
[db2uadm@c-db2ucluster-4-db2u-0 /]$ su - db2inst1
Last login: Fri Jul 14 11:39:23 UTC 2023

ライセンス適用状況を確認します

[db2inst1@c-db2ucluster-4-db2u-0 - Db2U db2inst1]$ db2licm -l
Product name:                     "DB2 Advanced Edition"
License type:                     "Virtual Processor Core"
Expiry date:                      "Permanent"
Product identifier:               "db2adv"
Version information:              "11.5"
Enforcement policy:               "Hard Stop"
Features:
IBM DB2 Performance Management Offering:              "Not licensed"


"DB2 Advanced Edition"と出力され、ライセンスが適用されていることが確認できました。

(Option) Db2Uのスケールアップ

CPU数、メモリーサイズの拡張が必要となった場合には、oc patch コマンドにて実施可能です。
参考:Db2マニュアル[Db2 のスケールアップ]

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?