6.2. 透過開機磁碟來佈建主機

Satellite 的網路佈建模式一般基於 PXE,它需要 DHCP 和 TFTP 服務。因為並非所有 Satellite 建置皆能使用這些服務,開機磁碟佈建功能提供了主機特屬、完整主機,以及泛型的開機磁碟映像檔類型以讓您在此種建置中進行佈建。
各個開機磁碟映像檔類型皆有其優點,不過它們都是為了無網路基礎結構控制的環境所設計;基於如此,DHCP 預留或 TFTP 設定皆不需要。
開機映像檔會被寫為混合式 ISO 映像檔(可被作為 ISO 檔案或 USB 磁碟使用),並且能藉由實體媒介、虛擬磁碟或光碟來啟動。

表格 6.1. 比較開機映像檔類型的特性

類型 泛型 需要 DHCP DHCP 預留 預註冊主機 作業系統特屬
主機特屬的映像檔
完整主機映像檔
泛型映像檔(Generic image)

6.2.1. 先決條件

Satellite 開機磁碟功能的所有必要套件通常就預設值會被安裝。在繼續進行前請先確認您已滿足了下列條件:
  • 無論您使用的映像檔類型為何,在透過映像檔開機前,主機都必須先向 Satellite 註冊。主機將透過其 MAC 或 IP 位址來被識別,並在主機處於組建模式下時提供正確的佈建範本。
  • 若使用主機特屬的映像檔,請確認已填入主機 IP 位址與子網路,並且已正確配置了子網路的閘道器、子網路遮罩,以及 DNS 解析程式。請至「基礎結構子網路」配置這些值。
  • 若要允許非管理員的使用者存取映像檔的話,請為該使用者加入「開機磁碟存取(Boot disk access)」角色,或將「下載開機磁碟(download_bootdisk)」權限加入到既有的角色中。
  • 確認可使用適當的 iPXE 佈建範本。Red Hat Enterprise Linux 所使用的是「Kickstart default iPXE」範本。

    注意

    目前尚不支援 gPXE 映像檔。
    主機與泛型映像檔類型基於 iPXE 技術,並且它支援來自於 PXELinux 的不同硬體驅動程式。欲查看支援的硬體清單,請參閱〈http://ipxe.org/appnote/hardware_drivers〉。
    若您使用 iPXE 時遇上了問題,完整主機映像檔包含了內建的 kernel 與 RAM disk,並且能在任何類型的網路卡上載入,包括不支援 PXE 的網路卡。
  • 確認能否使用適當的標準範本。Red Hat Enterprise Linux 使用「Kickstart RHEL default」來作為佈建範本。

重要

若您不使用預設的 Satellite kickstart 佈建範本,那麼請確認您所使用的範本提供了配置作業系統所需的靜態的 IP 詳情。若要使用 kickstart 檔案,您可使用下列配置:
network --bootproto <%= @static ? "static" : "dhcp" %> --hostname <%= @host %> <%= " --ip=#{@host.ip} --netmask=#{@host.subnet.mask} --gateway=#{@host.subnet.gateway} --nameserver=#{@host.subnet.dns_primary},#{@host.subnet.dns_secondary}" if @static %>

6.2.2. 建立開機磁碟映像檔

這部分詳述了如何建立主機特屬、完整主機與泛型的開機磁碟映像檔。您可使用網站 UI 或是指令列來建立映像檔;這兩項方法皆在此詳述。

注意

若要透過指令列建立映像檔,請確認 ruby193-rubygem-foreman_bootdisk 套件已安裝。此套件通常就預設值已安裝。

6.2.2.1. 建立主機特屬的映像檔

您可使用 Satellite 中的主機和子網路資料來以靜態網路建立主機特屬的映像檔。其特性會是動態的;映像檔會從 Satellite 進行 chain-load,因此目前的作業系統與組建狀態會由 Satellite 提供,而不是儲存在映像檔中。

過程 6.2. 若要透過 Web UI 建立主機特屬的映像檔:

  1. 請至「主機所有主機」並點選適當的主機名稱。
  2. 按下「開機磁碟」然後點選「主機主機名稱 映像檔」。
若要透過 hammer CLI 工具建立主機特屬的映像檔,請執行下列指令:
# hammer bootdisk host --host client.example.com
若要在 Satellite 伺服器上透過指令列建立主機特屬的映像檔,請執行下列指令:
# foreman-rake bootdisk:generate:host NAME=client.example.com OUTPUT=/tmp
請將 OUTPUT 的值設為適當的目的地路徑,這能夠是個目錄或是檔案。foreman 使用者必須擁有指定之目的地的寫入權限。

6.2.2.2. 建立完整主機映像檔

完整主機映像檔與主機特屬的映像檔相似,不過與其由 Satellite 進行 chain loading,這些映像檔包含了初始作業系統的開機載入程式。這對於無法 chain load 的主機來說相當有幫助,不過缺點就是當主機作業系統、開機載入程式或範本改變時,映像檔可能就會變得過舊,或是當需要組建權杖時,權杖過期。

過程 6.3. 透過 Web UI 建立完整主機映像檔:

  1. 請至「主機所有主機」並點選適當的主機名稱。
  2. 點選「開機磁碟」然後按下「完整主機 主機名稱 映像檔」。
建立完整主機映像檔會花上較多時間,因為程序會下載作業系統開機載入程式,而此開機載入程式可能非常巨大。
若要透過 hammer CLI 工具建立完整主機映像檔,請執行下列指令:
# hammer bootdisk host --host client.example.com --full true
若要在 Satellite 伺服器上透過指令列建立完整主機映像檔,請執行下列指令:
# foreman-rake bootdisk:generate:full_host NAME=client.example.com

6.2.2.3. 建立泛型映像檔

泛型映像檔提供了一個單獨、所有已註冊主機皆能使用的 ISO 檔案。IP 位址詳情不可儲存在這些映像檔中,然而這代表網路必須提供 DHCP 集區。您透過泛型映像檔來啟動主機之後,會聯絡 Satellite 取得已註冊主機(符合 MAC 位址的主機,或是符合透過 DHCP 取得 IP 位址的主機)的範本。
根據作業系統 iPXE 範本的配置方法,安裝程序能繼續使用 DHCP 指定或靜態的 IP 位址。您可使用 kickstart 檔案來指定額外的網路配置選項。

過程 6.4. 透過 Web UI 建立泛型映像檔:

  1. 請至「主機所有主機」並點選適當的主機名稱。
  2. 按下「開機磁碟」並點選「泛型映像檔」。
若要透過 hammer CLI 工具建立泛型映像檔,請執行下列指令:
# hammer bootdisk generic
若要在 Satellite 伺服器上透過指令列建立泛型映像檔,請執行下列指令:
# foreman-rake bootdisk:generate:generic

6.2.2.4. 建立 USB 映像檔

每當您建立一個 ISO 檔案時,它也會通過 isohybrid 指令,這代表亦可將形成的檔案作為磁碟來開機,並且將其複製至 USB 裝置上。
若要將 ISO 檔案複製至一個 USB 裝置上,請執行下列指令。請確認裝置名稱與輸入檔案適用於您的環境:
# dd if=fqdn.iso of=/dev/sdX