使用PXE服务器和Kickstart文件自动安装多个RHEL / CentOS 7分发

本文主要介绍如何执行RHEL / CentOS 7的自动安装,无需用户干预,在无头机器上使用

本文是我以前在RHEL / CentOS 7上的PXE引导环境设置的一个扩展,它的重点是如何执行RHEL / CentOS 7的自动安装,无需用户干预,在无头机器上使用Kickstart文件从本地FTP服务器。

此类安装的环境准备已在上一个关于PXE服务器设置的教程中进行了处理,唯一缺失的一个Kickstart文件将在本教程中进一步讨论。

使用Kickstart安装多个Linux操作系统

使用Kickstart安装多个RHEL / CemtOS 7

创建您可以进一步将其用于多个安装一个定制Kickstart文件最简单的方法是手动执行RHEL / CentOS 7和副本的安装,安装过程完成后,该文件名为python- ks.cfg进行 ,驻留在/根路径,到可访问的网络位置,并指定initrd的引导参数inst.ks =协议://path/to/kickstart.fileto PXE菜单配置文件。

要求

  1. 在RHEL / CentOS 7上设置PXE网络引导服务器

本教程和Kickstart文件配置仅涵盖没有图形安装的RHEL / CentOS 7的最小安装,基本上Kikstart文件来自RHEL / CentOS 7之前的最小安装过程。

  1. CentOS 7最小安装步骤
  2. RHEL 7最小安装步骤

如果你需要覆盖GUI安装和特定的分区表Kickstart文件,我建议你先执行定制
在虚拟化环境中以图形方式安装RHEL / CentOS 7,并将所得到的Kickstart文件用于未来的GUI安装。

第1步:创建Kiskstart文件并将其复制到FTP服务器路径

1.在第一步,去你的机器PXE / root目录并命名为python- ks.cfg进行文件复制到的Vsftpd默认的服务器路径(在/ var / ftp / pub下) -也为RHEL / CentOS 7本地镜像安装源路径第6步 (参见上述PXE服务器安装篇) - PXE网络引导服务器上配置。

# cp anaconda-ks.cfg  /var/ftp/pub/
# chmod 755 /var/ftp/pub/anaconda-ks.cfg

该文件已复制2后,用你喜欢的文本编辑器打开并进行以下最小的变化。

# nano /var/ftp/pub/anaconda-ks.cfg
  1. 替换为您的网络安装源位置-url领域:例如:-url = FTP://192.168.1.25/pub/
  2. DHCP万一你在手动安装过程中配置的网络接口更换网络-bootproto。

下面介绍了Kickstart文件的外观。

#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512
# Use network installation
url --url="ftp://192.168.1.25/pub/"
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Bucharest --isUtc
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos
%packages
@compat-libraries
@core
wget
net-tools
chrony
%end
CentOS Kickstart配置

Kickstart配置

对于更高级的Kickstart文件选项和语法随意读取RHEL 7 Kickstart的文档

3.尝试使用此文件的安装程序之前,您在使用包含在Pykickstartksvalidator命令,尤其是如果已经执行手动自定义验证该文件是非常重要的。 安装Pykickstart包并通过发出以下命令验证您的Kickstart文件。

# yum install pykickstart
# ksvalidator /var/ftp/pub/anaconda-ks.cfg
在CentOS中安装Pykickstart

安装Pykickstart包

验证Kickstart配置

验证Kickstart文件

4.最后验证,以确保Kickstart文件是从您指定的网络位置访问-通过以下网址定义在这种情况下FTP本地镜像安装源

ftp://192.168.1.25/pub/
验证FTP镜像

验证FTP镜像

第2步:将Kikstart安装标签添加到PXE服务器配置

5.为了从PXE菜单访问RHEL / CentOS 7选项自动安装添加以下标签PXE缺省文件配置。

# nano /var/lib/tftpboot/pxelinux.cfg/default

PXE菜单标签摘录。

对于RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
对于CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
将Kickstart添加到PXE菜单

将Kickstart添加到PXE菜单

你可以从这个例子中,自动安装可以通过VNC使用密码进行监督看到(相应的更换VNC密码)和Kickstart文件位于本地PXE服务器上,并通过initrd的启动参数inst.ks = FTP网络指定位置(替换协议和网络位置,如果您使用其他安装方法,如HTTP,HTTPS,NFS或远程安装源和Kickstart文件)。

第3步:配置客户端使用Kickstart自动安装RHEL / CentOS 7

6.自动安装RHEL / CentOS 7和监督整个安装过程中,尤其是在无头的服务器,从BIOS指示您的客户机
从网络进行引导,等待几秒钟,然后按F8键回车键,然后选择从PXE菜单Kickstart的选项。

PXE引导菜单

PXE引导菜单

7. 内核ramdisk加载后并检测Kickstart文件,安装过程中自动启动,而从用户侧所需的任何干预。 如果你想观看安装过程VNC客户从不同的计算机使用安装程序为您提供的地址连接,欣赏美景。

自动CentOS 7安装

自动操作系统安装

VNC远程CentOS安装

连接到VNC

Kickstart自动CentOS安装

Kickstart自动操作系统安装

8.在安装过程完成后登录root帐号新安装的系统和以前的安装使用的密码(
一个你复制的Kickstart文件),并通过运行passwd命令更改客户机的root密码。

连接到新安装的服务器

连接到新安装的服务器

这就是全部! 自动Kickstart的安装提供了对系统管理员的好处很大,因为它们必须在多台机器上执行系统安装的同时,在短时间内环境,而不需要手动安装过程干涉。