本文是我以前在RHEL / CentOS 7上的PXE引导环境设置的一个扩展,它的重点是如何执行RHEL / CentOS 7的自动安装,无需用户干预,在无头机器上使用Kickstart文件从本地FTP服务器。
此类安装的环境准备已在上一个关于PXE服务器设置的教程中进行了处理,唯一缺失的一个Kickstart文件将在本教程中进一步讨论。
使用Kickstart安装多个RHEL / CemtOS 7
创建您可以进一步将其用于多个安装一个定制Kickstart文件最简单的方法是手动执行RHEL / CentOS 7和副本的安装,安装过程完成后,该文件名为python- ks.cfg进行 ,驻留在/根路径,到可访问的网络位置,并指定initrd的引导参数inst.ks =协议://path/to/kickstart.fileto PXE菜单配置文件。
要求
本教程和Kickstart文件配置仅涵盖没有图形安装的RHEL / CentOS 7的最小安装,基本上Kikstart文件来自RHEL / CentOS 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
- 替换为您的网络安装源位置-url领域:例如:-url = FTP://192.168.1.25/pub/
- 与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
Kickstart配置
对于更高级的Kickstart文件选项和语法随意读取RHEL 7 Kickstart的文档 。
3.尝试使用此文件的安装程序之前,您在使用包含在Pykickstart包ksvalidator命令,尤其是如果已经执行手动自定义验证该文件是非常重要的。 安装Pykickstart包并通过发出以下命令验证您的Kickstart文件。
# yum install pykickstart # ksvalidator /var/ftp/pub/anaconda-ks.cfg
安装Pykickstart包
验证Kickstart文件
4.最后验证,以确保Kickstart文件是从您指定的网络位置访问-通过以下网址定义在这种情况下FTP本地镜像安装源 。
ftp://192.168.1.25/pub/
验证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菜单
你可以从这个例子中,自动安装可以通过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引导菜单
7. 内核和ramdisk加载后并检测Kickstart文件,安装过程中自动启动,而从用户侧所需的任何干预。 如果你想观看安装过程VNC客户从不同的计算机使用安装程序为您提供的地址连接,欣赏美景。
自动操作系统安装
连接到VNC
Kickstart自动操作系统安装
8.在安装过程完成后登录,用root帐号新安装的系统和以前的安装使用的密码(
一个你复制的Kickstart文件),并通过运行passwd命令更改客户机的root密码。
连接到新安装的服务器
这就是全部! 自动Kickstart的安装提供了对系统管理员的好处很大,因为它们必须在多台机器上执行系统安装的同时,在短时间内环境,而不需要手动安装过程干涉。