パソコンを使う場合、電源ONからシャットダウンして電源をOFFにするところまで、毎日のように行いますが、メインフレームでも同じです。ただ基幹業務で使うメインフレームの場合、毎日行っているところは少なく、月に一回あるいは年に数回、など止めずに運用を行っている企業が多くなっています。
またSEやプログラマーの人の中には、IPLなどやり方どころか見たこともない、という人も少なくありません。でもシステム運用に携わるならば、単なるオペレーションの方法だけでなく、実際に何が行われているのか、を理解しておくと応用が拡がります。
IPL
IPLはInitial Program Loadのことで、OSを起動するためのプログラムをメモリーに読み込み、CPUによって実行させることです。現実にはプロセッサーやI/Oデバイスの電源をONにして、ハードウェアの準備を行うところから、OSを立ち上げ、業務で使用する各種のソフトウェア(オンラインやデータベース・システムなど)を開始する、一連の手順をひっくるめて、IPLと呼ぶことも多いのですが、本来はOSを開始するための専用のプログラムを実行させることを言います。
メーカーや機種によって異なりますが、プロセッサーを制御するシステム・コンソール(ハードウェア管理コンソール、SVPコンソールとも呼ばれる)から、LOAD操作によってIPLは開始されます。LOAD(LOAD CLEAR)と呼ばれる専用のコマンドやパネル操作によって、OSのSYSRESボリュームの装置番号を指定することで、そのボリュームからIPLプログラムが読み込まれて、実行が開始されます。IPLプログラムはDASDボリュームの先頭トラック(トラック0)に格納される決まりになっていて、ボリュームのイニシャライズ時、あるいはリストアー時に書き込まれます。どのボリュームがSYSRESボリュームかは、D U,DASD,ONLINEコマンドによって知ることができます。STATUSが’S’と表示されているボリュームがSYSRESボリュームです。
IPLプログラム
IPL用のプログラムは、DASDボリューム上に、3つのレコードに分かれて書き込まれています。先頭トラック(シリンダー0、トラック0)の先頭レコード、2番目のレコード、および4番目のレコードです。(3番目のレコードはボリュームラベルとして使用される)
先頭の2つのレコードはブートストラップと呼ばれ、IPLプログラムをメモリーに読み込むためのチャネルプログラム(I/O専用のプログラム)で、IPLプログラムそのものは4番目のレコードとして格納されています。
IPLプログラムの主な役割は、リアルメモリーとバーチャルメモリーの初期化、I/O構成モジュール(IODF)、OSニュークリアス・モジュールのローディング、などで、OS自身の初期設定プログラムの実行に必要なシステム環境を整えます。
NIPプログラム
NIPはNucleus Initialization Programのことで、クロックの初期設定、SVCルーチンの組み込みや、ページデータセットの初期設定、各種のシステム空間の生成など、MVS自身の初期設定処理を行います。この時に使われるのがSYS1.PARMLIBデータセット内にある各種の初期設定パラメーターです。ここで定義されたパラメーターに従ってOSとしてのシステム環境を作り上げていきます。
OSがどのパラメーターを使うかを、オペレーターに問い合わせるのが、「IEA101A SPECIFY SYSTEM PARAMETERS」メッセージです。オペレーターはこのメッセージに使用するIPLパラメーターを応答することで、NIPの処理が行われていきます。NIPコンソール(マスターコンソール)にこのメッセージが出れば、IPLのフェーズはNIPに移ったことを示します。NIPからのメッセージや応答の操作は、システム・コンソールからNIPコンソールに移ります。
マスタースケジューラー初期設定プログラム
NIPが終了するとマスタースケジューラーが初期設定されます。PARMLIBに設定されたパラメーターによってコンソールが再設定され、IEACMDxx(MVSのみ)やCOMMNDxxに指定したコマンドの自動実行が行われます。NIPコンソール以外のコンソールもアクティブになります。SMFやSYSLOGの初期設定、各種サブシステムの初期設定なども、マスタースケジューラー初期設定プログラムによって行われます。LLAやVLFなどMVSが直接起動するSTC空間は、このフェーズで初期設定されるMSTRサブシステムによって開始されます。そしてマスターJCL(PARMLIB/MSTJCLxx)で定義された、マスタースケジューラーを開始します。プライマリーサブシステムであるJES2もMSTRサブシステムによって開始されます。
ここまでが終了して、MVSの一連の初期設定処理が完了します。
JES2初期設定
MSTRサブシステムによって開始されたJES2も初期設定が行われます。ここからは普段の運用操作でなじみ深いものでしょうから詳細は省きます。ポイントはスプールをクリアーするCOLDスタートを行うのか、前回JES2終了時のスプール内容をキープするWARMスタートを行うかです。特に障害の発生などによってシステム運用中にダウンした後の再IPLでは、よほど特別な事情がない限りWARMスタートです。
JES2の初期設定処理が終了すれば、業務運用で利用する各種のミドルウェア製品や、アプリケーション・プログラムの実行を開始できるようになります。
MVSではバージョンによって自動開始されるシステム空間が増減したり、各フェーズにおけるこまかな動作が変わりますが、システムの起動フェーズの基本は同じです。流れとしては、(電源ONなどのハードウェアの準備)→ IPL → NIP → マスタースケジューラー → JES2、と初期設定されると理解して下さい。現在では多くの企業が自動IPLを行っているので、操作を開始したら一気にJES2の起動まで完了し、さらに業務用ソフトの起動までも行われてしまいます。どこで何が行われるかを意識する必要がなくなってしまっていますが、何らかの理由でIPL処理がエラーで止まってしまうような時には、これらの初期設定処理のフェーズなども理解しておくと、対応のヒントに繋がります。興味がある方はSYSLOGを見るといいでしょう。IPL開始からJES2起動完了ぐらいまでを参照します。IPLや初期設定中のメッセージの意味をマニュアルで確認すると理解が深まります。またIPLや初期設定処理に関連するマニュアルには、「z/OS MVS 初期設定およびチューニングガイド」、「z/OS MVS 計画:操作」、「z/OS MVS システムコマンド」など。MSPでは「操作手引書」、VOS3では「システム操作-JSS3編-」、「センタ運営-JSS3-解説編」などがあります。
次回はシステムのターミネーションについてお話しします。
コメント
投稿にはログインしてください