在 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 發行版都需要正確的網路連線、防火牆配置和測試。

更新於: 2023年8月3日

325 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.