使用 PXE 服务器和 Kickstart 自动安装多个 RHEL 发行版

linuxoperating systemopen source更新于 2026/2/6 13:52:17

在 IT 领域,效率至关重要。无论是管理数据中心、部署新的软件更新,还是配置新硬件,简化流程都能带来显著的提升。其中一个最重要的领域就是操作系统的安装和配置。在部署多个 Red Hat Enterprise Linux (RHEL) 实例时,使用 PXE 服务器和 Kickstart 文件进行自动安装是最佳解决方案。

什么是 PXE 服务器?

PXE(预启动执行环境)是一种网络协议,允许计算机从网络上的服务器启动。本质上,这意味着您无需使用 CD 或 USB 驱动器等物理安装介质即可在计算机上安装操作系统。相反,计算机通过网络启动并从服务器下载操作系统映像。 PXE 可以与各种操作系统(包括 RHEL)配合使用,并且在时间和效率至关重要的大规模部署中非常有用。

什么是 Kickstart?

Kickstart 是一个用于自动安装和配置 RHEL 的配置文件。使用 Kickstart,您可以预先指定所有安装选项,包括分区、软件包选择和网络配置。安装过程开始时,安装程​​序会读取 Kickstart 文件并自动应用指定的设置。这可以真正节省时间,尤其是在安装具有相同配置的多个 RHEL 实例时。

设置 PXE 服务器

要设置 PXE 服务器,您需要准备一些东西。首先,您需要一台运行 Linux 的服务器,并且有足够的磁盘空间来存储 RHEL 映像。您还需要一个 DHCP(动态主机配置协议)服务器来为客户端计算机分配 IP 地址。最后,您需要一个 TFTP(简单文件传输协议)服务器来将启动文件传输到客户端计算机。

第一步是在您的 Linux 服务器上安装必要的软件包。您可以在基于 RHEL 的系统上使用以下命令执行此操作 -

yum install tftp-server syslinux httpd dhcp

安装软件包后,您需要配置 TFTP 服务器来提供启动文件。PXE 启动过程使用多个启动文件的组合,包括 pxelinux.0、menu.c32 和 vesamenu.c32。这些文件包含在您之前安装的 syslinux 软件包中。

使用以下命令将这些文件复制到 TFTP 服务器目录 -

cp /usr/share/syslinux/{pxelinux.0,menu.c32,vesamenu.c32} /var/lib/tftpboot/

接下来,您需要配置 DHCP 服务器以向客户端计算机分配 IP 地址。编辑 /etc/dhcp/dhcpd.conf 文件并添加以下行 -

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.100 192.168.1.200;
   option routers 192.168.1.1;
   option domain-name-servers 192.168.1.1;
   filename "pxelinux.0";
}

这些行定义了一个子网,其中包含要分配给客户端计算机的一系列 IP 地址。"filename"选项指定要从 TFTP 服务器下载的启动文件的名称。

最后,您需要配置 HTTP 服务器来提供 RHEL 映像。将 RHEL DVD 的内容复制到 HTTP 服务器的文档根目录,该目录通常位于 /var/www/html/。

创建 Kickstart 文件

现在您已经设置好了 PXE 服务器,接下来就可以创建 Kickstart 文件了。

Kickstart 文件是一个简单的文本文件,用于指定 RHEL 的安装选项。您可以使用任何文本编辑器创建该文件,并且网上有一些示例可以帮助您入门。这是一个基本示例 -

# RHEL 7 的 Kickstart 文件

# 系统语言
lang en_US.UTF-8

# 键盘设置
keyboard us

# 网络信息
network --bootproto dhcp --hostname=myhost.example.com

# Root 密码
rootpw --iscrypted $6$...

# 防火墙配置
firewall --enabled --service=ssh

# 磁盘分区
autopart --type=plain

# 软件包选择
%packages
@^minimal
@core
chrony
vim-enhanced

# 安装日志
logvol /var/log --size=512 --name=log

# 安装后重启
reboot

此 Kickstart 文件指定系统语言、键盘设置、网络信息、root 密码、防火墙配置、磁盘分区、软件包选择、安装日志和重启选项。您可以自定义这些选项以满足您的特定需求。

创建 Kickstart 文件后,将其保存到 HTTP 服务器的文档根目录,通常位于 /var/www/html/。您可以随意命名文件,但文件扩展名应为 .cfg。例如,您可以将文件命名为 rhel7.cfg。

启动客户端计算机

要使用 PXE 启动客户端计算机,您需要将 BIOS 配置为从网络启动。此选项通常位于 BIOS 设置的启动菜单中。选择网络启动选项后,客户端计算机将从 DHCP 服务器请求 IP 地址,并从 TFTP 服务器下载启动文件。

启动文件下载完成后,客户端计算机将显示一个菜单,供您选择要安装的 RHEL 版本。此菜单使用您之前复制到 TFTP 服务器的 menu.c32 和 vesamenu.c32 文件创建。菜单选项定义在名为 pxelinux.cfg/default 的文件中,您可以编辑该文件以添加或删除选项。

选择要安装的 RHEL 版本后,安装程序将读取您之前创建的 Kickstart 文件并自动应用指定的设置。这可以为您节省大量时间和精力,尤其是在您需要安装多个具有相同配置的 RHEL 实例时。

结论

使用 PXE 服务器和 Kickstart 文件自动安装 RHEL 可以为 IT 专业人员节省大量时间。通过设置 PXE 服务器并创建 Kickstart 文件,您可以快速轻松地在多台具有相同配置的计算机上安装 RHEL。这可以节省您大量的时间和精力,尤其是在需要部署大量 RHEL 实例时。只需进行少量配置和自定义,您就可以简化安装流程,让您的工作更加轻松。


相关文章


有用资源