一、簡介 1、什麼是PXE PXE(Pre-boot Execution Environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網路模式,支持工作站通過網路從遠端伺服器下載映像,並由此支持通過網路啟動操作系統,在啟動過程中,終端要求伺服器分配IP ...
一、簡介
1、什麼是PXE
PXE(Pre-boot Execution Environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網路模式,支持工作站通過網路從遠端伺服器下載映像,並由此支持通過網路啟動操作系統,在啟動過程中,終端要求伺服器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟體包到本機記憶體中執行,由這個啟動軟體包完成終端基本軟體設置,從而引導預先安裝在伺服器中的終端操作系統。
嚴格來說,PXE 並不是一種安裝方式,而是一種引導方式。進行 PXE 安裝的必要條件是在要安裝的電腦中必須包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE 協議可以使電腦通過網路啟動。此協議分為 Client端和 Server 端,而PXE Client則在網卡的 ROM 中。當電腦引導時,BIOS 把 PXE Client 調入記憶體中執行,然後由 PXE Client 將放置在遠端的文件通過網路下載到本地運行。運行 PXE 協議需要設置 DHCP 伺服器和 TFTP 伺服器。DHCP 伺服器會給 PXE Client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE Client 分配 IP 地址,所以在配置 DHCP 伺服器時需要增加相應的 PXE 設置。此外,在 PXE Client 的 ROM 中,已經存在了 TFTP Client,那麼它就可以通過 TFTP 協議到 TFTP Server 上下載所需的文件了。
2、什麼是Kickstart
Kickstart是一種無人值守的安裝方式。它的工作原理是在安裝過程中記錄典型的需要人工干預填寫的各種參數,並生成一個名為ks.cfg的文件。如果在安裝過程中(不只局限於生成Kickstart安裝文件的機器)出現要填寫參數的情況,安裝程式首先會去查找Kickstart生成的文件,如果找到合適的參數,就採用所找到的參數;如果沒有找到合適的參數,便需要安裝者手工干預了。所以,如果Kickstart文件涵蓋了安裝過程中可能出現的所有需要填寫的參數,那麼安裝者完全可以只告訴安裝程式從何處取ks.cfg文件,然後就去忙自己的事情。等安裝完畢,安裝程式會根據ks.cfg中的設置重啟系統,並結束安裝
PXE+Kickstart 無人值守安裝操作系統完整過程如下:
二、系統環境
服務端Centos 7.4
關閉防火牆
SElinux=disabled
三、安裝HTTP並配置
系統的安裝方式有HTTP、FTP、NFS,這裡用HTTP安裝,其他兩種和HTTP差不多
1、安裝HTTP並啟動服務
yum install httpd 安裝
rpm -q httpd 查看
systemctl status httpd 啟動http
systemctl enable httpd 設置為開機啟動
2、將光碟掛載至http的根目錄/var/www/html
註:如果瀏覽器測試打開為預設測試頁面須修改/etc/httpd/conf.d/welcome.conf配置文件
改完後重啟httpd服務
四、安裝並配置TFTP
1、安裝tftp-server
yum install tftp-server
rpm -q tftp-server
2、配置tftp-server
vim /etc/xinetd.d/tftp
將disable設置為no
3、啟動tftp服務
systemctl start tftp.socket
systemctl enable tftp.socket
五、生成ks.cfg應答文件
1、安裝Kickstart
yum install system-config-kickstart
2、在桌面環境下配置Kickstart
註:軟體安裝包管理打不開修改yum源
生成centos7.cfg文件,保存在/var/www/html/ks/下(註意文件許可權644)
六、準備PXE的啟動相關文件
註:須安裝syslinux (yum install syslinux)
1、準備文件
mkdir /var/lib/tftpboot/pxelinux.cfg/ cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
2、修改default啟動菜單
vim /var/lib/tftpboot/pxelinux.cfg/default
七、安裝配置DHCP
1、安裝DHCP服務
yum install dhcp
2、複製配置模版文件到DHCP配置目錄
cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3、修改配置文件並設置啟動
systemctl start dhcpd
systemctl enable dhcpd
八、測試安裝