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.

クラウド上でのメインフレーム開発環境構築 - (4) ZD&Tインスタンス作成概要(ADCD)

Last updated at Posted at 2020-11-23

はじめに

メインフレーム(z/OS)の開発環境をIBM Cloud上にセットアップしてみた時のログです。今回はいよいよZD&Tインスタンスの作成です。
ここでは一旦ZD&Tインスタンス作成の流れを一通りやってみます。
具体的にどのような構成が行われるのかといった詳細については別の記事で深掘りしていきたいと思います。

関連記事

クラウド上でのメインフレーム開発環境構築 - (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からイメージ作成

全体像

ようやくここからZD&Tインスタンス(つまりIBM Zシミュレーター本体)を作成していきます。
image.png

ZD&Tインスタンスを作成する方法としては、大きく2種類あります。
1つはZD&Tインストーラーを使用して旧来のRD&TやZD&T PE(Personal Edition)と同じように個別にZD&Tインスタンスを作成する方法です。
もう1つは、イメージ・ストレージ・サーバーに管理されるz/OSイメージを基にWebサーバー経由でZD&Tインスタンスを作成する方法です。
今回は後者を想定して話を進めてきています。

後者の場合、まず元になる環境のイメージをイメージ・ストレージ・サーバー上に取り込む必要がありますが、元にするz/OS環境のイメージの選択肢としては以下の3つがあります。

  • 製品提供の出来合いのz/OS環境(ADCDパッケージと呼ばれる)を元にZD&Tインスタンスを作成
  • 既存の別のZD&Tインスタンスの環境を元にZD&Tインスタンスを作成
  • 既存の実z/OS環境を元にZD&Tインスタンスを作成

image.png

ここでは、IBM Cloudから接続できる他のZD&Tやz/OS環境が無いので、製品提供のADCDを元にZD&Tインスタンスを作成することにします。
ADCDには、z/OSだけでなく各種ミドルウェア(CICS, Db2, IMSなど)やコンパイラ(Enterprise COBOL)なども含まれています。

ZD&Tインスタンス作成

事前準備

実際にインスタンス作成を行う前に、事前に環境周りの情報を設定しておく必要があります。

ターゲット・サーバー関連

ZD&Tインスタンス実行ユーザー作成

ZD&Tインスタンス実行用のユーザーを作成します。ここではibmsys1というユーザーを作成することにします。

[taguchi@zdt02 ~]$ sudo useradd ibmsys1
[taguchi@zdt02 ~]$ sudo passwd ibmsys1
Changing password for user ibmsys1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

sudoできるようにwheelグループを付与します。

[taguchi@zdt02 home]$ sudo usermod -aG wheel ibmsys1

公開鍵認証でssh接続できるようにキーペアの設定しておきます(ここでは手順は割愛)。
参考: 公開鍵認証

yum repository

ZD&Tインスタンスを作成するサーバーを"ターゲット・サーバー"と呼んでいます(ここではzdt02)。
まず、ターゲットサーバー側では、必要なパッケージがあればインストールできるように、yumが使用できる状態にしておく必要があります。

[ibmsys1@zdt02 ~]$ sudo yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
repo id                                                             repo name                                                                   status
!rhel-7-server-optional-rpms/7Server/x86_64                         Red Hat Enterprise Linux 7 Server - Optional (RPMs)                         22,130
!rhel-7-server-rpms/7Server/x86_64                                  Red Hat Enterprise Linux 7 Server (RPMs)                                    30,637
!rhel-7-server-supplementary-rpms/7Server/x86_64                    Red Hat Enterprise Linux 7 Server - Supplementary (RPMs)                       383
repolist: 53,150

インストール先ディレクトリ作成

ZD&Tインスタンスを導入する先のディレクトリを作成します。デフォルトだと/home/ibmsys1ですが、追加したディスク配下に導入したいので、/mnt/ibmsys1というディレクトリを作っておき、そこに導入するようにします。

[ibmsys1@zdt02 mnt]$ sudo mkdir ibmsys1
[ibmsys1@zdt02 mnt]$ sudo chown ibmsys1:ibmsys1 ibmsys1
[ibmsys1@zdt02 mnt]$ ls -la
total 28
drwxr-xr-x.  4 root    root     4096 Oct 27 01:22 .
dr-xr-xr-x. 18 root    root     4096 Oct 27 02:32 ..
drwxr-xr-x.  3 ibmsys1 ibmsys1  4096 Oct 27 02:33 ibmsys1
drwx------.  2 root    root    16384 Sep 13 20:34 lost+found

ホスト名解決

この後、イメージ・ストレージ・サーバーやライセンス・サーバーのホスト名を指定しますが、ターゲットサーバーからそのホスト名でアクセスできるようにしておく必要があります。必要に応じて/etc/hostsやDNSなどの設定を行います。
ここでは、/etc/hostsにzdt01というホスト名とIPアドレスのマッピングをしておきます。(zdt02から、zdt01に対してpingが通るようにしておく)

必要なパッケージのインストール

インスタンス作成時のチェックでncコマンドが使用されるようです。ncコマンドが使えるように、nmap-ncatパッケージをインストールしておきます。

[ibmsys1@zdt02 /]$ sudo yum install nmap-ncat

ターゲット・サーバーの登録

Webサーバー上でターゲット・サーバーを登録しておく必要があります。Webサーバー(Liberty)が起動していなければ起動してブラウザから接続します。

[taguchi@zdt01 ~]$ sudo /opt/ibm/zDT/bin/startServer.sh

zdtadminでログインし、"ターゲット環境"を選択。
image.png

"ターゲット環境の追加" - Linux を選択。
image.png

ラベル、ホスト名(IPアドレス)、SSHポートを指定し、"詳細設定の調整"をONにして次へ
image.png

特権管理コマンド等を設定して次へ
image.png

ターゲットの環境のネットワーク構成情報を指定します。
デフォルトだと以下のような設定になっています。
image.png

これを、以下のように変更して、"ターゲット環境の追加"をクリックします。
image.png

ターゲット環境の情報が登録されました。
image.png

イメージ・ストレージ・サーバー関連

イメージ・ストレージ・サーバーには、ZD&Tインスタンスを作成する際の元になるz/OSイメージを格納しておく必要があります。ftpでアクセスできる先にディレクトリを用意しておきます。ここはサイズが大きくなりがちですので、追加でマウントしたディスク上に保持するようにします。

/mnt/ZDT_Imageディレクトリを作成して、owner:groupをftpuser:ftpuserにしておきます。

[taguchi@zdt01 /mnt]$ sudo mkdir ZDT_Image
[taguchi@zdt01 /mnt]$ sudo chown ftpuser:ftpuser ZDT_Image
[taguchi@zdt01 /mnt]$ ls -la
total 36
drwxr-xr-x.  6 root    root     4096 Oct 26 23:54 .
dr-xr-xr-x. 19 root    root     4096 Sep 18 19:57 ..
drwxr-xr-x.  3 root    root     4096 Sep 14 03:37 Inst_Image
drwx------.  2 root    root    16384 Sep 13 19:25 lost+found
drwxr-xr-x.  4 root    root     4096 Sep 19 00:42 opt_ibm
drwxr-xr-x.  2 ftpuser ftpuser  4096 Oct 26 23:54 ZDT_Image

ftpuserのホーム以下からシンボリックリンクを張ります。

[taguchi@zdt01 /mnt]$ sudo ln -s /mnt/ZDT_Image/ /home/ftpuser/ZDT_Image
[taguchi@zdt01 /mnt]$ sudo ls -la /home/ftpuser
total 20
drwx------. 2 ftpuser ftpuser 4096 Oct 26 23:59 .
drwxr-xr-x. 6 root    root    4096 Sep 19 02:56 ..
-rw-r--r--. 1 ftpuser ftpuser   18 Mar 12  2019 .bash_logout
-rw-r--r--. 1 ftpuser ftpuser  193 Mar 12  2019 .bash_profile
-rw-r--r--. 1 ftpuser ftpuser  231 Mar 12  2019 .bashrc
lrwxrwxrwx. 1 root    root      15 Oct 26 23:59 ZDT_Image -> /mnt/ZDT_Image/

次に、イメージ・ストレージ・サーバーの情報を登録しておく必要があります。

管理コンソールにzdtadminでログインし、"イメージ・ストレージ"を選択。
image.png

イメージ・ストレージ・サーバーの情報を設定して保存
image.png

"接続のテスト"をクリックして成功することを確認しておきます。
image.png

ライセンス・サーバー関連

ライセンス・サーバーの情報を登録しておく必要があります。

管理コンソールにzdtadminでログインし、"エミュレーター・ライセンス"を選択。
image.png

ソフトウェアの1次の欄にライセンス・サーバーのホスト名を指定して保存
image.png

イメージの作成 (from ADCD)

イメージ・ストレージ・サーバーのディレクトリ下(/mnt/ZDT_Image)に、adcdというディレクトリを作成します。その下にADCDの種類に応じて適当なディレクトリを作成します。ここでは2019_11(2019年11月のレベルのADCDを意味する)というディレクトリを作成します。
2019_11以下にはADCDのメタデータを意味するXMLファイル、さらにvolumesディレクトリ下に圧縮されたDASDイメージファイルを配置します。
階層構造としてはこんな感じです。

[taguchi@zdt01 /mnt/ZDT_Image]$ tree . --charset C
.
`-- adcd
    `-- 2019_11
        |-- ADCDTOOLS.XML
        `-- volumes
            |-- A4BLZ1.gz
            |-- A4C541.gz
            |-- A4C551.gz
            |-- A4CFG1.gz
            |-- A4DBAR.gz
            |-- A4DBB1.gz
            |-- A4DBB2.gz
            |-- A4DBC1.gz
            |-- A4DBC2.gz
            |-- A4DIS1.gz
            |-- A4DIS2.gz
            |-- A4DIS3.gz
            |-- A4IME1.gz
            |-- A4IMF1.gz
            |-- A4INM1.gz
            |-- A4KAN1.gz
            |-- A4PAGA.gz
            |-- A4PAGB.gz
            |-- A4PAGC.gz
            |-- A4PRD1.gz
            |-- A4PRD2.gz
            |-- A4PRD3.gz
            |-- A4PRD4.gz
            |-- A4RES1.ZPD
            |-- A4RES2.gz
            |-- A4SYS1.gz
            |-- A4USR1.gz
            |-- A4USS1.gz
            |-- A4USS2.gz
            |-- A4W901.gz
            |-- A4W902.gz
            |-- A4ZCX1.gz
            |-- SARES1.ZPD
            `-- ZDTRKT.gz

3 directories, 35 files

管理コンソールにzdtadminでログインし、"Application Developers Controlled Distributions(ADCD)"を選択。
image.png

adcd以下のディレクトリからADCDが検出されると、この画面で詳細を選択できるようになります。
ADCDバージョンを選択し、イメージ名を付けて、右側のコンポーネントから必要なコンポーネント選択して、イメージの作成をクリックします。
image.png

z/OSはデフォルトで選択されるので、ここではそれ以外にCICS V5.5とDb2 V12を選択してみます。

メッセージを確認
image.png

作成されたアセットの確認

"モニターおよび管理" から、作成されたアセットを確認することができます。
image.png

ADCDから取り込んだイメージと、ターゲット環境の情報が確認できます。
image.png

ZD&Tインスタンスの作成(デプロイ)

準備が整ったので、いよいよZD&Tインスタンスの作成です。
上で取り込んだイメージをターゲット環境にデプロイします。

"デプロイ"を選択。
image.png

イメージもターゲット環境も今はそれぞれ1つずつしか作ってないので、それぞれ選択して、"イメージのデプロイ"をクリック
image.png

ユーザーIDにはZD&Tインスタンス実行用に作成したユーザーを指定します。そのユーザーでsshアクセスするための秘密鍵と、インストール先のディレクトリも指定します。
image.png

ここで、ディレクトリの存在/アクセス権チェック、ライセンス・サーバーへのアクセスチェック(ncコマンド)が行われます。

z/OSの管理ユーザー(IBMUSER)のパスワードを設定します。
image.png

ZD&Tインスタンスに割り当てる各種リソース設定を行います。

プロセッサー
image.png

メモリ
image.png

IPLコマンドはデフォルトのまま(LOASxxにCS指定したらうまくうごかなかった...)
image.png

デバイス・アドレス、IODFアドレス、LOADPARMは元にしているADCDのメタデータのXML(ADCDTOOLS.XML)に記載されているものがデフォルトで採用されています。

ADCDTOOLS.XML
...
        <zsystem_information>
                <zos_version>z/OS 02.04.00.0</zos_version>
                <load_suffix>AU</load_suffix>
                <iodf_address>0A82</iodf_address>
                <ipl_device_number>0A80</ipl_device_number>
...

※LOADxx接尾部(LOADPARM)は、以下から適当なものを選択可能なはずですが、デフォルトのAUというのがここには無い。CS指定したIPL時にらうまくVTAMが起動しませんでした。AUのままだと起動しました。ZD&Tで提供されるADCDのパッケージはここに記載されているものと完全に同一という訳では無く、ZD&T用にカスタマイズされているっぽい...。
参考: ADCD z/OS V2R4 November Edition of 2019 - LOADPARMS Options

最後、完了をクリックすると以下の状態になります。
image.png

モニターを確認します。
エラーが発生すると、モニターで警告マークがつきますので、「・・・」のメニューからログの取得を行って、適宜修正します。
image.png

モニター画面でデプロイ進行中に以下のパーセンテージ表記をクリックすると詳細な進行状況が確認できます。
image.png

進行状況詳細
image.png

完了すると、利用可能の状態になります。
image.png

PCOMからの接続

マスター・コンソール

PCOMからマスター・コンソールに接続してみます。これはnon-SNA端末と呼ばれる端末に接続することになります。zdt02上では3270ぽーとでnon-SNA端末のポートをListenしているので、PCOMからzdt02上の3270ポートに対して接続構成を行います。LUNameにはmstconを指定します。

TN3270構成としてはこんな感じです。
image.png

構成ファイルを直接編集する場合はこんな感じになります。一旦これはこのまま。

xxx.WS
...
[Telnet3270]
HostName=zdt02
HostPortNumber=3270
Security=N
LastConfigHostDoesNotTimeout=N
CertSelection=AUTOSELECT
LUName=mstcon
[Communication]
Link=telnet3270
....

これで接続するとこういう画面になります。
image.png

別途zdt02にteratermからibmsys1ユーザーログインして、以下のコマンドを実行します。

[ibmsys1@zdt02 ~]$ oprmsg 'V CN(*),ACTIVATE'
[ibmsys1@zdt02 ~]$ oprmsg 'V 700,CONSOLE'

すると、先ほどのPCOM画面がマスター・コンソールとして利用できるようになります。
image.png

TSO

マスターコンソールと同様に3270ポートに対して接続構成を行いますが、TSO接続する場合LUNameをtso1としてください。(デフォルトではtso1~tso4までの4つのTSO用のnon-SNA端末が定義されています。)

xxx.WS
...
[Telnet3270]
HostName=zdt02
HostPortNumber=3270
Security=N
LastConfigHostDoesNotTimeout=N
CertSelection=AUTOSELECT
LUName=tso1
[Communication]
Link=telnet3270
....

接続するとTSO画面が開きます。
image.png

L TSO と打って、IBMUSERでデプロイ時に指定したパスワードを指定してTSOにログインできます。
image.png

あとは普通のz/OSと同じように操作できます。

ZD&Tインスタンスの起動/停止

モニター画面のインスタンスのメニューから、開始/停止の制御ができます。
image.png

※ただし、ここでの停止方法はいきなり電源OFFでOSごと強制終了するようなイメージになってしまうので注意が必要です。この手順で停止する前にミドルウェア等は事前に終了させておく必要があります。

まとめ

これで一通り目標にしていた環境は整いました。
image.png

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?