今天我們使用PXE+Kickstart+TFTP+DHCP+FTP實現無人值守安裝服務器。
一、無人值守所需服務介紹:
1)PXE
- PXE,遠程引導技術
- 功能:使計算機通過網絡啓動
- 硬件要求:客戶端的網卡必須支持PXE
2)Kickstart
- Kickstart,一種無人值守自動部署安裝操作系統的方式
- 核心技術:自動應答文件
- 功能:系統通過執行
自動應答文件
中的內容進行自動安裝系統
3)TFTP
- TFTP,用於服務器之間進行簡單文件傳輸的協議
- 端口號:69
- 默認共享路徑:
/var/lib/tftpboot/
- 本次實驗作用:共享PXE相關文件,比如:系統引導文件(客戶端通過TFTP取這些文件)
4)DHCP
給客戶機分配IP地址
5)FTP
- FTP,文件傳輸協議
- 默認共享路徑:
/var/ftp/
- 本次實驗作用:共享ISO鏡像文件及Kickstart自動應答文件
6)運行流程圖
(初學者可能目前不太理解這個圖,沒關係咱繼續往下看。隨着後續的學習您會理解以下流程圖的)
二、實驗介紹
本次實驗採用all-in-one模式,即 我們將FTP、DHCP、TFTP服務全部署在一臺服務器上。
1)服務器介紹:
- qll251,CentOS7系統雙網卡,
192.168.1.251 和 192.168.2.251
(2.251屬於LAN1 用於PXE網絡) - qll252,CenOS7系統,
網卡選擇LAN1
2)實驗要求
- 關閉服務器防火牆及禁用selinux
- 服務器能使用
yum
安裝軟件,本地yum源或網絡yum源均可
三、開始部署環境
1)部署FTP服務
[root@qll251 ~]# yum -y install vsftpd #安裝ftp服務
[root@qll251 ~]# systemctl start vsftpd #啓動ftp服務
[root@qll251 ~]# systemctl enable vsftpd #設置ftp服務開機自啓動
## 到此,ftp部署已完成。共享路徑:/var/ftp
2)部署DHCP服務
- 安裝dhcp服務
[root@qll251 ~]# yum -y install dhcp
- 修改dhcpd.conf配置文件
[root@qll251 ~]# vim /etc/dhcp/dhcpd.conf
- 啓動dhcp服務並設置開機自啓動
[root@qll251 ~]# systemctl start dhcpd
[root@qll251 ~]# systemctl enable dhcpd
3)部署tftp-server服務
- 安裝tftp-server所需服務
[root@qll251 ~]# yum -y install tftp-server
[root@qll251 ~]# yum -y install xinetd #Xinetd管理tftp工作
- 修改TFTP服務的配置文件
- 啓動tftp服務,並設置開機自啓動
[root@qll251 ~]# systemctl start tftp && systemctl enable tftp
[root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd
4)製作kickstart自動應答文件
- 安裝kickstart
[root@qll251 ~]# yum -y install system-config-kickstart
- 在終端上執行
system-config-kickstart
注意:如果用終端軟件比如MobaXerm,執行上面命令無法彈出選擇框,需要您安裝gdm
yum -y install gdm
(您直接在帶有圖形化界面的機器上執行命令也是一樣的)
- 進入kickstart配置嚮導,先完成“基本配置”
- 選擇安裝方法
5. 進行分區
6. 網絡配置、驗證、防火牆配置、顯示配置。您按需選擇就行。我就不在此演示了
7. 軟件包選擇
8. 設置安裝後的腳本(可選項)
9. 保存自動應答文件
到目前爲止,FTP,DHCP,TFTP服務及kickstart應答文件都已準備完畢。接下來我們配置PXE啓動所需的相關文件
四、準備PXE啓動所需的文件
先掛載我們所需的光盤鏡像
[root@qll251 ~]# mount /dev/sr0 /media #系統鏡像掛載至/media
1)ftp需要共享出去的文件
共享目錄:/var/ftp;需要共享兩個
- /var/ftp/ks.cfg (製作應答文件時,已保存該文件)
- 光盤啓動鏡像
#我們在製作自動應答文件的第四步中指定光盤文件目錄是:/var/ftp/pub
[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 #設置default文件權限:644
tftp共享目錄:/var/lib/tftpboot;需要共享4個文件
- pxelinux.0 #網絡裝機需要用到pxelinux.0;由yum install syslinux獲得的
- initrd.img:#其實就是ramdisk的映像文件(內存模擬磁盤)。舉個例子:主機系統壞掉了,我們使用win pe啓動,你會發現主機就算沒有硬盤也能正常運行
- vmlinuz:包含一個最小功能的內核,通常先執行vmlinuz,之後加載initrd.img文件,最後加載根分區。
- isolinux.cfg重命名爲default
3)修改default配置文件
[root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
1 default linux #將第一行的 default改成default linux
61 label linux
62 menu label ^Install CentOS 7
63 kernel vmlinuz
64 append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg
##指定安裝程序通過FTP服務訪問系統鏡像及ks.cfg應答文件
五、執行批量安裝服務器
1)客戶機的BIOS啓動順序調整爲網絡優先。或者開機Log界面按F12選擇從網絡啓動
2)開始無人值守安裝
以下步驟全部爲系統自動執行,無需人爲干預,只需等待安裝完成即可
我們看下它都自動執行了哪些操作
最後我們通過預定義的root密碼登錄,可以看到事先寫的測試腳本“hello world”已生效。系統分配的IP是192.168.2.3
好了,以上便是今天分享的批量安裝服務器的內容。
更多IT技術,請微信搜索公衆號秦露露
或者掃描下方二維碼關注