text:佐々木 幹雄 日本アイ・ビー・エム
本稿では、IBM i サービスを利用したPTF運用のシステム化、自動化について紹介する。
現在、一般的なユーザーでのIBM i PTFの運用は都度、ユーザー担当者が最新PTFの情報を探して、自社のIBM i のPTFレベルと個別に突き合わせて適用可否を検討する、というケースが多いと思われる。
このような運用だと、「ユーザー側がPTF情報を取得しに行かないと、気づかない」ことが多々発生している。そのうちの一部では、本来新しいPTFを適用しておけば回避できたはずの障害が発生しているかもしれない。
そこで以下のサンプルユースケースは、トラブルの未然防止の観点でも有用性の高いシナリオであると考える。
サンプルで使用しているIBM i サービス
GROUP_PTF_CURRENCY ビュー
IBM iでは、システム情報の取得やCLコマンド実行など利便性の高いIBM i サービスが多く提供されている。ここでは数あるIBM i サービスの中から、PTFサービスのGROUP_PTF_CURRENCY ビューを取り上げたい。
GROUP_PTF_CURRENCY ビューは、IBM iに適用されたグループPTF単位の適用済みレベルの情報を収集し、IBM Preventive Service Planning(PSP)Web サイトで公開される最新情報とライブで比較を行い、状態をリストするビューと考えればよい。
IBM iに適用されたグループPTFの状態が一目でわかる項目も準備されているので、適用状況も楽に把握できる。
サンプル環境
このGROUP_PTF_CURRENCYビューを活用し、IBM iのグループPTFを最新レベルに保つためのサンプルをNode.jsで作成した。
このサンプルは、GROUP_PTF_CURRENCYビューで取得したIBM i のグループPTFを一覧表示し、最新レベルになっていないグループPTFをCLコマンドのSNDPTFORDでIBM iにダウンロードさせる。サンプルプログラムの表示結果が以下である。
このサンプルプログラムの動作に必要な実行環境は、次のとおりである
① ACSからインストール
・ Node.js
・ itoolkit-utils
② qshellからnpmコマンドでインストール
・ itoolkit
・ idb-connector (itoolkitに同梱されているため、インストールの実施は不要)
・ xml2js (itoolkitに同梱されているため、インストールの実施は不要)
・ express
・ ejs
・ url
③ その他、IBM iに必要な実行環境の条件
・ ECS連絡先情報の登録: GO SERVICEメニュー (連絡先情報を登録しておくことで、SNDPTFORDコマンド実行時に必要なパラメータの指定の多くを省略できる)
・ IBM iがインターネットに接続され、「www.ibm.com」と疎通できること
・ STRSCPSVRコマンドでSSHが起動されていること
PTF情報取得の流れ
Node.jsでコードした際に、主要な部分となるのが、GROUP_PTF_CURRENCYビューによるPTF情報の取得とSNDPTFORDコマンドによるグループPTFの発注およびダウンロードである。
IBM i サービスのGROUP_PTF_CURRENCYビューは、idb-connectモジュールを使って次のようにSQL文で実行している。
IBM iに適用済みのグループPTF単位で、上記SQL文を実行することにより、次の情報が取得できる。
より詳細な情報は、IBM Documentationで参照できる。
グループPTFの発注およびダウンロードは、itoolkitモジュールを使ってCLコマンドのSNDPTFORDをIBM i上にバッチ投入して実行している。
SNDPTFORDコマンドが実行されると、ワーク領域でIFSが使用され、QGPLライブラリーにセーブファイルで保管される。
GO PTFコマンドのオプション8で、「装置」に、*SERVICEを指定して実行すると、ダウンロードしたグループPTFが適用されて最新のPTFレベルになる。
特集 IBM i サービスを学ぶ
<概要編>
IBM i サービスの基本とメリット ~CLやAPIのプログラミング不要で、必要な機能がすぐに使える
著者
佐々木 幹雄氏
日本アイ・ビー・エム株式会社
IBM Powerテクニカルセールス
シニアITスペシャリスト
AS/400利用のお客様担当SEから出発し、さまざまなテクニカル職種を担当。現在はPower Systemsはじめインフラ提案・アーキテクチャ設計を主に担当している。
[i Magazine・IS magazine]