2.6. 准备使用 PXE 从网络安装
这部分论述了如何在 PXE 服务器中配置 TFTP 和 DHCP 来启用 PXE 引导和网络安装。
2.6.1. 网络安装概述 复制链接链接已复制到粘贴板!
网络安装允许您将 Red Hat Enterprise Linux 安装到可访问安装服务器的系统。网络安装至少需要两个系统:
- Server
- 运行 DHCP 服务器的系统、HTTP、HTTPS、FTP 或 NFS 服务器以及 PXE 引导情况下的 TFTP 服务器。虽然每个服务器可以运行在不同的物理系统上,但本节中的流程假设一个系统运行所有服务器。
- 客户端
- 要安装 Red Hat Enterprise Linux 的系统。安装启动后,客户端会查询 DHCP 服务器,从 HTTP 或 TFTP 服务器接收引导文件,并从 HTTP、HTTPS、FTP 或者 NFS 服务器下载安装镜像。与其它安装方法不同,客户端不需要任何物理引导介质来启动安装。
要从网络引导客户端,请在固件或客户端上的快速引导菜单中启用网络引导。在某些硬件上,从网络引导的选项可能被禁用了,或者不可用。
准备使用 HTTP 或 PXE 从网络安装 Red Hat Enterprise Linux 的工作流步骤如下:
步骤
- 将安装 ISO 镜像或者安装树导出到 NFS、HTTPS、HTTP 或者 FTP 服务器中。
- 配置 HTTP 或 TFTP 服务器和 DHCP 服务器,并在服务器上启动 HTTP 或 TFTP 服务。
- 引导客户端并开始安装。
您可以在以下网络引导协议之间进行选择:
- HTTP
- 如果您的客户端 UEFI 支持,红帽建议使用 HTTP 引导。HTTP 引导通常更可靠。
- PXE (TFTP)
- 客户端系统更广泛地支持 PXE 引导,但通过此协议发送引导文件可能会很慢,并导致超时失败。
2.6.2. 为 HTTP 和 PXE 引导配置 DHCPv4 服务器 复制链接链接已复制到粘贴板!
在您的服务器上启用 DHCP 版本 4 (DHCPv4)服务,以便它可以提供网络引导功能。
先决条件
您通过 IPv4 协议准备网络安装。
对于 IPv6 ,请参阅 为 HTTP 和 PXE 引导配置 DHCPv6 服务器。
查找服务器的网络地址。
在以下示例中,服务器有具有此配置的网卡:
- IPv4 地址
- 192.168.124.2/24
- IPv4 网关
- 192.168.124.1
流程
安装 DHCP 服务器:
dnf install dhcp-server
dnf install dhcp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置 DHCPv4 服务器。在
/etc/dhcp/dhcpd.conf
文件中输入以下配置。替换地址以匹配您的网卡。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 DHCPv4 服务:
systemctl enable --now dhcpd
# systemctl enable --now dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.3. 为 HTTP 和 PXE 引导配置 DHCPv6 服务器 复制链接链接已复制到粘贴板!
在您的服务器上启用 DHCP 版本 6 (DHCPv4)服务,以便它可以提供网络引导功能。
先决条件
您通过 IPv6 协议准备网络安装。
对于 IPv4,请参阅为 HTTP 和 PXE 引导配置 DHCPv4 服务器。
查找服务器的网络地址。
在以下示例中,服务器有具有此配置的网卡:
- IPv6 地址
- fd33:eb1b:9b36::2/64
- IPv6 网关
- fd33:eb1b:9b36::1
流程
安装 DHCP 服务器:
dnf install dhcp-server
dnf install dhcp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置 DHCPv6 服务器。在
/etc/dhcp/dhcpd6.conf
文件中输入以下配置。替换地址以匹配您的网卡。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 DHCPv6 服务:
systemctl enable --now dhcpd6
# systemctl enable --now dhcpd6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 DHCPv6 数据包被防火墙中的 RP 过滤器丢弃了,请检查其日志。如果日志包含
rpfilter_DROP
条目,请使用/etc/firewalld/firewalld.conf
文件中的以下配置禁用过滤器:IPv6_rpfilter=no
IPv6_rpfilter=no
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.4. 为基于 BIOS 的客户端配置 TFTP 服务器 复制链接链接已复制到粘贴板!
使用这个步骤配置 TFTP 服务器和 DHCP 服务器,并为基于 BIOS 的 AMD 和 Intel 64 位系统在 PXE 服务器中启动 TFTP 服务。
本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。
流程
以 root 用户身份,安装以下软件包:
dnf install tftp-server
# dnf install tftp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 允许到防火墙中的
tftp 服务
的传入连接:firewall-cmd --add-service=tftp
# firewall-cmd --add-service=tftp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
--permanent
选项。 - 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
从 DVD ISO 镜像文件中的
SYSLINUX
软件包访问pxelinux.0
文件,其中 my_local_directory 是您创建的目录的名称:mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
# mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp -pr /mount_point/AppStream/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
# cp -pr /mount_point/AppStream/Packages/syslinux-tftpboot-version-architecture.rpm /my_local_directory
Copy to Clipboard Copied! Toggle word wrap Toggle overflow umount /mount_point
# umount /mount_point
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 解压软件包:
rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
# rpm2cpio syslinux-tftpboot-version-architecture.rpm | cpio -dimv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
tftpboot/
中创建pxelinux/
目录,并将该目录中的所有文件复制到pxelinux/
目录中:mkdir /var/lib/tftpboot/pxelinux
# mkdir /var/lib/tftpboot/pxelinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
# cp /my_local_directory/tftpboot/* /var/lib/tftpboot/pxelinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
pxelinux/
目录中创建pxelinux.cfg/
目录:mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
default
的配置文件,并将其添加到pxelinux.cfg/
目录中,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
安装程序在没有运行时镜像的情况下无法引导。使用
inst.stage2
引导选项指定镜像的位置。另外,您可以使用inst.repo=
选项指定镜像和安装源。 -
与
inst.repo
一起使用的安装源位置必须包含有效的.treeinfo
文件。 -
当您选择 RHEL9 安装 DVD 作为安装源时,
.treeinfo
文件会指向 BaseOS 和 AppStream 存储库。您可以使用单个inst.repo
选项来加载这两个软件仓库。
-
安装程序在没有运行时镜像的情况下无法引导。使用
创建一个子目录,以将引导镜像文件存储在
/var/lib/tftpboot/
目录中,并将引导镜像文件复制到 目录。在这个示例中,目录为/var/lib/tftpboot/pxelinux/images/RHEL-9/
:mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-9/ cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-9/
# mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-9/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-9/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动并启用
tftp.socket
服务:systemctl enable --now tftp.socket
# systemctl enable --now tftp.socket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。
2.6.5. 为基于 UEFI 的客户端配置 TFTP 服务器 复制链接链接已复制到粘贴板!
使用这个流程配置 TFTP 服务器和 DHCP 服务器,并为基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 系统的 PXE 服务器启动 TFTP 服务。
- 本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。
-
Red Hat Enterprise Linux 9 UEFI PXE 引导支持基于 MAC 的 grub 菜单文件的小写文件格式。例如,grub2 的 MAC 地址文件格式为
grub.cfg-01-aa-bb-cc-dd-ee-ff
流程
以 root 用户身份,安装以下软件包:
dnf install tftp-server
# dnf install tftp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 允许到防火墙中的
tftp 服务
的传入连接:firewall-cmd --add-service=tftp
# firewall-cmd --add-service=tftp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
--permanent
选项。 - 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
访问 DVD ISO 镜像中的 EFI 引导镜像文件:
mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
# mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 复制 DVD ISO 镜像中的 EFI 引导镜像:
mkdir /var/lib/tftpboot/redhat cp -r /mount_point/EFI /var/lib/tftpboot/redhat/ umount /mount_point
# mkdir /var/lib/tftpboot/redhat # cp -r /mount_point/EFI /var/lib/tftpboot/redhat/ # umount /mount_point
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修复复制的文件的权限:
chmod -R 755 /var/lib/tftpboot/redhat/
# chmod -R 755 /var/lib/tftpboot/redhat/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下示例替换
/var/lib/tftpboot/redhat/EFI/BOOT/grub.cfg
的内容:set timeout=60 menuentry 'RHEL 9' { linuxefi images/RHEL-9/vmlinuz ip=dhcp inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/ initrdefi images/RHEL-9/initrd.img }
set timeout=60 menuentry 'RHEL 9' { linuxefi images/RHEL-9/vmlinuz ip=dhcp inst.repo=http://192.168.124.2/RHEL-9/x86_64/iso-contents-root/ initrdefi images/RHEL-9/initrd.img }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
安装程序在没有运行时镜像的情况下无法引导。使用
inst.stage2
引导选项指定镜像的位置。另外,您可以使用inst.repo=
选项指定镜像和安装源。 -
与
inst.repo
一起使用的安装源位置必须包含有效的.treeinfo
文件。 -
当您选择 RHEL9 安装 DVD 作为安装源时,
.treeinfo
文件会指向 BaseOS 和 AppStream 存储库。您可以使用单个inst.repo
选项来加载这两个软件仓库。
-
安装程序在没有运行时镜像的情况下无法引导。使用
创建一个子目录,以将引导镜像文件存储在
/var/lib/tftpboot/
目录中,并将引导镜像文件复制到 目录。在这个示例中,目录为/var/lib/tftpboot/images/RHEL-9/
:mkdir -p /var/lib/tftpboot/images/RHEL-9/ cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-9/
# mkdir -p /var/lib/tftpboot/images/RHEL-9/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-9/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动并启用
tftp.socket
服务:systemctl enable --now tftp.socket
# systemctl enable --now tftp.socket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。
2.6.6. 为 IBM Power 系统配置网络服务器 复制链接链接已复制到粘贴板!
使用 GRUB2 为 IBM Power 系统配置网络引导服务器。
本节中的所有配置文件都是示例。配置详情会根据架构和具体要求的不同而有所不同。
流程
以 root 用户身份,安装以下软件包:
dnf install tftp-server dhcp-server
# dnf install tftp-server dhcp-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 允许到防火墙中
tftp
服务的进入连接:firewall-cmd --add-service=tftp
# firewall-cmd --add-service=tftp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
--permanent
选项。 - 根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。
-
这个命令启用了临时访问,直到下次服务器重启为止。若要启用永久访问权限,可在 命令中添加
在 TFTP root 中创建一个 GRUB2 网络引导目录:
grub2-mknetdir --net-directory=/var/lib/tftpboot
# grub2-mknetdir --net-directory=/var/lib/tftpboot Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意命令输出会告诉您 DHCP 配置中需要配置的文件名,如下所述。
如果 PXE 服务器运行在 x86 机器上,则必须在 tftp root 中创建
GRUB2
网络引导目录前安装grub2-ppc64-modules
:dnf install grub2-ppc64-modules
# dnf install grub2-ppc64-modules
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建一个 GRUB2 配置文件:
/var/lib/tftpboot/boot/grub2/grub.cfg
,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
安装程序在没有运行时镜像的情况下无法引导。使用
inst.stage2
引导选项指定镜像的位置。另外,您可以使用inst.repo=
选项指定镜像和安装源。 -
与
inst.repo
一起使用的安装源位置必须包含有效的.treeinfo
文件。 -
当您选择 RHEL8 安装 DVD 作为安装源时,
.treeinfo
文件会指向 BaseOS 和 AppStream 软件仓库。您可以使用单个inst.repo
选项来加载这两个软件仓库。
-
安装程序在没有运行时镜像的情况下无法引导。使用
使用以下命令挂载 DVD ISO 镜像:
mount -t iso9660 /path_to_image/name_of_iso/ /mount_point -o loop,ro
# mount -t iso9660 /path_to_image/name_of_iso/ /mount_point -o loop,ro
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个目录,并将
initrd.img
和vmlinuz
文件从 DVD ISO 镜像复制到其中,例如:cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
# cp /mount_point/ppc/ppc64/{initrd.img,vmlinuz} /var/lib/tftpboot/grub2-ppc64/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的 DHCP 服务器配置为使用与
GRUB2
打包的引导镜像,如下例所示。请注意,如果您已经配置了 DHCP 服务器,在 DHCP 服务器中执行这个步骤。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
调整示例参数
subnet
、netmask
、routers
、fixed-address
和hardware ethernet
以适合您的网络配置。记录file name
参数 ; 这是grub2-mknetdir
命令在此流程前面输出的文件名。 在 DHCP 服务器上,启动并启用
dhcpd
服务。如果您已在 localhost 上配置了 DHCP 服务器,请在 localhost 上启动并启用dhcpd
服务。systemctl enable --now dhcpd
# systemctl enable --now dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动并启用
tftp.socket
服务:systemctl enable --now tftp.socket
# systemctl enable --now tftp.socket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,即您要安装 Red Hat Enterprise Linux 的系统,在提示指定引导源时选择 PXE 引导,并启动网络安装。