PXE+kickstart自动装机

5案例5:PXE+kickstart自动装机

5.1 问题

本例要求在PXE服务器上为RHEL7客户机准备ks应答文件,完成下列任务:

  1. 实现全自动的安装及配置
  2. 能够自动配好YUM仓库
    然后在客户机上验证PXE+kickstart全自动装机过程:
  3. 再次将测试客户机从PXE启动并安装
  4. 完成后,重启客户机并验证结果
5.2 方案

使用图形配置工具system-config-kickstart来生成应答文件

5.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:准备应答文件

找一台RHEL7系统的模板虚拟机,使用配置工具生成应答文件。
1)在模板机上安装system-config-kickstart软件包

[root@svr7 ~]# yum  -y  install  system-config-kickstart
.. ..

2)调整模板机的yum仓库设置
清理掉无关的yum源,只保留为客户机安装RHEL7系统所必要的yum源,并且将源的ID修改为development。

[root@svr7 ~]# vim  /etc/yum.repos.d/rh7dvd.repo
[development]
name = Red Hat Enterprise Linux 7
baseurl = http://192.168.4.254/rh7dvd
gpgcheck = 0

3)运行system-config-kickstart工具,创建应答文件
仅支持图形程序的环境运行system-config-kickstart,即可打开该配置工具(如图所示)。

通过“文件”菜单打开/root/anaconda-ks.cfg文件,作为应答配置模板,这样可以节省很多时间(如图所示)。根据需要确认默认语言、时区,设置根口令、磁盘分区规划等基本信息。

在安装方法部分,选择“执行新安装”,并正确设置HTTP安装源的访问地址信息(如图所示)

在分区信息部分,选择清除主引导记录、删除所有现存分区、初始化磁盘标签,并手动添加/boot 2000MB、SWAP分区2000MB、/分区所有剩余空间(如图所示)

在网络配置部分,确认已添加第一块网卡,设置为DHCP自动获取(如图所示)。

在防火墙配置部分,禁用SELinux、禁用防火墙(如图所示)。

在软件包选择部分,根据客户机的实际需要定制。比如若要使用图形桌面环境,建议将GNOME相关的包勾选上(如图所示)。

在安装后脚本部分,添加经验证的正确可执行语句,是客户机装好后能够自动配好YUM源(如图所示)。

确认上述调整后,通过“文件”菜单将其保存为/root/ks-rhel7.cfg
4)应答文件微调整
删除掉随模板机配置残留的不可用仓库记录(比如以repo --name开头的Server-HighAvailability、Server-ResilientStrorage、autopart等行)

[root@svr7 ~]# vim  /root/ks-rhel7.cfg
install                                                  //安装基本信息设置
xconfig  --startxonboot
keyboard --vckeymap=cn --xlayouts='cn'
rootpw --iscrypted $1$.48kBNVL$e.Ym0L/RzkJonYwbg9Brq1
timezone Asia/Shanghai
url --url="http://192.168.4.254/rh7dvd"                  //安装源设置
lang zh_CN
firewall --disabled
#repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
#repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
#autopart --type=lvm                                      //分区设置
zerombr
clearpart --all --initlabel
part /boot --fstype="xfs" --size=200
part swap --fstype="swap" --size=2000
part / --fstype="xfs" --grow --size=1
.. ..
%post --interpreter=/bin/bash                          //安装后脚本设置
echo  '[rhel7]
name = Red Hat Enterprise Linux 7
baseurl = http://192.168.4.254/rh7dvd
gpgcheck = 0'  >  /etc/yum.repos.d/rhel7.repo
%end
%packages                                              //软件包设置
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
.. ..
initial-setup
initial-setup-gui
-NetworkManager
-NetworkManager-team
.. ..
%end

步骤二:部署应答文件

1)将应答文件部署在客户机可访问的位置
部署并确认文件:

[root@room9pc13 ~]# scp  [email protected]:/root/ks-rhel7.cfg  /var/www/html/
[root@room9pc13 ~]# ls  -lh  /var/www/html/ks-rhel7.cfg          //检查部署的文件
-rw-r--r--. 1 root root 4.5K 1月  13 20:20 /var/www/html/ks-rhel7.cfg

在客户端下载应答文件,确保可访问:

[root@pc207 ~]# wget  http://192.168.4.254/ks-rhel7.cfg
.. ..
2017-01-13 20:22:19 (183 MB/s) - “ks-rhel7.cfg” 已保存 [4508] 
[root@pc207 ~]# ls  -lh  ks-rhel7.cfg                 //检查下载的文件
-rw-r--r--. 1 root root 4.5K 1月  13 20:22 ks-rhel7.cfg

2)在PXE服务器上修改default引导配置,调用应答文件
找到相应的label启动项,在append后添加ks=应答文件地址,去掉原有的inst.stage2参设置:

[root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default
.. ..
label linux
    menu label ^Install Red Hat Enterprise Linux 7
    kernel rhel7/vmlinuz
    append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-rhel7.cfg 
.. ..

步骤三:验证PXE+kickstart自动应答

1)新建一台虚拟机裸机,确认支持PXE网卡启动
新建一台虚拟机裸机,注意一下事项:将内存设为1G、硬盘设为20G;网络类型要与pxesvr服务器相同,比如选择private1。
2)启动虚拟机裸机,验证PXE网络安装过程
正常PXE引导,选择第一个启动项回车确认即可快速进入全自动安装,后续过程无需人工干预(如图所示)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章