Red Hat Training

A Red Hat training course is available for RHEL 8

20.4. ディスクレスクライアントのエクスポートしたファイルシステムの設定

この手順では、ディスクレスクライアントのエクスポートしたファイルシステムを設定する方法を説明します。

前提条件

手順

  1. /etc/exports にその root ディレクトリーを追加して、root ディレクトリーをエクスポートするように NFS サーバーを設定します。手順は、NFS サーバーの設定 を参照してください。
  2. ディスクレスクライアントに完全に対応できるようにするには、root ディレクトリーには Red Hat Enterprise Linux の完全なインストールが含まれている必要があります。新しいベースシステムをインストールするか、または既存のインストールのクローンを作成できます。

    • Red Hat Enterprise Linux をエクスポートした場所にインストールするには、--installroot オプションを指定して yum ユーティリティーを使用します。

      # yum install @Base kernel dracut-network nfs-utils \
            --installroot=exported-root-directory --releasever=/
    • 実行中のシステムで同期するには、rsync ユーティリティーを使用します。

      # rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' \
             example.com:/  exported-root-directory
      • example.com は、rsync ユーティリティーで同期する実行中のシステムのホスト名に置き換えます。
      • exported-root-directory を、エクスポートしたファイルシステムへのパスに置き換えます。

        このオプションには、実行中の別のシステムが必要です。これは、このコマンドでサーバーにクローンを作成します。

エクスポートするファイルシステムは、ディスクレスクライアントが使用できるようにする前に追加で設定する必要があります。空き領域が足りない場合は、次の手順を実行します。

ファイルシステムの設定

  1. ディスクレスクライアントが使用するカーネル (vmlinuz-kernel-version) を選択し、tftp の boot ディレクトリーにコピーします。

    # cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/
  2. initrd、つまり initramfs-kernel-version.img ファイルをローカルに作成し、NFS をサポートするエクスポートされたルートディレクトリーに移動します。

    # dracut --add nfs initramfs-kernel-version.img kernel-version

    以下に例を示します。

    # dracut --add nfs /exports/root/boot/initramfs-4.18.0-348.20.1.el8_5.x86_64.img 4.18.0-348.20.1.el8_5.x86_64
  3. 次のコマンドで initrd のファイル権限を 644 に変更します。

    # chmod 644 /exported-root-directory/boot/initramfs-<kernel-version>.img
    警告

    initrd のファイルパーミッションを変更しないと、pxelinux.0 ブートローダーが file not found エラーで失敗します。

  4. 作成した initramfs-kernel-version.imgtftp の boot ディレクトリーにコピーします。

    # cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/
  5. /var/lib/tftpboot/ ディレクトリーに initrd とカーネルを使用するように、デフォルトのブート設定を編集します。この設定は、エクスポートしたファイルシステム (/exported-root-directory) を読み書きとしてマウントするよう、ディスクレスクライアントの root に指示を出します。/var/lib/tftpboot/pxelinux.cfg/default ファイルに以下の設定を追加します。

    default rhel8
    
    label rhel8
      kernel vmlinuz-kernel-version
      append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory rw

    server-ip を、tftp サービスと DHCP サービスが置かれているホストマシンの IP アドレスに置き換えます。

  6. 必要に応じて、/var/lib/tftpboot/pxelinux.cfg/default ファイルで以下の設定を使用して、システムを 読み取り専用 形式でマウントできます。

    default rhel8
    
    label rhel8
      kernel vmlinuz-kernel-version
      append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory ro
  7. NFS サーバーを再起動します。

これで、NFS 共有がディスクレスクライアントにエクスポートできるようになりました。これらのクライアントは、PXE 経由でネットワーク経由で起動できます。