搭建PXE無盤站
--centos7
一、PXE
PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的最新技術,工作于Client/Server的網絡模式,支援工作站通過網絡從遠端伺服器下載下傳映像,并由此支援通過網絡啟動作業系統,在啟動過程中,終端要求伺服器配置設定IP位址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協定下載下傳一個啟動軟體包到本機記憶體中執行,由這個啟動軟體包完成終端(用戶端)基本軟體設定,進而引導預先安裝在伺服器中的終端作業系統。
二、PXE啟動原理
當計算機引導時,BIOS把 PXE Client 調入記憶體中執行,然後由 PXE Client 将放置在遠端的檔案通過網絡下載下傳到本地運作。
三、啟動過程
PXE是RPL的更新品,它是Preboot Execution Environment的縮寫。它們的不同之處在于RPL是靜态路由,而PXE是動态路由。其通信協定采用TCP/IP,與Internet連接配接高效而可靠,PXE無盤工作站的啟動過程分析如下:
用戶端個人電腦開機後, 在 TCP/IP Bootrom 獲得控制權之前先做自我測試。
Bootprom 送出 BOOTP/DHCP 要求以取得 IP。
如果伺服器收到個人電腦所送出的要求, 就會送回 BOOTP/DHCP 回應,内容包括
用戶端的 IP 位址, 預設網關, 及開機映像檔案。否則,伺服器會忽略這個要求。
Bootprom 由 TFTP 通訊協定從伺服器下載下傳開機映像檔案。
個人電腦通過這個開機映像檔案開機, 這個開機檔案可以隻是單純的開機程式也可
以是作業系統。
開機映像檔案将包含 kernel loader 及壓縮過的 kernel,此 kernel 将支援NTFS root
系統。
遠端用戶端根據下載下傳的檔案啟動機器。
(此文重要講操作 原理可以參照其他的詳細資料)
四、操作步驟
1、配置DHCP服務—提供IP
.# yum -y install dhcp
搭建的pxe伺服器的ip是192.168.6.100 則對DHCP的配置檔案
/etc/dhcp/dhcpd.conf 配置如下:

啟動并配置開啟啟動dhcp服務
.# systemctl start dhcpd
.# systemctl enable dhcpd
2、安裝tftp服務和關聯包
.# yum install -y tftp*
安裝xinetd守護程序,因為tftp依賴于xinetd
.# yum install -y xinetd
修改tftp配置檔案/etc/xinetd.d/tftp,将disable= yes改為disable=no
啟動并配置開機自動啟動xinetd程序
.# systemctl start xinetd
.# systemctl enable xinetd
.# systemctl start tftp
3、配置http為檔案倉庫
安裝http服務
.# yum -y install httpd
放入待安裝系統盤,并直接用CD光牒的package當做安裝倉庫
.# mkdir /var/www/html/centos7
.# mount /dev/cdrom /var/www/html/centos7/
4、修改ks.Cfg
将目前系統中的ks檔案拷貝到/var/www/html/路徑下
.# cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
ks.cfg的作用是預先指定好需要的安裝選項(包括系統鏡像路徑,安裝元件,系統語言,網絡配置,使用者及密碼等),當正式安裝時PXE Client将會很據該檔案去自動配置安裝,進而避免了大規模部署時的大量重複操作。(具體的原理 可以自行在網上了解 後期我會補上來
5、 相關系統引導檔案存儲
安裝syslinux,它是一個功能強大的引導加載程式,而且相容各種媒體。
.# yum install -y syslinux
pxelinux.0檔案名要和dhcp配置檔案内的一緻
.# cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
copyCD光牒目錄中的vmlinuz和initrd.img,這兩個檔案相當于系統啟動時/boot目錄下的啟動檔案,這個用來引導anacoda而不是根
.# cp/mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} \
/var/lib/tftpboot/
copy pxe引導所需要的配置檔案,splash.png:背景圖.boot.msg啟動智語,vesamenu.c32:顯示同行界面用的程式.
.# cp/mnt/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.png}\
/var/lib/tftpboot/
pxe啟動時顯示配置檔案資訊,和CD光牒啟動類似.
.# mkdir/var/lib/tftpboot/pxelinux.cfg
.# cp/mnt/cdrom/isolinux/isolinux.cfg\
/var/lib/tftpboot/pxelinux.cfg/default
6、配置default系統啟動檔案
在default配置檔案/var/lib/tftpboot/pxelinux.cfg/default中找到下面标簽
它的目的是用于告訴PXEClient去哪裡可以找到鏡像檔案以及ks.cfg配置檔案。
7、 檢查PXE Server的狀态并關閉防火牆、啟動PXE Client
.# service dhcpd status
.# service tftp status
.# service httpd status
以上三者結果都應該為active(running)
.# systemctl stop firewalld
.# systemctl disable firewalld
.# service firewalld status
結果都應該為inactive(dead)