首先簡單介紹一下PXE(preboot execute environment):是預啓動執行環境縮寫,是intel公司推出的一款經過網絡來引導操做系統的協議。能夠實現經過網絡方式自動進行系統安裝。普遍應用於網吧無盤系統。只須要將無盤服務器維護好,就能保證網絡中的無盤工做站(客戶機)的系統能正常運行。linux
PXE應用場景和需求:須要進行大批量的部署操做系統(批量化),pc機或者是沒有光驅的服務器,須要常常更換或者重裝linux操做系統。若是要部署PXE的話,須要網絡暢通而且有一臺發佈安裝源的服務器,且被安裝系統的機器支持網絡引導。數據庫
簡單介紹一下PXE的工做過程:vim
1.pxe客戶機向DHCP服務器發送請求centos
2.DHCP服務器迴應pxe客戶機,分配一個IP給pxe客戶機後,並告知TFTP服務器的IP的地址服務器
3.pxe客戶機向TFTP服務器提出請求下載啓動的網絡引導程序文件pxelinux.0(由syslinux軟件提供)網絡
4.TFTP服務器響應pxe客戶機的請求,將pxelinux.0發送給pxe客戶機ide
5.服務器端經過http或vsftpd給pxe客戶機提供安裝源,即光盤鏡像iso測試
6.服務器端經過kickstart文件ks.cfg,實現系統的自動化安裝centos7
即:spa
pxe客戶機 -------------> DHCP服務器 -----------------------> TFTP服務器 ----------------> FTP服務器
next-server:TFTP的IP地址 pxelinux.0 掛載系統鏡像
filename: 」pxelinux.0」 isolinux-->defaultks.cfg
實驗環境搭建:
經過centos7 部署一臺PXE服務器,實現經過PXE網絡來給客戶機手動或自動安裝centos操做系統(這裏我將所須要的服務都部署在192.168.11.11這臺服務上):
首先檢查防火牆和selinux有沒有關:
getenforce && setenforce 0
systemctl status firewalld &&systemctl stop firewalld
安裝PXE服務器須要的軟件包:
yum -y install dhcp tftp-server syslinux mlocate vsftpd
搭建DHCP服務器:
修改DHCP的主配置文件/etc/dhcp/dhcpd.conf
重啓服務,並設爲開機自啓:
systemctl restart dhcpd && systemctl enable dhcpd
部署TFTP服務器:
更改TFTP的配置文件(路徑爲/etc/xinetd.d/tftp),將disable=yes改成disable=no
重啓TFTP服務並設爲開機自啓:
systemctl restart tftp && systemctl enable tftp
更新local數據庫,並查找pxelinux.0文件:
而後共享指定的文件到/var/lib/tftpboot中:
部署vsftpd:
啓動vsftpd,並設置開機自啓
systemctl restart vsftpd && systemctl enable vsftpd
共享鏡像文件:
生成ks.cfg文件:(能夠經過vim建立也能夠安裝軟件kickstart)
注:linux系統在安裝時會在家目錄自動生成一個anaconda-ks.cfg配置文件,裏面記錄的就是用戶在安裝系統時所作的操做
編輯tftp服務器上的pxelinux.0文件,添加鏡像文件路徑和ks自動化應答文件路徑:
作測試時能夠在虛擬機上新建一臺centos7_64x的虛擬機,給足內存(測試的話1.3個G就足夠了)進行測試,開機後它會自動部署:
到此,測試完成。