PXE批量裝機
阿新 • • 發佈:2021-07-07
PXE概述
PXE (Preboot eXcution Environment)
- 預啟動執行環境,在作業系統之前執行
- 由Intel公司開發的網路引導技術,工作在Client/Server模式, 允許客戶機通過網路從遠端伺服器下載引導映象,並載入安裝檔案或者整個作業系統
PXE批量部署的優點
- 規模化:同時裝配多臺伺服器
- 自動化:安裝系統、配置各種服務
- 遠端實現:不需要光碟、U盤等安裝介質
部署PXE
搭建PXE網路體系,必須滿足以下幾個前提條件
服務端
- 網路中有一臺DHCP伺服器以便為客戶機自動分配地址、指定引導檔案位置
- 伺服器要通過TFTP服務(簡單檔案傳輸協議)來提供系統核心和引導映象檔案的下載
客戶端
- 客戶機的網絡卡要支援PXE協議(整合BOOTROM晶片),且主機板支援網路引導。一般大多數伺服器主機都支援,只需在BIOS設定中允許從Network或LAN啟動即可
搭建PXE遠端安裝伺服器
- PXE遠端安裝伺服器集成了Centos 7 安裝源、TFTP 服務、DHCP服務、FTP 服務,能夠向客戶機裸機發送PXE載入程式、Linux 核心、啟動選單等資料,以及提供安裝檔案
- TFTP(簡單檔案傳輸協議),是一個基於UDP協議實現的用於在客戶機和伺服器之間進行簡單檔案傳輸的協議,適合於小檔案傳輸的應用場合。TFTP服務預設由xinetd服務進行管理,使用UDP埠69
- xinetd
1 安裝並啟用TFTP服務 2 3 yum -y install tftp-server xinetd 4 5 #修改TFTP服務的配置檔案 6 vim /etc/xinetd.d/tftp 7 8 protocol = udp #TFTP預設使用UDP協議 9 wait = no #no表示客戶機可以多臺一起連線,yes表示客戶機只能一臺一臺連線 10 server_args = -s /var/lib/tftpboot #指定TFTP根目錄(引導檔案的儲存路徑) 11 disable = no #no表示開啟TFTP服務 12 13 systemctl start tftp 14 systemctl enable tftp 15 systemctl start xinetd 16 systemctl enable xinetd
1 安裝並啟用DHCP服務 2 3 yum -y install dhcp 4 5 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 6 7 #修改DHCP服務的配置檔案 8 vim /etc/dhcp/dhcpd.conf 9 10 ddns-update-style none; #禁用DNS動態更新 11 next-server 192.168.208.20; #指定TFTP伺服器的地址 12 filename "pxelinux.0"; #指定要下載的PXE載入程式的檔案 13 14 subnet 192.168.208.20 netmask 255.255.255.0 { #宣告要分配的網段地址 15 range 192.168.208.100 192.168.208.200; #設定地址池 16 option routers 192.168.208.20; #預設閘道器地址指向TFTP伺服器的IP地址 17 } 18 19 20 systemctl start dhcpd 21 systemctl enable dhcpd
1 初始化映象檔案 2 3 mount /dev/sr0 /mnt 4 5 cd /mnt/images/pxeboot 6 cp vmlinuz /var/lib/tftpboot/ #複製Linux系統的核心檔案到TFTP根目錄下 7 cp initrd.img /var/lib/tftpboot/ #複製初始化映象檔案(linux引導載入模組)到TFTP根目錄下
1 部署PXE載入程式,準備安裝源 2 3 yum -y install syslinux #PXE載入程式由軟體包syslinux提供 4 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #複製PXE載入程式到TFTP根目錄 5 6 7 yum -y install vsftpd 8 mkdir /var/ftp/centos7 9 cp pxelinux.0 /var/ftp/centos7 10 11 systemctl start vsftpd 12 systemctl enable Vsftpd
預設的啟動選單檔案在TFTP根目錄的pxelinux.cfg子目錄下,檔名為default
1 配置啟動選單檔案 2 3 mkdir /var/lib/tftpboot/pxelinux.cfg 4 5 vim /var/lib/tftpboot/pxelinux.cfg/default 6 7 default auto #指定預設入口名稱 8 prompt 1 #設定是否等待使用者選擇,“1"表示等待使用者控制 9 10 label auto #圖形安裝(預設)引匯入口,label用來定義啟動項 11 kernel vmlinuz #kernel和append用來定義引導引數 12 append initrd=initrd.img method=ftp://192.168.208.20/centos7 13 14 label linux text #文字安裝引匯入口 15 kernel vmlinuz 16 append text initrd=initrd.img method=ftp://192.168.208.20/centos7 17 18 label linux rescue #救援模式引匯入口 19 kernel vml inuz 20 append rescue initrd=initrd.img method=ftp://192.168.208.20/centos7 21 22 關閉防火牆 PXE安裝 23 systemctl stop firewalld. service 24 setenforce 0
注:使用VMware建立的虛擬機器進行測試,虛擬機器記憶體至少需要2GB,否則在啟動安裝時可能會報錯。
- 開啟虛擬機器,在提示字串“boot:”後直接按Enter鍵(或執行“auto”命令),將會自動通過網路下載安裝檔案,並進入預設的圖形安裝入口
- 若執行“linux text”命令,則進入文字安裝入口;若執行 “linux rescue”命令,則進入救援模式