PowerVSまたはオンプレにIBM i インスタンス・LPARを作成した際のデフォルト値は古くはAS/400時代から継承したデフォルト値が設定されていたり、最新のセキュリティ事情を鑑みて実際運用にはそぐわない設定になっていたりします。
例えばシステム値 QCTLSBSDはAS/400時代から一貫して変わらないQBASEですが大多数の環境はQCLTを使用しているはずです。QMAXSGNACN=3,QMAXSIGN=3でコンソールからQSECOFRで3回パスワード失敗するとコンソールもQSECOFRも使用不可*DISABLEDになってしまいます。実運用では可能かもしれませんが、特に初期構築時などはもうちょっと緩くしておきたいことも多いと思います。
運用の容易性やオンプレなど既存環境との共通化などを念頭に以下、個人的おススメ設定変更値をご紹介します。
システム値
1.システム値 WRKSYSVAL CHGSYSVAL コマンドを使用
QLMTDEVSSN 1->0 : 1つのユーザーIDで同時サインオン可能なセッション数
デフォルトは1(1ID/1セッションのみサインオン可能)。0にすると無制限に複数セッションサインオン可能
CHGSYSVAL SYSVAL(QLMTDEVSSN) VALUE('0')
QLMTSECOFR 1->0 :*SECOFRクラスのユーザーがサインオンできる端末を限定
デフォルトの1はSECOFRクラスのユーザーIDのアクセス権を個々のDEVDに追加しないとサインオンできない。0にすることで*SECOFRクラスのユーザーIDアクセス権の付与が不要で全ての端末(*DEVD)でサインオン可能になる。
CHGSYSVAL SYSVAL(QLMTSECOFR) VALUE('0')
QMAXSIGN : 許されるサインオン試行の最大回数
デフォルトは3。3回以上連続で(パスワード間違い等で)サインオンに失敗すると QMAXSGNACNに指定の動作が発生する。
値は1~25、*NOMAX(無制限にサインオン試行可能)5,10,25,*NOMAXなど安全な数に増やす。※本番稼働後には忘れずに適切な値に再設定してください。
CHGSYSVAL SYSVAL(QMAXSIGN) VALUE('25')
QMAXSGNACN : QMAXSIGNの回数だけ連続してサインオン失敗した際、発生する動作
デフォルトは3。サインオン失敗したユーザーIDと端末DEVDがDISABLED使用不可に変更される。たとえばDSP01コンソールから導入作業中で*SECOFRクラスがシステム提供の1つ(QSECOFR)しかない状態でこの設定値が発動すると、QSECOFRが使えない、コンソールDSP01が使えない、という事が発生してしまいます。コンソールが使えないと導入作業そのものが継続できない場合もあるので困ってしまいます。
1=端末DEVDを使用不可、2=ユーザーIDを使用不可のいずれかに変更するのが安全です。
個人的にはSECOFRクラスのユーザープロフィールを別に作成して、作業はそちらで実施し、かつQMAXSGNACNを2にするのが推奨です。
CHGSYSVAL SYSVAL(QMAXSGNACN) VALUE('2')
QAUTOVRT : 端末*DEVDの最大自動作成数
DEVDを自動作成する最大数。デフォルトは0で自動作成されないので、CRTDEVDコマンドで5250端末用のDEVDを手動作成する必要があります。(本番業務中はその方がセキュリティ上安全と言えます。)
導入作業中などはある程度大きめに設定しておく方が安全と言えます。例では20としました。
CHGSYSVAL SYSVAL(QAUTOVRT) VALUE('20')
QCTLSBSD : コントロールSBSDを指定
コントロールSBSDはIPL時一番最初に起動されるサブシステムです。システム提供は QSYS/QBASE と QSYS/QCTL があります。QBASEはかつてAS/400時代に小規模なシステムで使用されていましたが昨今のIBM i ではほとんどが QCTL を使っていると思います。
QBASEの場合、他のサブシステムでQINTER(5250専用サブシステム), QBATCH(バッチジョブ専用サブシステム)などは起動されず基本的にはQBASEで全て実行されます。
QCTLにするとQINTER, QBATCHその他サブシステムが開始されます。
移行前システムがQBASEである、といった場合以外はQCTLに変更するので良いと思います。
CHGSYSVAL SYSVAL(QCTLSBSD) VALUE('QCTL QSYS')
QASTLVL : 5250端末でF1キーを押したとき表示されるヘルプ画面その他の表示レベル
デフォルトは*BASICですがシステムを理解していないユーザー向けのレベルです。システム操作をするには簡単すぎて変更操作などは逆に煩雑になるため *INTERMED(中間レベル)がおススメです。
CHGSYSVAL SYSVAL(QASTLVL) VALUE(*INTERMED)
QALWOBJRST : 機密保護属性を持つオブジェクトの復元可否を指定
デフォルトは設定値無し。この状態ではたとえばライセンスプログラムをGO LICPGMコマンドやRSTLICPGMコマンドで復元する際にエラーが発生してしまう場合があります。
初期の導入作業時などは *ALLに変更します。導入作業完了後は設定をデフォルトに戻してもよいと思います。
CHGSYSVAL SYSVAL(QALWOBJRST) VALUE(*ALL)
QTIMZON
デフォルトは*GMT。日本国内のシステムの場合は QP0900JST (タイムゾーンをJST)な事が多いと思います。旧システムから移行の場合は旧システムに合わせることが多いと思います。
CHGSYSVAL SYSVAL(QTIMZON) VALUE('QP0900JST')
上記のうちQCTLSBSDの設定変更はIPLが必要です。その他は即時変更です。
*SECOFRクラスのユーザーID
2.個人用のユーザーID *USRPRFをCRTUSRPRFで作成する QSECOFRなどは温存し個人のIDで作業を推奨。権限もできる限り最小限に設定します
以上です。
また、PowerVSにIBM i 導入した直後の注意点・TIPSも以下に共有しますと、
Db2 for i のデータベース名の設定
WRKRDBDIREコマンドで自分自身(LOCAL)のデータベース名を登録します。デフォルトではPowerサーバーのシリアル番号やそのIBM i LPARのホスト名などになっていると思います。それ以外の名前に変更したい場合は一度LOCALのデータベース名を削除して、必要な名前を指定します。
ADDRDBDIRE RDB(RDB1) RMTLOCNAME(*LOCAL *IP)
TCP/IP関連設定
以下は基本的には必ず設定してください。アプリケーションやOS機能によっては下記の設定がされていないと正しく動作しない場合があります。
- CFGTCP オプション10 ホストテーブルの追加。いわゆるHOSTSファイルです。
CFGTCPコマンド → オプション10.から必要なホスト名を追加します。テスト環境などでDNSが無い場合は必ず自分自身のホスト名を登録しておきます。
- CFGTCP オプション12 DNSサーバー、自分のIPドメイン名の設定
以下のように、自身のホスト名、ドメイン名、を指定します。

上記でホスト名検索順位は、*LOCALにすると上で設定したHOSTSファイルを先に検索し、なければDNSサーバーに問い合わせします。*REMOTEの場合は検索順が逆になります。(DNSサーバーを先に、なければHOSTSファイルを検索)
PowerVS導入時のTips
A. IBM i OS導入完了を表す INZSYSが開始された/INZSYSが完了したというメッセージをDSPMSG QSYSOPRかDSPLOGで必ず確認すること
B. IBM CloudのIPアドレスを付与する作業は導入完了後15分以上遅くなる場合も観測されました。
この間IBM iのIPは127.0.0.1しかありませんがじきに指定したIPが付与されます
どのようなロジックか不明なのですが、IPが付与されるまでの間はシャットダウン等せずIPが割り当てられるまでしばらく放置しておく方がトラブル防止になると思われます。(個人的な経験上、執筆時点です。将来は変わるかもしれません)
C.OS導入中の注意点になりますがライセンスプログラムの使用許諾を必ずACCEPTすること
(英語表示なので読み飛ばし注意)
