1
0

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.

クラウド上でのメインフレーム開発環境構築 - (3) ライセンス管理

Last updated at Posted at 2020-11-23

はじめに

メインフレーム(z/OS)の開発環境をIBM Cloud上にセットアップしてみた時のログです。今回はライセンスのアクティベート処理について。

関連記事

クラウド上でのメインフレーム開発環境構築 - (1) 仮想サーバー作成
クラウド上でのメインフレーム開発環境構築 - (2) ZD&T管理サーバーのインストール
クラウド上でのメインフレーム開発環境構築 - (3) ライセンス管理
クラウド上でのメインフレーム開発環境構築 - (4) ZD&Tインスタンス作成概要(ADCD)
クラウド上でのメインフレーム開発環境構築 - (5) ZD&Tインスタンス作成詳説(ADCD)
クラウド上でのメインフレーム開発環境構築 - (6) DeviceMapファイル補足
クラウド上でのメインフレーム開発環境構築 - (7) ネットワーク構成補足
クラウド上でのメインフレーム開発環境構築 - (8) ADCD IPL, Shutdown補足
クラウド上でのメインフレーム開発環境構築 - (9) DASD管理補足
クラウド上でのメインフレーム開発環境構築 - (10)既存ZD&Tからイメージ作成

全体像

image.png

今回はライセンス・サーバーに対してライセンスのアクティベート処理を行います。
ZD&Tインスタンスはライセンス・サーバーと通信を行いライセンスが有効であることが確認されると稼働できるようになります。従って、事前にライセンス・サーバーに有効なライセンスを適用しておく必要があります。
※もちろんこれは有償製品なので、事前にライセンスを購入しておく必要があります。

ライセンスのアクティベート

参考: ソフトウェア・ベースのライセンス交付

ライセンスをアクティベートするには、大まかに以下のような流れで行います。

  • ライセンス・サーバーでリクエスト・ファイルを作成
  • リクエスト・ファイルを元にRational Licence Key CenterのWebサイトからアップデート・ファイルを取得
  • アップデート・ファイルをライセンス・サーバーに適用

リクエスト・ファイル作成

まず、ライセンス・サーバーを導入したサーバー上で、ライセンス・ファイルを入手するための"リクエスト・ファイル"なるものを作成する必要があります。このライセンス・ファイルには、ライセンス・サーバーのH/W情報などが含まれることになるため、H/W情報が変わってしまった場合はライセンスのアクティベートをし直す必要があります(そのため、クラウド上であっても特定のH/W上で稼働できる環境を選択する必要があります。今回は一時的なテスト環境のためめその辺は意識してません)。

参考: IBM Z Development and Test Environment 12.0.5 - Overview

ZD&T Enterprise Edition and Parallel Sysplex can work on cloud and VMs. You need to make sure that the underlying hardware is not changed by your cloud service provider. CPU or hard drive needs to be a static entity to ensure that all ZD&T editions work.

rootユーザーで/opt/IBM/LDK/以下のrequest_licenseコマンドを実行します。

[root@zdt01 ~]# cd /opt/IBM/LDK
[root@zdt01 /opt/IBM/LDK]# ./request_license
zPDT/LDK license request started.
fingerprint status 0
The request file created is: ~/zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779.zip

Success
[root@zdt01 /opt/IBM/LDK]# ls -la ~ | grep zdt01
-rw-r--r--.  1 root root 1147 Oct 19 07:32 zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779.zip

ホームディレクトリにリクエスト・ファイルが作成されました。
これをインターネット接続可能なPCに転送します。

アップデート・ファイルの取得

※この作業はインターネット接続可能なPC上で行います。

参考: ソフトウェア・ベースのライセンス交付 - 更新ファイルの取得 - ソフトウェア・ベースのライセンス・サーバーの場合

上で取得したリクエスト・ファイルを元に、"アップデート・ファイル"というものをRational License Key CenterというWebサイトからインターネット経由で入手する必要があります。
ZD&Tは有償製品ですので購入時に取得したライセンス情報を元にRational License Key Centerでアカウントを作成しておく必要があります。
そのアカウントを使用して、上のガイドに従ってリクエスト・ファイルを元にアップデート・ファイルを生成します。
例: zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779_update.zip
アップデート・ファイルを入手したらライセンス・サーバー上に転送します。

アップデート・ファイルの適用

参考: ソフトウェア・ベースのライセンス・サーバー・マシンへの更新ファイルの適用
ライセンスのアクティベートを行うために、入手したアップデート・ファイルをライセンス・サーバーに適用します。
アップデートファイルは/root/License/zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779_update.zipに配置している想定です。
rootユーザーでupdate_licenseコマンドを実行します。

[root@zdt01 ~]# cd /opt/IBM/LDK/
[root@zdt01 /opt/IBM/LDK]# ./update_license /root/License/zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779_update.zip
opened /root/License/zdt01_ibmj-cloud-freeusage-p052_cloud_1603110779_update.v2c
read
The license update was successful.
There were no additional results to display.

以下のコマンドで適用されたライセンスの確認ができます。

[root@zdt01 /opt/IBM/LDK]# ./query_license

The following key is available:

HASP-SL key_id=742677908500558229  feature(s):
FID Feature Name          Expiration         Logins MaxLogins
334-   ADCD License  Tue Oct 19,2021 18:59:59    0    1
333-    CPU License  Tue Oct 19,2021 18:59:59    0    8

Host Information:  zdt01.ibmj-cloud-freeusage-p052.cloud   localhost


 No login sessions

ibmsys1ユーザーで以下のコマンドを実行します。

[ibmsys1@zdt01 ~]$ cd /usr/z1090/bin/
[ibmsys1@zdt01 /usr/z1090/bin]$ ./uimserverstart

 uimserver is already running.

これでライセンスの適用は完了です。

補足

ライセンス・サーバーの実体

ここまで、単に「ライセンス・サーバー」と言ってきたものの実体としては、細かくみると"ライセンス・サーバー"と"UIMサーバー"の2つのコンポーネントから構成されます。それぞれ1947, 9451のポートをListenしてZD&Tインスタンスのライセンスを管理します。
image.png

ライセンス・サーバーをセットアップすると、hasplmd.serviceというsystemdのサービスと、ibmsys1ユーザーのcrontabに/usr/z1090/bin/uimserverstart のエントリーが追加されます。

ライセンス・サーバー

systemdサービス “hasplmd.service” により起動
コマンド: /usr/sbin/hasplmd
ポート: 1947(tcp, udp)

systemd
[taguchi@zdt01 ~]$ sudo systemctl status hasplmd.service
● hasplmd.service - Sentinel LDK Runtime Environment (hasplmd daemon)
   Loaded: loaded (/etc/systemd/system/hasplmd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-10-19 07:29:03 CDT; 1 weeks 0 days ago
  Process: 1605 ExecStart=/usr/sbin/hasplmd -s (code=exited, status=0/SUCCESS)
 Main PID: 1619 (hasplmd)
   CGroup: /system.slice/hasplmd.service
           mq1619 /usr/sbin/hasplmd -s

Oct 19 07:29:03 zdt01.ibmj-cloud-freeusage-p052.cloud systemd[1]: Starting Sentinel LDK Runtime Environment (hasplmd daemon)...
Oct 19 07:29:03 zdt01.ibmj-cloud-freeusage-p052.cloud hasplmd[1619]: HASP LM v21.0.1.77814 loaded
Oct 19 07:29:03 zdt01.ibmj-cloud-freeusage-p052.cloud systemd[1]: Started Sentinel LDK Runtime Environment (hasplmd daemon).
ポート
[taguchi@zdt01 ~]$ ss -an | grep 1947
udp    UNCONN     0      0         *:1947                  *:*
tcp    LISTEN     0      128       *:1947                  *:*

[taguchi@zdt01 ~]$ sudo lsof -i:1947
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
hasplmd 1619 root    9u  IPv4  15129      0t0  TCP *:sentinelsrm (LISTEN)
hasplmd 1619 root   10u  IPv4  15130      0t0  UDP *:sentinelsrm

[taguchi@zdt01 ~]$ sudo cat /etc/services | grep sentinelsrm
sentinelsrm     1947/tcp                # SentinelSRM
sentinelsrm     1947/udp                # SentinelSRM

UIMサーバー

ibmsys1ユーザーのcrontabにより起動
コマンド: /usr/z1090/bin/uimserverstart
ポート: 9451(tcp)

ibmsys1のcrontab
[ibmsys1@zdt01 /usr/z1090/bin]$ crontab -l
@reboot  /usr/z1090/bin/uimserverstart reboot > /dev/null
*/13 * * * * /usr/z1090/bin/uimserverstart > /dev/null
プロセス
[taguchi@zdt01 ~]$ ps -ef | grep uimserver | grep -v grep
ibmsys1   1640     1  0 Oct19 ?        00:00:06 /usr/z1090/bin/uimserver
ポート
[taguchi@zdt01 ~]$ ss -an | grep 9451
tcp    LISTEN     0      32        *:9451                  *:*

[taguchi@zdt01 ~]$ sudo lsof -i:9451
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
uimserver 1640 ibmsys1    4u  IPv4  15350      0t0  TCP *:9451 (LISTEN)

CP数について

管理対象の各ZD&Tインスタンスでは、Linuxが稼働しているサーバー(今回のようなCloud環境の場合は仮想サーバー)の論理コア数をZD&Tのプロセッサーとして割り当てることができます。
ライセンス・サーバーでは、管理対象のZD&Tインスタンスに割り当て可能なCP数のトータルの数が管理されます。

[root@zdt01 /opt/IBM/LDK]# ./query_license

The following key is available:

HASP-SL key_id=742677908500558229  feature(s):
FID Feature Name          Expiration         Logins MaxLogins
334-   ADCD License  Tue Oct 19,2021 18:59:59    0    1
333-    CPU License  Tue Oct 19,2021 18:59:59    0    8

Host Information:  zdt01.ibmj-cloud-freeusage-p052.cloud   localhost


 No login sessions

query_licenseコマンド結果の、CPU Licenseの MaxLoginsで示されている数が該当します(上の例だと"8")。

有効なCP数が"8"の場合、1CPずつ割り当てたインスタンスを8個構成する、8CP割り当てのインスタンスを1つ構成する、5CP割り当てのインスタンス1つ+3CP割り当てのインスタンスを1つ、といったようにライセンスで有効なCP数を超えない範囲で複数のインスタンスに割り振りが可能です。
1つのZD&Tインスタンスには、最大で8CPまで割り当て可能です。
参考: Allocating multiple licenses

各々のZD&Tに割り当てるCP数は、ZD&Tインスタンスが稼働するサーバーのCP数を超えることはできません。また、Linux稼働用に少なくとも1コアはZD&Tに割り当てずに残しておく必要があります。
image.png

1インスタンスに割り当てるCP数(上限8)については、それぞれGCP, zIIP, IFL(IBM Integrated Facility for Linux Processors)として認識させることができます。例えば、以下の定義例は7つ分のCPをZD&Tインスタンスに割り当てており、その内訳としてGCPx5, zIIPx2を指定しています。(数字の後にProcessorの種類をその数分だけ指定)

DeviceMapファイル抜粋
[system]
processors      7 cp cp cp cp cp ziip ziip
memory          16G
3270port        3270

ちなみにzIIPとして割り当てた分はライセンスを消費しませんので、上の例だと5CP分のライセンスがあれば足ります。
(少なくともGCPは1つ以上指定する必要があり、全てzIIPとすることはできません。)

ライセンスの更新について

上の手順を見ても分かるように、ライセンス・サーバーのH/W情報をリクエスト・ファイルという形で抽出してそれを元にアップデート・ファイルを生成し、ライセンスのアクティベートを行っています。そのため、ライセンス・サーバーのH/Wが変わるとライセンスが無効になってしまいます。その場合は再度アップデート・ファイルを入手しなおしてアクティベートする必要があります。

またライセンスの有効期間は1年ですので、1年ごとにライセンスの更新を行う必要があります。

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?