IBM iの移行やネットワーク設定変更では、現在のTCP/IP構成を保存しておきたい場面があります。
その際に利用できるのが、TCP/IP情報の検索コマンド RTVTCPINF です。
本記事では、IBM i 7.4を前提に、次の順番で紹介します。
(注 IBM i の最新バージョンは7.6ですが、移行を想定した場合に、7.4での操作が多いと考え、7.4ベースにしてあります。但し、機能的にはほぼ差はありません)
- RTVTCPINFとは
- 基本操作
- 実行結果と確認方法
- 期待できる用途
本文中のコマンドは操作例です。実機で採取した実行ログではありません。
1. コマンドRTVTCPINFの紹介
TCP/IP構成情報をライブラリーへ収集する
RTVTCPINF は、システムの標準的な保管場所にあるTCP/IP構成情報を収集し、指定したライブラリーへ格納するコマンドです。
収集した情報は、UPDTCPINF(TCP/IP情報の更新)で構成を再設定・復元する際に使用できます。
IBMは、IPインターフェースの構成・検証後や、TCP/IPおよび対応アプリケーションの大きな変更前に、構成のバックアップを取得することを推奨しています。
出典:IBM Docs 7.4:TCP/IP構成情報の保管と復元
収集するのは「構成を戻すための情報」
コマンド名の「検索」は、構成情報を取り出すという意味で捉えると分かりやすいと思います。
操作の流れは、次のとおりです。
現在のTCP/IP構成
↓ RTVTCPINF
指定ライブラリーに収集した情報
↓ UPDTCPINF
TCP/IP構成の再設定・復元
IBM Supportによると、対象にはデータベース・ファイル、データ域、IFSファイル、環境変数、妥当性検査リストなどが含まれます。TCP/IP構成と、対応するTCP/IPサーバーの設定をまとめて扱うための仕組みです。
なお、HTTPについて公式資料が挙げている対象は HTTP管理サーバー です。個別のWebアプリケーションを含め、あらゆる関連資産が収集されるとは解釈しないようにします。
出典:IBM Support:Retrieve TCP/IP Information (RTVTCPINF)
2. 基本操作
2.1 格納先のライブラリーを用意する
ここでは、格納先として TCPBK1101 というライブラリーを使用します。
CRTLIB LIB(TCPBK1101) TEXT('TCP/IP configuration backup')
これは本記事で使用するライブラリー名の例です。実際には、取得日や作業目的が分かる名前を付けると管理しやすくなります。
格納先には、あらかじめ存在するライブラリーを指定します。
2.2 TCP/IP構成情報を収集する
次のコマンドを実行します。
RTVTCPINF LIB(TCPBK1101)
LIB は収集先ライブラリーを指定する必須パラメーターです。実行には *SAVSYS 特殊権限が必要です。
このパラメーターと権限の記述は、取得できたIBM公式コマンド・リファレンス(7.5)でも確認しています。7.4環境での実施前には、実機のコマンド・ヘルプも確認してください。
2.3 取得時点を記録する
運用上は、コマンドの実行と併せて、次の情報を作業記録に残しておくと便利です。
- 取得元のシステム・区画
- 取得日時
- IBM iのリリースとPTF適用状況
- 格納先ライブラリー
- 取得目的(移行前、設定変更前など)
- ジョブ・ログの確認結果
これは、後で「どの時点の設定を戻すのか」を判断するための記録です。
また、収集先ライブラリーを元システム内に置くだけでは、システム全体の障害への備えとして十分ではありません。移行・復旧に使う場合は、ライブラリーの保管と移送を作業計画に含めます。
3. 実行結果と確認方法
3.1 指定ライブラリーに情報が格納される
実行結果として確認するのは、指定ライブラリー内のオブジェクトと、ジョブ・ログです。
オブジェクトを確認する操作例は次のとおりです。
WRKOBJ OBJ(TCPBK1101/*ALL)
本記事では実機検証を行っていないため、生成オブジェクトの名前や個数は掲載しません。実際の取得結果を確認し、作業記録として残してください。
3.2 ジョブ・ログを確認する
実行したジョブのログは、次のコマンドで確認できます。
DSPJOBLOG
IBM Supportでは、未構成のTCP/IPサーバーに関するオブジェクトが存在しない場合と、必要な構成オブジェクトが欠落している場合を区別して説明しています。
| メッセージID | 公式資料で説明されている意味 |
|---|---|
CPFA0A9 |
構成オブジェクトが存在しない場合に記録されることがある |
CPCC880 |
未構成・未使用のサーバーに対応するオブジェクトが存在しない状況でも、完了時に発行される |
CPFC880 |
必要な構成オブジェクトが欠落するなど、収集処理でエラーが発生した場合に発行される |
したがって、CPFA0A9 があるという理由だけで、取得全体が失敗したと判断することはできません。対象オブジェクト、対応する機能の利用状況、完了・エラーメッセージを併せて確認します。
出典:IBM Support:Retrieve TCP/IP Information (RTVTCPINF)
3.3 取得と復元は別の操作
RTVTCPINF で情報を収集した後、構成へ反映するには UPDTCPINF を使用します。
例えば、収集したホスト・テーブル情報を反映するコマンド例は次のとおりです。
UPDTCPINF LIB(TCPBK1101) TYPE(*HOSTTBL)
これは実際の構成を更新する操作です。取得結果を確認するためのコマンドではありません。
IBM i 7.4の公式資料には、実行条件として次の制約があります。
-
*SECADM、*ALLOBJ、*SAVSYSの特殊権限が必要 - TCP/IPが活動中の場合は実行できない
-
TYPE(*ALL)またはTYPE(*NRG)の場合、すべてのネットワーク冗長グループ(NRG)が非活動状態である必要がある
TCP/IPの停止は接続に影響するため、復元作業ではコンソールなどの操作経路と停止時間を事前に確保します。
出典:IBM Docs 7.4:TCP/IP情報の更新(UPDTCPINF)
4. 期待できる用途
ここからは、公式資料で説明されている収集・復元機能を踏まえた、運用上の活用例です。
4.1 ネットワーク設定変更前の退避
IPインターフェースや経路などの構成を変更する前に取得しておけば、変更前の構成を復元するための材料になります。
ただし、取得できたことと、予定した手順で復元できることは別です。重要な変更では、復元対象と復元手順も事前に確認します。
4.2 移行作業での構成引き継ぎ
移行元でTCP/IP構成情報を収集し、移行先での構成反映に利用する用途が考えられます。
一方で、移行先ではIPアドレス、ネットワーク接続、インターフェースとの対応などが変わる場合があります。反映対象を選び、移行先の条件に合わせて確認する必要があります。
UPDTCPINF には、例えば次の指定があります。
| TYPE | 更新対象 |
|---|---|
*ALL |
サポートされるすべてのTCP/IP情報 |
*TCPCFG |
TCP/IP構成 |
*HOSTTBL |
ホスト・テーブル |
*FTP |
FTP構成 |
*NETSVR |
NetServer構成 |
これらの選択肢は、移行計画に合わせて反映範囲を検討する際に役立ちます。
なお、異なるリリース間での互換性は、コマンドの存在だけでは判断できません。 本記事は7.4を基準とした紹介であり、異なるリリースへの移行では、移行先の資料と検証結果を基に可否を判断してください。
出典:IBM Docs 7.4:Update TCP/IP Information (UPDTCPINF)
4.3 障害復旧に向けた構成の確保
正常に動作している時点の情報を取得・保管しておくことで、構成変更後の問題や復旧作業に備えられます。
復旧時に使えるようにするには、収集情報だけでなく、取得時点の記録、保管媒体、復元手順をセットで管理することが大切です。
4.4 定常的なバックアップ運用の確認
IBM Supportによると、QUSRSYS ライブラリーの保管時には、内部的に RTVTCPINF が実行され、TCP/IP構成オブジェクトが保管ファイルとして同ライブラリーへ格納されます。
この仕組みを理解しておくと、既存のバックアップ運用でTCP/IP構成情報をどのように扱っているか、確認するきっかけになります。
出典:IBM Support:Retrieve TCP/IP Information (RTVTCPINF)