7.8. Discovery イメージの構築

Discovery イメージは、ホストで PXE ブートして、ハードウェアの情報を取得し、Satellite にチェックインする必要最小限のオペレーティングシステムです。検出されたホストは、Anaconda で再起動されるまで Discovery イメージを実行し続け、プロビジョニングプロセスを開始します。

オペレーティングシステムイメージは Red Hat Enterprise Linux 7 をベースにしています。

foreman-discovery-image パッケージには、このイメージが含まれます。TFTP サービスを提供する Capsule にパッケージをインストールする必要があります。

この手順を使用して、Satellite Discovery イメージを構築するか、設定ファイルを変更した場合にはイメージを再構築します。

この手順は、実稼働の Satellite または Capsule で実行しないでください。専用の環境を使用するか、同期済みのリポジトリーと、キックスタートファイルを別のサーバーにコピーしてください。

前提条件

  • livecd-tools パッケージをインストールしておく。

    # satellite-maintain packages install livecd-tools
  • 検出イメージをビルドする必要のある以下の Red Hat Enterprise Linux 7 リポジトリーでは、ダウンロードポリシーを Immediate に変更します。Satellite は、ダウンロードポリシーが即時に設定されている場合にリポジトリー同期中にのみ全パッケージをダウンロードするので、この設定が必要です。

    • 最新の Red Hat Enterprise Linux 7 キックスタート リポジトリーを同期します。(例: Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.7)
    • Red Hat Satellite Capsule 6.9 (RHEL 7 Server 用 RPMs x86_64).

    ダウンロードポリシーの変更に関する詳細は、コンテンツ管理ガイドリポジトリーのダウンロードポリシーの変更 を参照してください。

  • 検出イメージのビルドに必要な以下の Red Hat Enterprise Linux 7 リポジトリーを同期します。

    • 最新の Red Hat Enterprise Linux 7 キックスタート リポジトリーを同期します。(例: Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.7)
    • Red Hat Satellite Capsule 6.9 (RHEL 7 Server 用 RPMs x86_64).

    リポジトリーの同期に関する詳細は、コンテンツ管理ガイドRed Hat リポジトリーの同期 を参照してください。

手順

Satellite 検出イメージをビルドするには、以下の手順を実行します。

  1. /usr/share/foreman-discovery-image/foreman-discovery-image.ks ファイルを開いて編集します。

    # vim /usr/share/foreman-discovery-image/foreman-discovery-image.ks
  2. キックスタートファイルの repo の行は、リポジトリーの URL に置き換えます。

    repo --name=rhel --baseurl=file:///var/lib/pulp/published/yum/https/repos/Default_Organization/Library/content/dist/rhel/server/7/7.7/x86_64
    repo --name=sat --baseurl=file:///var/lib/pulp/published/yum/https/repos/Default_Organization/Library/content/dist/rhel/server/7/7Server/x86_64/sat-capsule/6.9/os
  3. livecd-creator ツールを実行します。

    # livecd-creator --title="Discovery-Image" \
    --compression-type=xz \
    --cache=var/cache/build-fdi \
    --config /usr/share/foreman-discovery-image/foreman-discovery-image.ks \
    --fslabel fdi \
    --tmpdir /var/tmp

    --fslabel オプションで fdi を変更した場合には、イメージの読み込み時に kernel コマンドラインの root ラベルを変更する必要があります。fdi または別の名前を、この手順の一部で作成した .iso ファイルに追加します。PXE Discovery ツールは、.iso から PXE に変換時に、この名前を使用します。

    このプロセスには 3 GB 近くの容量が必要で、システムの swap 領域が少ない場合に /tmp で問題が発生する可能性があるので、/var/tmp を使用します。

  4. fdi.iso ファイルが作成されていることを確認します。

    # ls -h *.iso

.iso ファイルを作成した場合には、.iso ファイルをネットワークでもローカルでも起動できます。以下の手順のいずれかを実行してください。

ネットワーク経由で iso ファイルを起動する場合:

  1. ネットワーク経由で初期の ramdisk と kernel ファイルを .iso ファイルから抽出するには、以下のコマンドを入力します。

    # discovery-iso-to-pxe fdi.iso
  2. ブートファイルを保存するディレクトリーを作成します。

    # mkdir /var/lib/tftpboot/boot/myimage
  3. initrd0.img および vmlinuz0 ファイルを新しいディレクトリーにコピーします。
  4. /var/lib/tftpboot/pxelinux.cfg ファイルで KERNELAPPEND エントリーを編集して、独自の初期 ramdisk および kernel ファイルに関する情報を追加します。

ローカルで iso ファイルを起動する場合:

ローカルで起動するハイブリッドの .iso ファイルを作成する場合には、以下の手順を行います。

  1. .iso ファイルを .iso のハイブリッドファイルに変換して PXE プロビジョニングを行うには、以下のコマンドを入力します。

    # isohybrid --partok fdi.iso

    grub2 パッケージをインストールする場合には、以下のコマンドを使用して、grub2 ブートローダーにインストールすることも可能です。

    # isohybrid --partok --uefi fdi.iso
  2. md5 チェックサムを .iso ファイルに追加して、Satellite でインストールメディアのバリデーションテストに合格するには、以下のコマンドを入力します。

    # implantisomd5 fdi.iso