网站搜索

RHCSA 系列:使用“Kickstart”自动化 RHEL 7 安装 - 第 12 部分


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

在本文中,我们将展示使用 kickstart 实用程序所需的内容,以便您可以在安装过程中忘记托管服务器。

介绍 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 )可从网络资源获取,例如 FTP 服务器的 HTTP(在本例中,我们将使用 IP 192.168.0.18 的另一个 RHEL 7 机器)。

3. 开始 Kickstart 安装

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

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

虽然您可以使用 Red Hat 在线工具创建 kickstart 文件,但您也可以使用以下几行作为参考手动创建它。例如,您会注意到安装过程将采用英语,使用拉丁美洲键盘布局和美国/阿根廷/圣路易斯时区:


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/howtoing.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

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


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

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

现在我们准备开始 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

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

当您按 Enter 时,自动安装将开始,您将看到正在安装的软件包列表(数量和名称将根据您选择的程序和软件包组而有所不同):

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

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

该文件实际上是一个 kickstart 文件,因此您可能需要使用所有所需选项手动安装第一个框(可能修改逻辑卷布局或每个卷顶部的文件系统),然后使用生成的 anaconda- ks.cfg 文件来自动安装其余部分。

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

结论

现在您已经了解了如何创建 kickstart 文件以及如何使用它们来自动安装 Red Hat Enterprise Linux 7 服务器,您可以忘记托管安装过程了。这会让你有时间做其他事情,如果幸运的话,也许还有一些休闲时间。

无论哪种方式,请使用下面的表格告诉我们您对本文的看法。也欢迎提问!

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