RHCSA 系列(十二): 使用 Kickstart 完成 RHEL 7 的自动化安装

简介:

无论是在数据中心还是实验室环境,Linux 服务器很少是独立的机器,很可能有时你需要安装多个以某种方式相互联系的机器。假如你将在单个服务器上手动安装 RHEL 7 所花的时间乘以你需要配置的机器数量,这将导致你必须做出一场相当长的努力,而通过使用被称为 kicksta 的无人值守安装工具则可以避免这样的麻烦。

在这篇文章中,我们将向你展示使用 kickstart 工具时所需的一切,以便在安装过程中,不用你时不时地照看“处在襁褓中”的服务器。

RHCSA: RHEL 7 的自动化 Kickstart 安装

RHCSA: RHEL 7 的自动化 Kickstart 安装

Kickstart 和自动化安装简介

Kickstart 是一种被用来执行无人值守操作系统安装和配置的自动化安装方法,主要被 RHEL(以及其他 Fedora 的副产品,如 CentOS,Oracle Linux 等)所使用。因此,kickstart 安装方法可使得系统管理员只需考虑需要安装的软件包组和系统的配置,便可以得到相同的系统,从而省去必须手动安装这些软件包的麻烦。

准备 Kickstart 安装

要执行 kickstart 安装,我们需要遵循下面的这些步骤:

  1. 创建一个 Kickstart 文件,它是一个带有多个预定义配置选项的纯文本文件。

  2. 将 Kickstart 文件保存在可移动介质上,如一个硬盘或一个网络位置。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 文件,请登录你的红帽客户门户网站(Red Hat Customer Portal)帐户,并使用Kickstart 配置工具 来选择所需的安装选项。在向下滑动之前请仔细阅读每个选项,然后选择最适合你需求的选项:

Kickstart 配置工具

Kickstart 配置工具

假如你指定安装将通过 HTTP,FTP,NFS 来执行,请确保服务器上的防火墙允许这些服务通过。

尽管你可以使用红帽的在线工具来创建一个 kickstart 文件,但你还可以使用下面的代码来作为参考手动地创建它。例如,你可以注意到,下面的代码指定了安装过程将使用英语环境,使用拉丁美洲键盘布局,并设定时区为 America/Argentina/San_Luis 时区:

 
 
  1. lang en_US
  2. keyboard la-latin1
  3. timezone America/Argentina/San_Luis --isUtc
  4. rootpw $1$5sOtDvRo$In4KTmX7OmcOW9HUvWtfn0 --iscrypted
  5. #platform x86, AMD64, or Intel EM64T
  6. text
  7. url --url=http://192.168.0.18//kickstart/media
  8. bootloader --location=mbr --append="rhgb quiet crashkernel=auto"
  9. zerombr
  10. clearpart --all --initlabel
  11. autopart
  12. auth --passalgo=sha512 --useshadow
  13. selinux --enforcing
  14. firewall --enabled
  15. firstboot --disable
  16. %packages
  17. @base
  18. @backup-server
  19. @print-server
  20. %end
AI 代码解读

在上面的在线配置工具中,在选择以 HTTP 来作为安装源后,设置好在安装过程中使用 192.168.0.18 来作为 HTTP 服务器的地址,/kickstart/tecmint.bin 作为 HTTP 目录。

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

 
 
  1. url --url=http://192.168.0.18//kickstart/media
AI 代码解读

这个目录是你展开 DVD 或 ISO 安装介质内容的地方。在执行解压之前,我们将把 ISO 安装文件作为一个回环设备挂载到 /media/rhel 目录下:

 
 
  1. # mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel
AI 代码解读

挂载 RHEL ISO 镜像

挂载 RHEL ISO 镜像

接下来,复制 /media/rhel 中的全部文件到 /var/www/html/kickstart/media 目录:

 
 
  1. # cp -R /media/rhel /var/www/html/kickstart/media
AI 代码解读

这一步做完后,/var/www/html/kickstart/media 目录中的文件列表和磁盘使用情况将如下所示:

Kickstart 媒体文件

Kickstart 媒体文件

现在,我们已经准备好开始 kickstart 安装了。

不管你如何选择创建 kickstart 文件的方式,在执行安装之前检查下这个文件的语法是否有误总是一个不错的主意。为此,我们需要安装 pykickstart 软件包。

 
 
  1. # yum update && yum install pykickstart
AI 代码解读

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

 
 
  1. # ksvalidator /var/www/html/kickstart/tecmint.bin
AI 代码解读

假如文件中的语法正确,你将不会得到任何输出,反之,假如文件中存在错误,你得到警告,向你提示在某一行中语法不正确或出错原因未知。

执行 Kickstart 安装

首先,使用 rhel-server-7.0-x86_64-boot.iso 来启动你的客户端。当初始屏幕出现时,选择安装 RHEL 7.0 ,然后按 Tab 键来追加下面这一句,接着按 Enter 键:

 
 
  1. # inst.ks=http://192.168.0.18/kickstart/tecmint.bin
AI 代码解读

RHEL Kickstart 安装

RHEL Kickstart 安装

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

当你按了 Enter 键后,自动安装就开始了,且你将看到一个列有正在被安装的软件的列表(软件包的数目和名称根据你所选择的程序和软件包组而有所不同):

RHEL 7 的自动化 Kickstart 安装

RHEL 7 的自动化 Kickstart 安装

当自动化过程结束后,将提示你移除安装介质,接着你就可以启动到你新安装的系统中了:

RHEL 7 启动屏幕

RHEL 7 启动屏幕

尽管你可以像我们前面提到的那样,手动地创建你的 kickstart 文件,但你应该尽可能地考虑使用受推荐的方式:你可以使用在线配置工具,或者使用在安装过程中创建的位于 root 家目录下的 anaconda-ks.cfg 文件。

这个文件实际上就是一个 kickstart 文件,你或许想在选择好所有所需的选项(可能需要更改逻辑卷布局或机器上所用的文件系统)后手动地安装第一个机器,接着使用产生的 anaconda-ks.cfg 文件来自动完成其余机器的安装过程。

另外,使用在线配置工具或 anaconda-ks.cfg 文件来引导将来的安装将允许你在系统安装时以加密的形式设置 root 密码。

总结

既然你知道了如何创建 kickstart 文件并如何使用它们来自动完成 RHEL 7 服务器的安装,你就可以不用时时照看安装进度的过程了。这将给你时间来做其他的事情,或者若你足够幸运,你还可以用来休闲一番。

本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-10-02   

目录
打赏
0
0
0
0
176
分享
相关文章
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
1676 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
398 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
139 2
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
132 0
|
8月前
|
Kickstart 自动化安装
随着业务增长,服务器需求增加且需统一Linux版本以便维护。Kickstart自动化安装平台结合PXE技术,简化安装流程,显著节省时间。Intel开发的PXE技术允许工作站通过网络下载映像并启动操作系统,整个架构包括Kickstart+DHCP+NFS+TFTP+PXE。配置涉及DHCP、TFTP安装及PXE内核模块配置,最终实现远程自动化安装Linux系统。
99 3
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
583 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
233 0
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
108 14
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
137 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等