今天我們使用PXE+Kickstart+TFTP+DHCP+FTP實(shí)現(xiàn)無人值守安裝服務(wù)器。
一、搭建無人值守系統(tǒng)所需服務(wù)介紹:
1)PXE
- PXE,遠(yuǎn)程引導(dǎo)技術(shù)
- 功能:使計算機(jī)通過網(wǎng)絡(luò)啟動
- 硬件要求:客戶端的網(wǎng)卡必須支持PXE
2)Kickstart
- Kickstart,一種無人值守自動部署安裝操作系統(tǒng)的方式
- 核心技術(shù):自動應(yīng)答文件
- 功能:通過執(zhí)行應(yīng)答文件中的內(nèi)容進(jìn)行自動部署系統(tǒng)
3)TFTP
- TFTP,用于服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議
- 端口號:69
- 默認(rèn)共享路徑:/var/lib/tftpboot/
- 本次實(shí)驗(yàn)作用:共享PXE相關(guān)文件,比如:系統(tǒng)引導(dǎo)文件(客戶端通過TFTP取這些文件)
4)DHCP
給客戶機(jī)分配IP地址
5)FTP
- FTP,文件傳輸協(xié)議
- 默認(rèn)共享路徑:/var/ftp/
- 本次實(shí)驗(yàn)作用:共享ISO鏡像文件及Kickstart自動應(yīng)答文件
6)交互流程圖
(初學(xué)者可能目前不太理解這個交互過程,沒關(guān)系咱繼續(xù)往下看。隨著后續(xù)的學(xué)習(xí)您會理解下方的交互流程)
二、實(shí)驗(yàn)介紹
本次實(shí)驗(yàn)采用all-in-one模式,即 我們將FTP、DHCP、TFTP服務(wù)全部署在一臺服務(wù)器上。
1)服務(wù)器介紹:
- qll251,centos7系統(tǒng)雙網(wǎng)卡,192.168.1.251和192.168.2.251(2.251屬于LAN1 用于PXE網(wǎng)絡(luò))
- qll252,CenOS7系統(tǒng),網(wǎng)卡選擇LAN1
2)實(shí)驗(yàn)要求
- 關(guān)閉服務(wù)器防火墻及禁用selinux
- 服務(wù)器能使用yum 安裝軟件,本地yum源或網(wǎng)絡(luò)yum源均可
如果對yum源的部署有疑問,參考:
yum學(xué)習(xí)筆記
三、開始部署環(huán)境
1)部署FTP服務(wù)
[root@qll251 ~]# yum -y install vsftpd
#安裝ftp服務(wù)[root@qll251 ~]# systemctl start vsftpd
#啟動ftp服務(wù)[root@qll251 ~]# systemctl enable vsftpd #設(shè)置ftp服務(wù)開機(jī)自啟動## 到此,ftp部署已完成。共享路徑:/var/ftp
2)部署DHCP服務(wù)
1. 安裝dhcp服務(wù)
root@qll251 ~]# yum -y install dhcp
2. 修改dhcpd.conf配置文件
root@qll251 ~]# vim /etc/dhcp/dhcpd.conf
3. 啟動dhcp服務(wù)并設(shè)置開機(jī)自啟動
[root@qll251 ~]# systemctl start dhcpd
[root@qll251 ~]# systemctl enable dhcpd
3)部署tftp-server服務(wù)
1. 安裝tftp-server所需服務(wù)
[root@qll251 ~]# yum -y install tftp-server
[root@qll251 ~]# yum -y install xinetd #Xinetd管理tftp工作
2. 修改TFTP服務(wù)的配置文件
3. 啟動tftp服務(wù),并設(shè)置開機(jī)自啟動
[root@qll251 ~]# systemctl start tftp && systemctl enable tftp
[root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd
4)制作kickstart自動應(yīng)答文件
1. 安裝kickstart
[root@qll251 ~]# yum -y install system-config-kickstart
2. 在終端上執(zhí)行system-config-kickstart
注意:如果用終端軟件比如MobaXerm,執(zhí)行上面命令無法彈出選擇框,需要您安裝gdm
yum -y install gdm
(您直接在帶有圖形化界面的機(jī)器上執(zhí)行命令也是一樣的)
3. 進(jìn)入kickstart配置向?qū)В韧瓿?ldquo;基本配置”
4. 選擇安裝方法
5. 進(jìn)行分區(qū)
6. 網(wǎng)絡(luò)配置、驗(yàn)證、防火墻配置、顯示配置。您按需選擇就行。我就不在此演示了
7. 軟件包選擇
8. 設(shè)置安裝后的腳本(可選項(xiàng))
9. 保存自動應(yīng)答文件
到目前為止,F(xiàn)TP,DHCP,TFTP服務(wù)及kickstart應(yīng)答文件都已準(zhǔn)備完畢。接下來我們配置PXE啟動所需的相關(guān)文件
四、準(zhǔn)備PXE啟動所需的文件
先掛載我們所需的光盤鏡像
[root@qll251 ~]# mount /dev/sr0 /media #系統(tǒng)鏡像掛載至/media
1)ftp需要共享出去的文件
共享目錄:/var/ftp;需要共享兩處
1. /var/ftp/ks.cfg (制作應(yīng)答文件時,已保存該文件)
2. 光盤啟動鏡像文件
[root@qll251 ~]# cp -r /media/* /var/ftp/pub
2)tftp需要共享出去的文件
[root@qll251 ~]# yum -y install syslinux
[root@qll251 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #拷貝的第一個文件[root@qll251 ~]# cp /media/images/pxeboot/initrd.img /var/lib/tftpboot/ #拷貝的第二個文件
[root@qll251 ~]# cp /media/images/pxeboot/vmlinuz /var/lib/tftpboot/ #拷貝的第三個文件[root@qll251 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@qll251 ~]# cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷貝的第四個文件,拷貝時,重命名為default
[root@qll251 ~]# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #設(shè)置default文件權(quán)限:644
tftp共享目錄:/var/lib/tftpboot;需要共享4個文件
1. pxelinux.0 //網(wǎng)絡(luò)裝機(jī)需要用到pxelinux.0;由yum install syslinux獲得的
2. initrd.img //其實(shí)就是ramdisk的映像文件(內(nèi)存模擬磁盤)。舉個例子:主機(jī)系統(tǒng)壞掉了,我們使用win pe啟動,你會發(fā)現(xiàn)主機(jī)就算沒有硬盤也能正常運(yùn)行
3. vmlinuz //包含一個最小功能的內(nèi)核,通常先執(zhí)行vmlinuz,之后加載initrd.img文件,最后加載根分區(qū)。
4. isolinux.cfg重命名為default
3)修改default配置文件
[root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 1 default linux #將第一行的 default改成 default linux61 label linux62 menu label ^Install CentOS 763 kernel vmlinuz64 Append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg#指定安裝程序通過FTP服務(wù)訪問系統(tǒng)鏡像及ks.cfg應(yīng)答文件
以上,我們便完成了pxe環(huán)境的部署,接下來我們找一臺客戶機(jī)進(jìn)行部署
五、執(zhí)行批量安裝服務(wù)器
1)客戶機(jī)的BIOS啟動順序調(diào)整為網(wǎng)絡(luò)優(yōu)先。或者開機(jī)Log界面按F12選擇從網(wǎng)絡(luò)啟動
2)開始無人值守安裝
以下步驟全部是系統(tǒng)自動執(zhí)行,無需人為干預(yù),只需等待安裝完成即可
我們看下它都自動執(zhí)行了哪些操作
最后我們通過預(yù)定義的root密碼進(jìn)行登錄,可以看到事先寫的測試腳本“hello world”已生效。系統(tǒng)分配的IP是192.168.2.3






