RHCSA 系列:使用 ‘Kickstart’ 自动化 RHEL 7 安装 – 第 12 部分

Linux 服务器很少是独立的盒子。无论是在数据中心还是实验室环境中,您可能不得不安装多台机器,它们将以某种方式相互交互。如果您将在单个服务器上手动安装 Red Hat Enterprise Linux 7 所需的时间乘以您需要设置的盒子数量,这可能会导致一个相当长的工作量,通过使用一个称为 kickstart 的无人值守安装工具可以避免这种情况。

在本文中,我们将展示您需要使用 kickstart 实用程序,以便您在安装过程中不必看护服务器。

RHCSA: Automatic Kickstart Installation of RHEL 7

介绍 Kickstart 和自动安装

Kickstart 是一个自动安装方法,主要由 Red Hat Enterprise Linux(以及其他 Fedora 衍生版本,如 CentOS、Oracle Linux 等)使用,用于执行无人值守的操作系统安装和配置。因此,kickstart 安装允许系统管理员拥有相同的系统,就安装的软件包组和系统配置而言,同时又省去了手动安装每个系统的麻烦。

为 Kickstart 安装做准备

要执行 Kickstart 安装,我们需要按照以下步骤进行:

1. 创建 Kickstart 文件,一个包含几个预定义配置选项的纯文本文件。

2. 将Kickstart文件放置在可移动介质、硬盘或网络位置上。客户端将使用rhel-server-7.0-x86_64-boot.iso文件,而您需要将完整的ISO镜像(rhel-server-7.0-x86_64-dvd.iso)放置在网络资源上,例如HTTP或FTP服务器(在我们的案例中,我们将使用另一个具有IP地址192.168.0.18的RHEL 7主机)。

3. 开始Kickstart安装

要创建一个kickstart文件,请登录到您的Red Hat客户门户帐户,并使用Kickstart配置工具选择所需的安装选项。在向下滚动之前,请仔细阅读每个选项,并选择最适合您需求的选项:

Kickstart Configuration Tool

如果您指定安装通过HTTPFTPNFS进行,请确保服务器上的防火墙允许这些服务。

虽然您可以使用Red Hat在线工具创建kickstart文件,但您也可以手动创建,可以参考以下行。例如,您将注意到安装过程将使用英语,使用拉丁美洲键盘布局和America/Argentina/San_Luis时区。

lang en_US
keyboard la-latin1
timezone America/Argentina/San_Luis --isUtc
rootpw $1$5sOtDvRo$In4KTmX7OmcOW9HUvWtfn0 --iscrypted
#platform x86, AMD64, or Intel EM64T
text
url --url=http://192.168.0.18//kickstart/media
bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
zerombr
clearpart --all --initlabel
autopart
auth --passalgo=sha512 --useshadow
selinux --enforcing
firewall --enabled
firstboot --disable
%packages
@base
@backup-server
@print-server
%end

在在线配置工具中,在选择HTTP作为安装源后,在安装部分中使用192.168.0.18作为HTTP服务器,并使用/kickstart/tecmint.bin作为HTTP目录。最后,点击右上角的下载按钮下载kickstart文件。

在上面的kickstart示例文件中,您需要特别注意。

url --url=http://192.168.0.18//kickstart/media

该目录是您需要提取DVD或ISO安装介质内容的位置。在执行此操作之前,我们将ISO安装文件挂载为一个循环设备,挂载点为/media/rhel

# mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel
Mount RHEL ISO Image

接下来,将/media/rhel中的所有内容复制到/var/www/html/kickstart/media中:

# cp -R /media/rhel /var/www/html/kickstart/media

完成后,/var/www/html/kickstart/media目录的目录列表和磁盘使用情况应如下所示:

Kickstart Media Files

现在我们准备开始kickstart安装。

无论您选择如何创建kickstart文件,在进行安装之前,始终检查其语法是个好主意。为此,安装pykickstart软件包。

# yum update && yum install pykickstart

然后使用ksvalidator工具检查文件:

# ksvalidator /var/www/html/kickstart/tecmint.bin

如果语法正确,您将不会得到任何输出;而如果文件中有错误,您将收到一个警告通知,指示语法不正确或未知的行。

执行kickstart安装。

首先,使用rhel-server-7.0-x86_64-boot.iso文件启动您的客户端。当出现初始屏幕时,选择安装 Red Hat Enterprise Linux 7.0并按Tab键添加以下段落,然后按Enter

# inst.ks=http://192.168.0.18/kickstart/tecmint.bin
RHEL Kickstart Installation

其中tecmint.bin是之前创建的 kickstart 文件。

按下Enter后,自动安装将开始,并显示正在安装的软件包列表(数量和名称将根据您选择的程序和软件包组而异):

Automatic Kickstart Installation of RHEL 7

自动安装过程结束后,您将收到提示将安装介质移除,然后您将能够启动新安装的系统:

RHEL 7 Boot Screen

虽然您可以手动创建 kickstart 文件,就像我们之前提到的那样,但在可能的情况下,您应该考虑使用推荐的方法。您可以使用在线配置工具或安装过程在 root 的主目录中创建的anaconda-ks.cfg文件。

实际上,这个文件就是一个 kickstart 文件,所以您可能希望手动安装第一个框,并使用生成的anaconda-ks.cfg文件来自动安装其他框。

此外,使用在线配置工具或anaconda-ks.cfg文件来指导以后的安装,将允许您在开箱即用的情况下使用加密的 root 密码执行安装。

结论

现在您已经知道如何创建kickstart文件以及如何使用它们来自动化安装Red Hat Enterprise Linux 7服务器,您可以忘记照看安装过程了。这将为您节省时间去做其他事情,或者如果您幸运的话,也许可以享受一些休闲时间。

无论如何,请使用下面的表格告诉我们您对这篇文章的看法。我们也欢迎您提出问题!

阅读更多使用PXE和Kickstart自动安装多个RHEL/CentOS 7发行版

Source:
https://www.tecmint.com/automatic-rhel-installations-using-kickstart/