1 PXE技術的基本原理
PXE技術與RPL技術不同之處為RPL是靜态路由,PXE是動态路由。RPL是根據網卡上的ID号加上其他記錄組成的一個Frame(幀)向伺服器送出請求。而伺服器中已有這個ID資料,比對成功則進行遠端啟動。PXE則是根據伺服器端收到的工件站MAC位址,使用DHCP服務為這個MAC位址指定個IP位址。每次啟動可能同一台工作站有與上次啟動有不同的IP,即動态配置設定位址。下以用戶端引導過程說明PXE的原理。
(1)用戶端開機後,PXE BootROM(自啟動晶片)獲得控制權之前執行自我測試,然後以廣播形式發出一個請求FIND幀。
(2)如果伺服器收到用戶端所送出的要求,就會送回DHCP回應,包括使用者端的IP位址、預設通信通道,以及開機映像檔案;否則伺服器會忽略這個要求。
(3)用戶端收到伺服器發回的響應後則會回應一個幀,以請求傳送啟動所需檔案,并把自己的MAC位址寫到伺服器端的Netnames.db檔案中。
(4)将有更多的消息在用戶端與伺服器之間應答,用于決定啟動參數。BootROM由TFTP通信協定從伺服器下載下傳開機映像文檔。用戶端使用TFTP協定接收啟動檔案後,将控制權轉交啟動塊以引導作業系統,完成遠端啟動。
2.1.2 PXE安裝流程
PXE協定的成功運作需要解決以下的兩個問題
(1)既然是通過網絡傳輸,那麼計算機在啟動時其IP位址如何配置?
(2)通過何種下載下傳Linux核心和根檔案系統?
第一個問題可以通過DHCP Server解決,由DHCP Server來為PXE Client配置設定一個IP位址,DHCP Server是用來為DHCP Client動态配置設定IP位址的協定。不過由于這裡是為PXE Client配置設定IP位址,是以在配置DHCP Server時需要增加相應的PXE特有配置;至于第2個問題,在PXE Client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協定到TFTP Server上下載下傳所需的檔案。這樣,PXE協定運作的條件就具備了,PXE的安裝流程如圖所示。
在圖中,PXE Client是需要安裝Linux的計算機,TFTP Server和DHCP Server運作在另外一台Linux Server上,Bootstrap檔案、配置檔案、Linux核心,以及Linux根檔案系統都放置在Linux Server上TFTP伺服器的根目錄下。除了配置檔案,這3個二進制檔案是PXE Client在工件過程中所必需的檔案,即bootstrap、Linux核心和Linux根檔案系統。Bootstrap檔案是可執行程式,它為使用者提供簡單的控制界面,并根據使用者的選擇下載下傳合适的Linux核心以及Linux根檔案系統。
圖1 PXE的基本原理
2 什麼是KickStart
KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工幹預填寫的各種參數,并生成一個名為ks.cfg的檔案;在其後的安裝過程中(不隻局限于生成KickStart安裝檔案的機器)當出現要求填寫參數的情況時,安裝程式會首先去查找KickStart生成的檔案,當找到合适的參數時,就采用找到的參數,當沒有找到合适的參數時,才需要安裝者手工幹預。這樣,如果KickStart檔案涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以隻告訴安裝程式從何處取ks.cfg檔案,然後去忙自己的事情。等安裝完畢,安裝程式會根據ks.cfg中設定的重新開機選項來重新開機系統,并結束安裝。

三、安裝的前提條件
3.1 PXE+KickStart安裝的條件
執行PXE+KickStart安裝需要的裝置為:
DHCP 伺服器;
TFTP 伺服器;
KickStart所生成的ks.cfg配置檔案
一台存放系統安裝檔案的伺服器,如 NFS、HTTP 或 FTP 伺服器。
帶有一個 PXE 支援網卡的将安裝的主機;
3.2 安裝過程中所需要的rpm包及擷取
3.2.1 需要的rpm軟體包
vsftp
xinetd-*
tftp-server-*
dhcp-*
system-config-kickstart-*
syslinux
首先挂CD光牒:umont /dev/cdrom
mount /dev/cdrom /mnt
cd /mnt/Packages/
然後搭建ftp yum源。。
用yum安裝tftp伺服器。。
開啟vsftpd服務和tftp服務。并且設定開機自啟動
編輯tftp伺服器配置。vim /etc/xinetd.d/tftp 将disable=yes改成no
安裝syslinux服務
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
複制pxe的啟動檔案到tftp配置裡面。
複制ios裡面的這兩個小型系統檔案到tftp配置裡面。
mkdir /var/lib/tftpboot/pxelinux.cfg
建立檔案夾。
複制一個配置模闆到建立的default裡面。。
安裝dhcp伺服器:
yum-y install system-config-kickstart
system-config-kickstart