24.5. 初期 RAM ディスクイメージの検証

初期 RAM ディスクイメージの仕事は、IDE、SCSI、または RAID などのブロックデバイスモジュールをプレロードすることです。そうすることで、それらのモジュールが通常配備されている root ファイルシステムがアクセス可能になりマウントできるようになります。Red Hat Enterprise Linux 6 システム上では、YumPackageKitRPM パッケージマネージャのいずれかを使用してカーネルがインストールされる時は常に Dracut ユーティリティがインストールスクリプトによって呼び出されて、initramfs (初期 RAM ディスクイメージ) を作成します。
IBM eServer System i (参照「IBM eServer System i 上の初期 RAM ディスクイメージとカーネルの確証」) 以外のすべてのアーキテクチャ上では、dracut コマンドの実行により initramfs を作成できます。しかし、通常は手動で initramfs を作成する必要はありません。このステップは、カーネルとその関連パッケージが Red Hatで配布された RPM パッケージからインストールされているか、またはアップグレードされている場合には自動的に実行されます。
現在のカーネルバージョンに該当する initramfs が存在していること、及びそれが grub.conf 設定ファイル内で正しく指定されているかを検証するには、以下の手順に従います:

手順24.1 初期 RAM ディスクイメージの検証

  1. root として、/boot/ ディレクトリのコンテンツを一覧表示して、カーネル (vmlinuz-<kernel_version>) と最新のバージョン番号を持つ initramfs-<kernel_version> を見つけます。

    例24.1 カーネルと initramfs バージョンの一致を確認

    ~]# ls /boot/
    config-2.6.32-17.el6.x86_64 lost+found
    config-2.6.32-19.el6.x86_64 symvers-2.6.32-17.el6.x86_64.gz
    config-2.6.32-22.el6.x86_64 symvers-2.6.32-19.el6.x86_64.gz
    efi symvers-2.6.32-22.el6.x86_64.gz
    grub System.map-2.6.32-17.el6.x86_64
    initramfs-2.6.32-17.el6.x86_64.img System.map-2.6.32-19.el6.x86_64
    initramfs-2.6.32-19.el6.x86_64.img System.map-2.6.32-22.el6.x86_64
    initramfs-2.6.32-22.el6.x86_64.img vmlinuz-2.6.32-17.el6.x86_64
    initrd-2.6.32-17.el6.x86_64kdump.img vmlinuz-2.6.32-19.el6.x86_64
    initrd-2.6.32-19.el6.x86_64kdump.img vmlinuz-2.6.32-22.el6.x86_64
    initrd-2.6.32-22.el6.x86_64kdump.img
    • 3つのカーネルがインストールされています (または、より正確に言うと、3つのカーネルファイルが,/boot/ にあります)。
    • 最新のカーネルは vmlinuz-2.6.32-22.el6.x86_64 で、そして
    • そのカーネルバージョンに一致する initramfs ファイルである initramfs-2.6.32-22.el6.x86_64kdump.img も存在します。

    重要

    /boot/ ディレクトリ内で、いくつかの initrd-<version>kdump.img ファイルを見つけることができるでしょう。これらは、カーネルデバッグ目的で Kdump メカニズムによって作成された特別なファイルです。そしてシステムのブートには使用されないため無視しても安全です。
  2. (オプション) 使用している initramfs-<kernel_version> ファイルが、/boot/ にある最新カーネルのバージョンと一致しない場合、または他の特定状況では、Dracut ユーティリティを使用して initramfs ファイルを生成する必要があるかも知れません。root としてオプション無しで dracut を呼び出すと、それが /boot/ ディレクトリ内にある最新のカーネル用に initramfs ファイルを生成するようになります:
    ~]# dracut
    既存の initramfs を上書きする (例えば、これまでの initramfs が破損しているなど) ために dracut を使用する場合は、--force オプションを使用しなければなりません。そうしないと dracut は既存の initramfs ファイルの上書きを拒否します:
    ~]# dracut
    Will not override existing initramfs (/boot/initramfs-2.6.32-22.el6.x86_64.img) without --force
    現在のディレクトリに initramfs を作成するには、 dracut <initramfs_name> <kernel_version> を呼び出します:
    ~]# dracut "initramfs-$(uname -r).img" $(uname -r)
    プレロードする特定のカーネルモジュールを指定する必要がある場合は、それらのモジュール名 (.ko などのファイル名の接尾辞を差し引いたもの) を /etc/dracut.conf 設定ファイルにある add_dracutmodules="<module> [<more_modules> ]" 指示文の括弧内に追加します。dracut で作成されたinitramfs イメージファイルの内容は、lsinitrd <initramfs_file> コマンドを使用すると、一覧表示できます:
    ~]# lsinitrd initramfs-2.6.32-22.el6.x86_64.img
    initramfs-2.6.32-22.el6.x86_64.img:
    ========================================================================
    dracut-004-17.el6
    ========================================================================
    drwxr-xr-x  23 root     root            0 May  3 22:34 .
    drwxr-xr-x   2 root     root            0 May  3 22:33 proc
    -rwxr-xr-x   1 root     root         7575 Mar 25 19:53 init
    drwxr-xr-x   7 root     root            0 May  3 22:34 etc
    drwxr-xr-x   2 root     root            0 May  3 22:34 etc/modprobe.d
    [出力は省略されています]
    オプションと使用法についての詳細情報には、man dracutman dracut.conf を参照して下さい。
  3. /boot/grub/ ディレクトリ内の grub.conf 設定ファイルを検査して、ブートするカーネルバージョン用に initrd initramfs-<kernel_version>.img が存在することを確認します。詳細は、「ブートローダーの確証」 でご覧下さい。

IBM eServer System i 上の初期 RAM ディスクイメージとカーネルの確証

IBM eServer System i のマシン上では、初期 RAM ディスクとカーネルファイルは1つのファイルに統合してあり、これは addRamDisk コマンドで作成されます。カーネルとその関連パッケージがインストールされているか、または Red Hat で配布されている RPM パッケージでアップグレードされている場合は、このステップは自動的に実行されます。その場合、手動で実行する必要はありません。これが作成されていることを確認するには、コマンド ls -l /boot/ を使用して/boot/vmlinitrd-<kernel_version> ファイルが存在することを確認します (<kernel_version> はインストールしたばかりのカーネルバージョンと一致する必要があります)。