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

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

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

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

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

 
  1. # mount -o loop /var/www/html/kickstart/rhel-server-7.0-x86_64-dvd.iso /media/rhel

挂载 RHEL ISO 镜像

挂载 RHEL ISO 镜像

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

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

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

Kickstart 媒体文件

Kickstart 媒体文件

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

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

 
  1. # yum update && yum install pykickstart

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

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

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

执行 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

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   

目录
相关文章
|
20天前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
30 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
4天前
|
Linux
Kickstart 自动化安装
随着业务增长,服务器需求增加且需统一Linux版本以便维护。Kickstart自动化安装平台结合PXE技术,简化安装流程,显著节省时间。Intel开发的PXE技术允许工作站通过网络下载映像并启动操作系统,整个架构包括Kickstart+DHCP+NFS+TFTP+PXE。配置涉及DHCP、TFTP安装及PXE内核模块配置,最终实现远程自动化安装Linux系统。
13 3
|
20天前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
23 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
2月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
4月前
|
SQL 关系型数据库 MySQL
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
279 1
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
|
4月前
|
SQL 缓存 关系型数据库
MySQL常见问题解决和自动化安装脚本
这篇内容包含了两个主要部分:解决MySQL登录问题和处理GPG密钥问题。当MySQL密码正确但无法登录时,可以通过执行SQL命令`ALTER USER`和`flush privileges`来修改和重置密码。对于MySQL安装时的GPG密钥错误,首先需要强制删除旧的MySQL仓库包,导入新的GPG公钥,然后安装MySQL服务器。如果遇到GPG检查错误,可以使用`--nogpgcheck`参数忽略检查来安装。最后,提供了一个自动化安装MySQL的脚本,用于检查旧版本、卸载残留、安装MySQL8并启动服务。
65 1
MySQL常见问题解决和自动化安装脚本
|
4月前
|
Web App开发 测试技术 Python
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
63 0
|
4月前
|
弹性计算 运维 Shell
自动化软件包安装与管理
【4月更文挑战第30天】
18 0
|
4月前
|
弹性计算 运维 Shell
自动化安装并配置自定义服务
【4月更文挑战第30天】
23 0
|
5天前
|
运维 Ubuntu Devops
自动化运维工具的魅力:Ansible入门
【9月更文挑战第5天】在快速变化的IT世界里,自动化运维不再是可选项,而是必需品。Ansible,一款简单却强大的自动化工具,正成为众多DevOps工程师的首选。本文将带你了解Ansible的基本概念、安装步骤以及如何编写简单的Playbook,从而开启你的自动化之旅。
54 35

热门文章

最新文章

下一篇
DDNS