运用IPXE技术引导PE系统(CentOS篇)
前言
今年學校新建了三個機房,聯想原裝機,8代Intel CPU,NVMe固態硬盤,Windows 10系統。機房管理中常做的事就是系統克隆,之前采用的是Tftpd32+GhostSrv組合來進行,但面對這三個新機房,新硬件,新系統,原有技術失效。通過上百度找到解決方案,采用IPXE+WinPE+GhostSrv組合可解決問題。
PXE(preboot execute environment,預啟動執行環境)是由Intel公司開發的技術,工作于Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作系統,在啟動過程中,終端要求DHCP服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟件包到本機內存中執行,由這個啟動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系統等。
gPXE/iPXE是PXE的擴展版,支持HTTP協議,可以通過http、ISCSI SAN、Fibre Channel SAN via FCoE AoE SAN wireless network Infiniband network等方式啟動。iPXE由gPXE分支而來(fork),功能更豐富。
Windows環境下可以使用Tiny IPXE server軟件輕松實現,Linux下則要搭建相應環境,相對較復雜。因在自已所處網絡環境下測試使用Tiny IPXE Server發現不穩定,決定搭建Linux環境下的IPXE服務器,經測試使用很穩定。下面敘述一下該方案。
一、布署準備
布署環境:Vmware虛擬機中布署
軟件清單:
1.IPXE源代碼,下載地址:http://www.ipxe.org
2.操作系統:Centos 7
二、布署流程
1.安裝CentOS 7操作系統
2.編譯環境搭建
3.編譯IPXE源碼
4.安裝DHCP、HTTP、TFTP、XINETD服務
5.配置上述服務
6.定制啟動菜單
7.布署WinPE系統
三、具體布署
1.安裝CentOS 7操作系統(略)
2.編譯環境搭建
#yum install gcc binutils make perl liblzma mtools mkisofs xz-devel
3.編譯IPXE源碼
(1)tar zxvf ipxe-xxx? //解壓縮
(2)配置IPXE啟動腳本
#Vi ipxescript? //創建腳本,名稱自取,內容如下
-----------------------------------------------------
#!ipxe
#獲取IP地址
dhcp
#配置引導菜單
chain http://x.x.x.x/ipxe/ipxe.html
-------------------------------------------------------
(3)編譯
#make bin/undionly.kpxe EMBED=ipxescript
或者
#make bin/ipxe.pxe EMBED=ipxescript
Undionly.kpxe 使用的是通用UNDI(網絡驅動接口)來驅動網卡
Ipxe.pxe 使用自帶驅動來驅動網卡
部分機器會出現使用UNDI接口不正常(我單位使用的聯想機上的RTL8168網卡就不正常)請使用自帶驅動,支持列表請官網查看。
4.安裝DHCP、HTTP、TFTP、XINETD服務
#yum –y install dhcp httpd tftp-server xinetd
5.配置上述服務
(1)dhcp
#vi /etc/dhcp/dhcpd.conf? //修改默認配置腳本,示例如下
----------------------------------------------------------
# DHCP Server Configuration file.
#?? see /usr/share/doc/dhcp*/dhcpd.conf.sample
#?? see 'man 5 dhcpd.conf'
#
#option space ipxe;
subnet 172.16.30.0 netmask 255.255.255.0 {
range dynamic-bootp 172.16.30.60 172.16.30.70;
option subnet-mask 172.16.30.0;
option broadcast-address 172.16.30.255;
option routers 172.16.30.57;
option domain-name-servers 222.246.129.81;
next-server 172.16.30.1;? //tftp服務地址
filename "ipxe/undionly.kpxe";? //引導文件名
}
-------------------------------------------------------------
(2)http
#vi /etc/httpd/conf/httpd.conf
可以直接使用默認配置(略)。
(3)tftp
#vi /etc/xinetd.d/tftp
將disable=yes改為disable=no即可
6.定制啟動菜單
#vi /var/www/html/ipxe/ipxe.html? //示例內容如下,詳情看官網
------------------------------------------------------
#!ipxe
#自定義變量
set dirpath http://192.168.5.50/ipxe
#菜單名稱
menu Boot_Menu
item 10PE --Windows 10 PE
item custom_exit –Exit
choose ?–default 10PE –timeout 5000 custom_choice || goto custom_exit
echo ${cls}
goto ${custom_choice}
goto custom_exit
:10PE
kernel ${dirpath}/memdisk raw iso
initrd ${dirpath}/10PE.iso
boot || goto custom_exit
:custom_exit
Exit
---------------------------------------------------------
注:&&、||是兩個操作符,&&表示左側命令執行成功則執行&&后的命令,||表示左側命令執行失敗則執行||后的命令。
7.布署WinPE系統
將需要運行的WinPE系統ISO鏡像包放入/var/www/html/ipxe/文件夾供客戶端下載。找了很多PE鏡像,“U盤量產網”中的“Win10PE 14393(x86+x64)可上網可網啟v12.28 ljycslg精簡版”是比較理想的符合機房管理用的鏡像包,推薦使用。
8.運行httpd、tftp、dhcpd、xinetd服務
#systemctl start httpd
#systemctl start dhcpd
#systemctl start tftp
#systemctl start xinetd
為方便使用,請將上述服務設置為自啟動。CentOS默認開啟防火墻,要關閉防火墻或添加防火墻規則來讓服務器能被客戶端訪問。關閉防火墻命令如下:
#systemctl stop firewalld
通過以上步驟便搭建好了IPXE服務器,可以方便地通過網絡啟動PE系統來維護計算機。
總結
以上是生活随笔為你收集整理的运用IPXE技术引导PE系统(CentOS篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式架构设计之基础软件系统架构
- 下一篇: 企业级基于Centos8.5配置IPXE