Red Hat Training
A Red Hat training course is available for RHEL 8
20.4. ディスクレスクライアントのエクスポートしたファイルシステムの設定
この手順では、ディスクレスクライアントのエクスポートしたファイルシステムを設定する方法を説明します。
前提条件
- 必要なパッケージをインストールしている。「リモートディスクレスシステム用環境の準備」 の前提条件を参照してください。
-
tftp
を設定している。「ディスクレスクライアントの tftp サービスの設定」 を参照してください。 - DHCP を設定している。「ディスクレスクライアントの DHCP サーバーの設定」 を参照してください。
手順
-
/etc/exports
にその root ディレクトリーを追加して、root ディレクトリーをエクスポートするように NFS サーバーを設定します。手順は、NFS サーバーの設定 を参照してください。 ディスクレスクライアントに完全に対応できるようにするには、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 を、エクスポートしたファイルシステムへのパスに置き換えます。
このオプションには、実行中の別のシステムが必要です。これは、このコマンドでサーバーにクローンを作成します。
-
example.com は、
エクスポートするファイルシステムは、ディスクレスクライアントが使用できるようにする前に追加で設定する必要があります。空き領域が足りない場合は、次の手順を実行します。
ファイルシステムの設定
ディスクレスクライアントが使用するカーネル (
vmlinuz-kernel-version
) を選択し、tftp
の boot ディレクトリーにコピーします。#
cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/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
次のコマンドで
initrd
のファイル権限を 644 に変更します。#
chmod 644 /exported-root-directory/boot/initramfs-<kernel-version>.img警告initrd のファイルパーミッションを変更しないと、
pxelinux.0
ブートローダーが file not found エラーで失敗します。作成した
initramfs-kernel-version.img
をtftp
の boot ディレクトリーにコピーします。#
cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot//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 アドレスに置き換えます。必要に応じて、
/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
- NFS サーバーを再起動します。
これで、NFS 共有がディスクレスクライアントにエクスポートできるようになりました。これらのクライアントは、PXE 経由でネットワーク経由で起動できます。