在 RHEL/CentOS 7 中為多個 Linux 發行版安裝設定“ëPXE 網路啟動伺服器”
在 RHEL/CentOS 7 中,當構建一個允許客戶端裝置網路啟動的伺服器時,需要為多個 Linux 發行版設定一個 PXE 網路啟動伺服器。這使得能夠基於網路安裝多個 Linux 發行版,而無需使用物理安裝光碟。
設定它的第一步是安裝所需的軟體包,包括 DHCP、TFTP 和 Syslinux。然後應配置 DHCP 伺服器以向客戶端計算機提供 IP 地址和網路啟動資料。之後,設定 TFTP 伺服器以提供用於安裝 Linux 的啟動記錄和映像。
設定伺服器後,建立相應的目錄結構並將相關檔案複製到 TFTP 伺服器目錄。配置 Syslinux 引導載入程式的選單選項和引導選項。
最後但並非最不重要的是,將多個 Linux 發行版及其安裝映像新增到引導選單中。重新啟動必要的服務,客戶端工作站將能夠透過網路啟動並使用 PXE 網路啟動伺服器安裝不同的 Linux 發行版。
使用的方法
手動配置
自動化工具
手動配置
RHEL/CentOS 7 的手動配置需要單獨執行每個配置步驟,以設定用於多個 Linux 發行版安裝的 PXE 網路啟動伺服器。首先安裝並配置 Syslinux、DHCP 和 TFTP 軟體包。建立一個自定義的 DHCP 伺服器配置檔案,以向客戶端計算機提供 IP 地址和啟動選項。配置 TFTP 伺服器以提供 Linux 安裝映像和引導檔案。建立必要的目錄結構後,必須將必需的檔案複製到 TFTP 伺服器目錄。設定選單選項並配置 Syslinux 引導載入程式以處理網路引導。建立一個自定義引導選單,提供各種 Linux 發行版及其安裝映像。重新啟動相關的服務,以便客戶端工作站能夠透過網路啟動並使用 PXE 網路啟動伺服器安裝各種 Linux 發行版。
演算法
安裝必要的軟體包,包括 Syslinux、DHCP 和 TFTP。
sudo yum install dhcp tftp syslinux -y
設定 DHCP 伺服器 -
修改 DHCP 伺服器的配置檔案。
為客戶端機器提供 IP 地址和啟動選項。
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
filename "pxelinux.0";
}
配置您的 TFTP 伺服器 −
設定 TFTP 伺服器配置。
建立所需的目錄結構。
將 Linux 安裝映像和引導檔案傳輸到 TFTP 伺服器目錄。
sudo systemctl enable tftp sudo systemctl start tftp sudo mkdir /var/lib/tftpboot sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
Syslinux 的引導載入程式作為 PXE 伺服器配置的一部分
修改 Syslinux 的配置檔案。
修改 Syslinux 的配置檔案。
default linux prompt 1 timeout 100 label linux kernel vmlinuz append initrd=initrd.img inst.stage2=ftp://192.168.1.10/pub/ks.cfg
修改啟動選單 −
修改引導載入程式的配置檔案。
編譯各種 Linux 發行版的安裝映像。
應重新啟動 DHCP 和 TFTP 服務。
sudo systemctl restart dhcpd sudo systemctl restart tftp
驗證防火牆設定、網路連線和許可權是否都正確。
客戶端機器現在可以使用 PXE 網路啟動伺服器透過網路啟動並安裝其他 Linux 發行版。
自動化工具
在 RHEL/CentOS 7 中,自動化工具使為多個 Linux 發行版安裝配置 PXE 網路啟動伺服器變得更加容易。例如,此類工具包括“Cobbler”和“Foreman”。使用這些工具,設定更簡單且更有效。
安裝後,所選實用程式提供用於配置的 Web 介面。您可以使用此介面指定網路和伺服器設定。該工具的儲存庫允許您輸入 Linux 發行版的 ISO 映像,並且儲存庫會自動儲存和組織這些映像。
這些工具還提供配置引導選單、配置檔案和自定義選項的可能性。可以為任何 Linux 發行版自定義核心選項、安裝設定和軟體包選擇。
由於自動化工具會處理底層過程(例如 DHCP、TFTP 和 Syslinux 設定),因此您無需手動配置它們。這使得設定 PXE 網路啟動伺服器變得更簡單且更使用者友好。
演算法
在伺服器上引入所選的自動化工具(Cobbler 或 Foreman)。這些工具簡化了管理和分發 Linux 發行版的過程。
sudo yum install cobbler cobbler-web
透過指定 IP 地址、子網掩碼和閘道器,配置伺服器的網路介面。這確保了網路內的正確通訊。
sudo systemctl start cobblerd sudo systemctl start httpd
將指定 Linux 發行版的 ISO 檔案匯入到自動化工具的儲存庫中。ISO 檔案包含 Linux 發行版的安裝映像。
sudo vi /etc/cobbler/settings
定義 Linux 發行版及其相應的安裝映像以建立引導選單選項。這允許使用者在安裝過程中選擇指定的 Linux 發行版。
sudo mount /dev/cdrom /mnt sudo cobbler import --name=<distribution_name> --path=/mnt --arch=<architecture> --breed=<distribution_type>
為每個 Linux 發行版建立不同的配置檔案。這些配置檔案可以使用不同的核心設定、安裝選項和軟體包選擇進行自定義。
sudo vi /etc/cobbler/pxe/pxedefault.template
確保網路的配置和防火牆設定允許客戶端計算機訪問 PXE 伺服器。這使客戶端能夠從 PXE 伺服器啟動並安裝 Linux 發行版。
sudo cobbler profile edit --name=<distribution_name> --kickstart=<kickstart_file_path>
儲存配置選項並啟動 PXE 伺服器。這使伺服器能夠響應來自客戶端計算機的 PXE 啟動請求。
sudo iptables -A INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT sudo iptables -A INPUT -p udp --dport 69 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 4011 -j ACCEPT sudo service iptables save sudo service iptables restart
儲存設定選項並開啟 PXE 伺服器。
sudo cobbler sync sudo systemctl restart cobblerd
重新啟動任何必要的應用程式以應用在設定過程中所做的更改。
sudo systemctl restart httpd sudo systemctl restart dnsmasq
從自動化工具(Cobbler 或 Foreman)啟動客戶端計算機,並嘗試安裝 Linux 發行版。這作為測試,以驗證 PXE 網路啟動伺服器的功能。
結論
總之,RHEL/CentOS 7 允許手動配置或使用自動化工具來配置用於多個 Linux 發行版安裝的 PXE 網路啟動伺服器。當使用手動配置時,該過程包括手動配置引導載入程式、引導選單和伺服器設定,以及安裝和配置 DHCP、TFTP 和 Syslinux 軟體包。自動化工具(如 Cobbler 或 Foreman)簡化了設定過程,同時提供了用於配置網路設定、匯入 Linux 發行版 ISO、自定義引導選單和管理配置檔案的使用者友好型 Web 介面。無論採用哪種方法,確保有效網路引導和安裝不同的 Linux 發行版都需要正確的網路連線、防火牆配置和測試。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP