24.3. 为无盘客户端配置导出的文件系统
先决条件
- 安装所需软件包。请查看 第 24 章 设置远程无盘系统
- 配置
tftp
服务。请参阅 第 24.1 节 “为无盘客户端配置 tftp 服务”。 - 配置 DHCP。请参阅 第 24.2 节 “为无盘客户端配置 DHCP”。
流程
- 导出的文件系统的根目录(由网络中的无盘客户端使用)通过 NFS 共享。通过将根目录添加到
/etc/exports
,将 NFS 服务配置为导出根目录。有关如何操作的步骤,请查看 第 8.6.1 节 “/etc/exports
配置文件”。 - 要完全使用无盘客户机,根目录应该包含完整的 Red Hat Enterprise Linux。您可以克隆现有安装或安装新的基本系统:
- 要与正在运行的系统同步,请使用
rsync
工具:#
rsync -a -e ssh --exclude='/proc/*' --exclude='/sys/*' \ hostname.com:/exported-root-directory- 使用要通过
rsync
进行同步的正在运行的系统的主机名替换 hostname.com。 - 使用导出的文件系统的路径替换 exported-root-directory。
- 要将 Red Hat Enterprise Linux 安装到导出的位置,请使用带有
--installroot
选项的yum
工具:#
yum install @Base kernel dracut-network nfs-utils \ --installroot=exported-root-directory --releasever=/
在被无盘客户端使用之前,要导出的文件系统仍然需要做进一步的配置。要做到这一点,请执行以下步骤:
过程 24.2. 配置文件系统
- 选择无盘客户端应使用的内核(
vmlinuz-kernel-version
)并将其复制到 tftp 引导目录中:#
cp /boot/vmlinuz-kernel-version /var/lib/tftpboot/ - 使用 NFS 支持创建
initrd
(即initramfs-kernel-version.img
):#
dracut --add nfs initramfs-kernel-version.img kernel-version - 使用以下命令将 initrd 的文件权限改为 644:
#
chmod 644 initramfs-kernel-version.img警告如果没有更改 initrd 的文件权限,pxelinux.0 引导装载程序将失败,并显示 "file not found" 错误。 - 同时,将生成的
initramfs-kernel-version.img
复制到 tftp 引导目录中。 - 编辑默认启动配置,以使用
/var/lib/tftpboot/
目录中的initrd
和内核。此配置应指示无盘客户端的 root 用户以读写形式挂载导出的文件系统(/exported/root/directory
)。在/var/lib/tftpboot/pxelinux.cfg/default
文件中添加以下配置:default rhel7 label rhel7 kernel vmlinuz-kernel-version append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported/root/directory rw
使用 tftp 和 DHCP 服务所在的主机的 IP 地址替换server-ip
。
NFS 共享现在可以导出到无盘客户端。这些客户端可通过 PXE 通过网络引导。