IBM System z:initrdのレスキューシステムとしての使用

IBM System z用のSUSEŽ Linux Enterprise Serverカーネルをアップグレード、変更した場合、何らかの原因でシステムが不整合な状態で再起動されると、インストールされているシステムのIPL標準処理が失敗する可能性があります。一般的にこの問題は、アップデートされたSUSE Linux Enterprise Serverカーネルをインストールした後で、IPLレコードをアップデートするziplプログラムをまだ実行していない場合に発生します。この場合、レスキューシステムとして標準のインストールパッケージを使用して、そこからziplプログラムを実行してIPLレコードをアップデートしてください。

レスキューシステムのIPL処理

[Important]インストールデータを利用できるようにする

この方法を使用する場合、IBM System z版SUSE Linux Enterprise Serverのインストールデータが利用可能でなければなりません。詳細については、項 「インストールデータを利用できるようにする」 (第4章 IBM System zへのインストール, ↑導入ガイド)を参照してください。また、SUSE Linux Enterprise Serverのルートファイルシステムを含むデバイスのチャネル番号、およびデバイス内のパーティション番号が必要になります。

まず、項 「インストールの準備」 (第4章 IBM System zへのインストール, ↑導入ガイド)の説明に従って、IBM System z用SUSE Linux Enterprise ServerインストールシステムをIPL処理します。IPL処理すると、ネットワークアダプタのリストが表示されます。

レスキューシステムを開始するにはインストール処理またはシステムを開始するを選択してからレスキューシステムを開始するを選択します。次に、インストール環境に応じて、ネットワークアダプタやインストールソースに関するパラメータを指定する必要があります。レスキューシステムがロードされ、ログインプロンプトが表示されます。

Skipped services in runlevel 3:  nfs nfsboot

Rescue login:

rootとして、パスワードを指定しないでログインすることができます。

ディスクの設定

この状態では、設定されているディスクはありません。作業を続行する前に、ディスクを設定する必要があります。

手順32.8 DASDの設定

  1. DASDを設定するには、以下のコマンドを使用します。

    dasd_configure 0.0.0150 1 0

    ここで、「0.0.0150」は、DASDが接続されているチャネルを表します。1は、ディスクをアクティブにすることを表しています(ここに0を指定すると、ディスクが無効になる)。0は、ディスクにDIAGモードでアクセスしないことを表します(ここに1を指定すると、ディスクへのDAIGアクセスが有効になります)。

  2. DASDがオンラインになり(cat /proc/partitionsで確認)、コマンドを使用できるようになります。

手順32.9 zFCPディスクの設定

  1. zFCPディスクを設定するには、まずzFCPアダプタを設定する必要があります。そのためには次のコマンドを使用します。

    zfcp_host_configure 0.0.4000 1

    0.0.4000はアダプタが接続されているチャネルを、1(ここに0を指定するとアダプタが無効になる)はアクティブにすることを示します。

  2. アダプタをアクティブにしたら、ディスクを設定することができます。そのためには次のコマンドを使用します。

    zfcp_disk_configure 0.0.4000 1234567887654321 8765432100000000  1

    0.0.4000は前に使われていたチャネルIDを、1234567887654321はWWPN(World wide Port Number)を、そして8765432100000000はLUN(論理ユニット番号)を表しています。1(ここに0を指定するとディスクが無効になる)は、ディスクをアクティブにすることを表しています。

  3. zFCPディスクがオンラインになり(cat /proc/partitionsで確認)、コマンドを使用できるようになります。

ルートデバイスのマウント

必要なディスクがすべてオンラインになったら、ルートデバイスをマウントします。ここでは、DASDの2番目のパーティション(/dev/dasda2)にルートデバイスがあると仮定します。この場合、使用するコマンドはmount /dev/dasda2 /mntになります。

[Important]ファイルシステムの整合性

インストール済みシステムが正しくシャットダウンされなかった場合は、マウント前にファイルシステムの整合性を確認しておくことをお勧めします。整合性を確認することによって、予期せぬ事態によるデータ消失の危険を回避することができます。この例では、fsck /dev/dasda2コマンドを実行して、ファイルシステムの整合性を確認します。

mountコマンドを実行するだけでも、ファイルシステムが正しくマウントされたかどうかを確認することができます。

例32.1 mountコマンドの出力

SuSE Instsys suse:/ # mount
shmfs on /newroot type shm (rw,nr_inodes=10240)
devpts on /dev/pts type devpts (rw)
virtual-proc-filesystem on /proc type proc (rw)
/dev/dasda2 on /mnt type reiserfs (rw)

マウントされているファイルシステムの変更

ziplコマンド実行時に、レスキューシステムからではなく、インストール済みシステムのルートデバイスから設定ファイルを読み込ませるためには、chrootコマンドを使ってルートデバイスをインストール済みシステムに変更します。

例32.2 chrootを使ったマウントするファイルシステムの変更

SuSE Instsys suse:/ # cd /mnt 
SuSE Instsys suse:/mnt # chroot /mnt

ziplの実行

次に、ziplを実行して、IPLレコードを正しい値に書き換えます。

例32.3 ziplを使ったIPLレコードのインストール

sh-2.05b# zipl 
building bootmap : /boot/zipl/bootmap 
adding Kernel Image : /boot/kernel/image located at 0x00010000 
adding Ramdisk : /boot/initrd located at 0x00800000 
adding Parmline : /boot/zipl/parmfile located at 0x00001000 
Bootloader for ECKD type devices with z/OS compatible layout installed. 
Syncing disks.... 
...done

レスキューシステムの終了

レスキューシステムを終了するには、まずchrootコマンドで開かれたシェルをexitコマンドで終了します。データ消失を防ぐために、syncコマンドを使って、バッファ上にあるまだ書き込まれていないデータをすべてディスクに書き込みます。次に、レスキューシステムのルートディレクトリに移動して、IBM System z版SUSE Linux Enterprise Serverのルートデバイスをアンマウントします。

例32.4 ファイルシステムのアンマウント

SuSE Instsys suse:/mnt # cd / 
SuSE Instsys suse:/ # umount /mnt

最後に、haltコマンドを実行して、レスキューシステムを終了します。項 「IBM System z: インストール済みシステムのIPL処理」 (第6章 YaSTによるインストール, ↑導入ガイド)で説明されているように、SUSE Linux Enterprise ServerシステムのIPL処理が行われます。