PXE 高效批量網絡裝機
一、部署PXE遠程安裝 服務
PXE (Preboot eXecution Environment,預啟動執行環境)是由Intel公司開發的網絡引導技術,工作在Client/Server模式,允許客戶機通過網絡從遠程服務器下載引導鏡像并加載安裝文件或整個操作系統。
PXE批量部署的的三個優點:
? 規模化:同時裝配多臺服務器
? 自動化:安裝系統、配置各種服務
? 遠程實現:不需要光盤、U盤等安裝介質
若要搭建PXE網絡體系,必須滿足以下幾個前提條件:
? 服務端:運行DHCP服務,用來分配地址、定位引導程序 運行TFTP服務,提供引導程序下載。
? 客戶端:網卡支持PXE協議,主板支持網絡引導。
(1)搭建PXE遠程安裝服務器
1、準備Linux安裝源
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
采用FTP協議發布安裝源,在服務器上部署一個YUM軟件倉庫。
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom/ #掛載光盤
dnf -y install vsftpd
mkdir /var/ftp/euler
cp -rf /media/cdrom/* /var/ftp/euler
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #第12行
systemctl start vsftpd #啟動
2、安裝并啟用TFTP服務
TFTP 服務由 tftp-server 軟件包提供,配置文件位于/etc/xinetd.d/tftp。配置時只要將“disable = yes”改為“disable =no”,然后啟動 TFTP 服務即可。
dnf -y isntall tftp-server
vim /etc/xinetd.d/tftp

systemctl staer tftp
systemctl enable tftp
3、準備Linux內核、初始化鏡像文件
用于 PXE 網絡安裝的 Linux 內核、初始化鏡像文件可以從 Linux 系統光盤獲得,分別為 vmlinuz和 initrd.img,位于文件夾 images/pxeboot 下。找到這兩個文件并將其復制到 tftp 服務的根目錄。
cd /media/cdrom/images/pxeboot
cp vmlinuz initrd.img /var/lib/tftpboot
cd /media/cdrom/isolinux/
cp ldlinux.c32 libcom32.c32 /var/lib/tftpboot/

? **ldlinux.c32:**是 SYSLINUX 引導加載程序的一部分,用于在PXE 網絡引導過程中加載 Linux 內核和其他必要的初始化文件。它提供了從網絡加載內核和初始化 RAM 文件系統(initramfs)所需的基礎引導功能。在 PXE引導流程中,負責處理引導菜單的配置,并根據用戶的選擇或默認設置加載相應的內核和參數。
? **libcom32.c32:**是 SYSLINUX 提供的一組常用函數的庫文件,這些函數被 ldlinux.c32 和其他引導程序所使用。它包含了處理文件系統、內存分配、字符串操作等底層功能的實現。使得SYSLINUX 引導程序能夠更高效地執行其任務,而無需在每個引導程序中重復實現這些基礎功能。
4、準備PXE引導程序
用于 PXE 網絡安裝的引導程序為 pxelinux.0,由軟件包 syslinux 提供。安裝好軟件包 syslinux,然后將文件 pxelinux.0 也復制到 tftp 服務的根目錄下。
dnf -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

5、安裝并啟用DHCP服務
由于 PXE 客戶機通常是尚未裝系統的裸機,因此為了與服務器取得聯系并正確下載相關引導文件,需要預先配置好 DHCP服務來自動分配地址并告知引導文件位置。如PXE服務器的IP地址為192.168.10.101,DHCP 地址池為 192.168.10.200~192.168.10.250,則可以參考以下操作來搭建DHCP 服務器。
dnf -y install dhcp
vim /etc/dhcp/dhcpd.conf

systemctl start dhcpd
systemctl enable dhcpd
? **netx-server:**用來指定TFTP服務器的地址
? **filename:**用來指定PXE 引導程序的文件名。
6、配置啟動菜單文件
啟動菜單用來指導客戶機的引導過程,包括如何調用內核,如何加載初始化鏡像。默認的啟動菜單文件為 default,應放置在 tftp 根目錄的 pxelinux.cfg 子目錄下。
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

(2)驗證PXE網絡安裝
搭建好 PXE 遠程安裝服務器以后,就可以使用客戶機進行安裝測試了。對于新購買的服務器或 PC 裸機,一般不需要額外設置;若要為已有系統的主機重裝系統,則可能需要修改 BIOS 設置,將“Boot First設為“NETWORK”或“LAN”,然后重啟主機;若使用 VMware 創建的虛擬機進行測試,虛擬機內存至少需要 2GB,否則在啟動安裝時會報錯。
如果服務器配置正確,網絡連接、PXE 支持等都沒有問題,則客戶機重啟后將自動配置 IP 地址,然后從 TFTP 服務器中獲取引導程序 pxelinux.0,并根據引導菜單配置提示用戶指定啟動入口。
選“是”

在提示字串“boot:”后直接執行“auto”命令,將會進入默認的圖形安裝入口;若執行“linux text命令,則進入文本安裝入口;若執行“linux rescue”命令,則進入救援模式。

直接按 Enter 鍵確認后將自動通過網絡下載安裝文件,并進入圖形安裝程序界面,如下圖所示。若能夠成功到達這一步,說明 PXE 網絡安裝基本成功。后續安裝步驟與使用光盤的正常安裝類似。

二、實現Kickstart無人值守安裝
通過 PXE 技術遠程安裝 Linux 系統的方法,安裝介質不再受限于光盤、移動硬盤等設備,大大提高了系統安裝的靈活性。然而,安裝期間仍需要手動選擇語言、鍵盤類型、指定安裝源等一系列交互操作,當需要批量安裝時非常不方便。
所以以下將實現無人值守自動安裝,通過使用安裝應答文件,自動完成安裝過程中的各種設置,從而無須手動干預,提高網絡裝機效率。
在 openeuler24.03 或 centos8 等系統版本中,不再支持 system-config-kickstart 工具,無法通過此工具生成應答文件,需要直接編輯ks.cfg 文件。
(1)編輯應答文件
vim /var/ftp/ks.cfg
url --url="ftp://192.168.10.101/euler"
#指向安裝源地址?:ml-citation{ref="1,4"data="citationList"}
#系統語言設置
lang zh_CN.UTF-8
keyboard us
#網絡配置(以DHCP為例)
network --bootproto=dhcp --device=ens160 --activate
#安全策略,root的密碼為aptech1!
authselect --enableshadow --passalgo=sha512
selinux --enforcing
rootpw --iscrypted
j9T
46wHHCdZ1EXPI8G8Ms9rE20JnYOkuLkXzyrq4nbwS98
#時區設置
timezone Asia/Shanghai
#分區方案(自動分區示例)
autopart --type=lvm --fstype=ext4
bootloader --location=mbr
#清除舊系統并初始化磁盤
clearpart --all --initlabel
#軟件包選擇
%packages --nocore
@^minimal-environment
kernel
grub2
efibootmgr
%end
#后安裝腳本
%post
#關閉防火墻(根據實際需求選擇)
systemctl disable firewalld
#配置SSH允許root登錄(按需啟用)
#sed -i's/^#PermitRootLogin.*/PermitRootLogin yes/'/etc/ssh/sshd_config
%end
#重啟配置
reboot

(2)實現批量自動裝機
有了自動安裝的應答文件之后,只要將其放置 PXE 安裝服務器的 FTP 目錄下,并適當修改引導菜單就可以實現基于網絡的批量自動裝機了。
1、啟動自動應答文件
編輯引導菜單文件 default,添加 ks 引導參數以指定 ks.cfg 應答文件的 URL 路徑。
vim /var/lib/tfpboot/pxelinux.cfg/default

(2)驗證
啟用自動應答安裝之后,當客戶機每次以 PXE 方式引導時,將自動下載 ks.cfg 應答配置文件,然后根據其中的設置安裝 Linux 系統,而無須手工干預。

注:如果是在 VMware 虛擬機環境下,需要禁用 VMware的 DHCP 功能;否則安裝文件將無法加載。
鏈接:https://blog.csdn.net/2501_91344566/article/details/147088849
-
操作系統
+關注
關注
37文章
7417瀏覽量
129469 -
PXE
+關注
關注
0文章
8瀏覽量
9933
原文標題:5分鐘掌握PXE批量裝機:從搭建到自動化部署全流程
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
VisionFive2 的 EDK2 中是否支持 PXE?
多工位氣密性檢漏儀:破解制造業批量生產質檢瓶頸
京東訂單API:批量訂單處理,效率倍增!
遠程批量升級功能的應用場景有哪些?
CR-2000型壓力可控型電動封裝機(含配件)
1688批量上貨API接口技術指南
商品圖片批量上傳接口設計與實現
同惠LCR測試儀如何實現高效批量自動化測量
昊衡科技發布低成本OLI-B光纖微裂紋檢測儀,開啟批量高效檢測新紀元
應用案例丨一鍵測量300+工件,QM系列閃測儀批量檢測
小批量SMT加工的“定制化”與大批量生產的“標準化”:差異全解析
包裝機PLC數據采集對接到MES系統的解決方案
飲料灌裝機中液位傳感器的應用與技術分析
PXE高效批量網絡裝機教程
評論