5案例5:PXE+kickstart自動裝機
5.1 問題
本例要求在PXE服務器上爲RHEL7客戶機準備ks應答文件,完成下列任務:
- 實現全自動的安裝及配置
- 能夠自動配好YUM倉庫
然後在客戶機上驗證PXE+kickstart全自動裝機過程: - 再次將測試客戶機從PXE啓動並安裝
- 完成後,重啓客戶機並驗證結果
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引導,選擇第一個啓動項回車確認即可快速進入全自動安裝,後續過程無需人工干預(如圖所示)。