如何將 SLES 15 機器註冊到 SUSE Manager Offline

SLES 15 機器無需直接存取網際網路即可成為受管理的 SUSE Manager 用戶端。它需要的是可靠的網路存取權限,能夠連接到內部的 SUSE Manager 伺服器或代理,並且在該環境中已具備正確的 SLES 產品管道、引導程式儲存庫、啟動金鑰和信任材料。

這種區別至關重要。 「離線客戶端註冊」通常表示 SLES 主機無法存取 SUSE 用戶中心或公共儲存庫,但可以存取內部的 SUSE Manager 系統。完全物理隔離的 SUSE Manager 部署則涉及更大的架構問題:儲存庫內容必須先使用受支援的鏡像方法匯入到斷開連接的環境。 SUSE 在其《斷開連接設定指南》中對此進行了單獨說明。

此過程的目標不僅僅是讓客戶端出現在系統清單中。一個成功的結果應具備四個明顯的特徵:主機已使用預期的激活密鑰和基礎通道註冊;Salt 用戶端正在運行並與管理器通信;軟體包元數據來自 SUSE Manager 而非公共存儲庫;以及諸如刷新或狀態檢查之類的簡單管理操作能夠成功完成。

開始之前,「離線」應該意味著什麼?

在本指南中,SLES 15 用戶端無法直接存取網際網路。它可以透過網路使用完全限定網域名稱 (FQDN) 解析並連接到內部 SUSE 管理員伺服器或代理程式。管理器已同步所需的 SLES 15 內容。如果您的 SUSE 管理器伺服器本身已斷開互聯網連接,請先按照 SUSE 文件中提供的斷開連接工作流程準備並同步這些內容,然後再嘗試進行用戶端配置。

SUSE 目前的用戶端文件也指出,SLE 15 預設使用 Python 3,因此為 Python 2 建立的開機腳本需要重新產生。在 SUSE Manager 升級或遷移後,也建議在新系統上線之前重新產生引導腳本。請參閱「使用引導腳本註冊客戶端」。

步驟 1:驗證正確的 SLES 頻道是否已同步

在對用戶端進行任何操作之前,請確認 SUSE Manager 中安裝的 SLES 版本、服務包、架構以及所需模組與該用戶端完全相符。例如,不應使用適用於其他服務包或架構的內容來引導 SLES 15 SP7 x86_64 主機。

在 SUSE Manager Web UI 中,檢視產品通道和同步狀態。特定的頻道名稱會因版本和啟用的模組而異,因此請勿在未仔細檢查的情況下從其他環境複製頻道標籤。

SUSE Manager 軟體通道頁面範例,顯示了同步的 SLES 15 基本通道、更新通道、應用程式通道和模組通道。

範例通道檢視:在建立開機儲存庫之前,確認 SLES 15 產品系列和所需模組已同步。

品質檢查:基礎產品和啟動金鑰所需的所有管道均已完全同步。如果同步不完整,請在此停止。如果無法下載所需的客戶端軟體包,註冊可能部分成功,然後失敗。

步驟 2:確認或產生引導程式倉庫

每個用戶端都需要存取一個引導儲存庫,其中包含用於初始安裝的軟體包。 SUSE Manager 通常會在所需產品管道同步後自動建立和重新產生引導儲存庫,但您也可以手動產生一個。

在容器化的 SUSE Manager 5.x 伺服器上,首先進入伺服器容器:

mgrctl term

然後列出可用的引導程式倉庫目標:

mgr-create-bootstrap-repo -l

終端機視窗顯示了 mgr-create-bootstrap-repo -l 以及可用的 SLE 引導儲存庫目標清單。

使用儲存庫清單來確定與您要部署的 SLES 版本和架構相符的目標。

如果缺少或需要重新生成,請建立對應的引導程式倉庫:

mgr-create-bootstrap-repo -c SLE-version-x86_64

SUSE 在文件中記錄了引導程式倉庫的位置/srv/www/htdocs/pub/repositories/。如果多個產品共用相同程式碼庫,工具可能會要求您指定正確的父級頻道。目前流程已記錄在引導程式倉庫中。

終端機視窗顯示 SLES 引導儲存庫的建立過程以及成功完成的訊息。

成功建立儲存庫意味著可以從受管網路內部提供初始 Salt 和註冊軟體包。

何時需要變更方法:如果由於缺少必要的通道而無法產生儲存庫,請不要嘗試透過向用戶端複製隨機的 RPM 套件來繞過此故障。請先修復產品同步或中斷連線內容匯入的問題。

步驟 3:建立具有預期頻道分配的啟動金鑰

啟動密鑰不僅僅是一個註冊令牌。它決定著重要的入職流程,包括分配給客戶端的軟體管道和使用者群組。請根據您要註冊的 SLES 版本和角色專門產生金鑰。

在 Web 使用者介面中,開啟啟動金鑰配置,並驗證其基本通道和子通道是否與目標 SLES 電腦相符。切勿僅僅因為註冊成功就重複使用為其他服務包建立的金鑰。

SUSE Manager 啟動金鑰範例頁面,顯示了具有已指派的基本軟體通道和子軟體通道的 SLES 啟動金鑰。

啟動金鑰應將新的 SLES 15 主機對應到您希望它使用的確切內部通道。

品質檢查:啟動金鑰應解析為客戶端作業系統和架構的唯一明確的基礎通道。如果存在多個父通道導致映射關係不明確,請在執行引導腳本之前進行修正。

步驟 4:產生新的引導腳本

SUSE 建議使用mgr-bootstrap該工具建立註冊腳本。在 SUSE Multi-Linux Manager 5.1 中,兩個必要參數是 `--register`--activation-keys和 `--register` --script。

mgrctl term
mgr-bootstrap --activation-keys=<ACTIVATION_KEY> --script=bootstrap-sles15-offline.sh

也可以透過 Web UI 在「管理」>「管理員配置」>「引導腳本」下建立產生的腳本。對於基於代理的設計,請為代理 FQDN 產生腳本,而不是稍後靜默編輯伺服器引用。

終端機視窗顯示產生具有啟動金鑰的 SLES 15 引導腳本的過程。

產生一個與啟動金鑰和離線客戶端實際可以存取的伺服器或代理程式關聯的新腳本。

保持 SSL 啟用狀態。 SUSE 明確警告不要在開機設定中停用 SSL。在隔離網路中,憑證信任仍然至關重要,因為客戶端必須驗證它正在與預期的管理系統通訊。

步驟 5:從客戶端測試名稱解析、路由和憑證可達性

執行腳本前,請測試從 SLES 15 到 SUSE Manager 的內部路徑。具體檢查項目取決於您的網路拓撲,但至少要驗證 DNS 解析以及腳本使用的管理器或代理 FQDN 的 HTTPS 可達性。

getent hosts suma.example.com
curl -I https://suma.example.com/pub/

如果環境使用預設的 Salt 連線方式,用戶端也必須能夠與管理器建立所需的 Salt 連線。 SUSE 的手動命令列註冊文件指出,Salt 通訊使用 4505 和 4506 連接埠。請參閱“在命令列上註冊客戶端”。

SLES 15 終端機示範如何從內部 SUSE Manager 伺服器擷取引導腳本。

傳輸步驟應使用內部管理器或代理位址;用戶端不需要直接存取網際網路。

品質檢查:用戶端能夠解析引導腳本中嵌入的相同 FQDN,並且無需回退到公共路由即可存取該 FQDN。如果此步驟失敗,請在繼續之前修復 DNS、防火牆、代理路由或 CA 信任問題。

步驟 6:將引導腳本複製到隔離網路中

如果用戶端可以直接存取 SUSE Manager Web 服務,請從管理員下載引導腳本。如果用戶端處於更嚴格的存取控制層級,則需要透過跳轉主機或可移動介質,使用 SCP 等經批准的內部機制傳輸該檔案。該腳本本身並不能取代與內部管理器的持續連接;它僅負責初始設定。

curl -O https://suma.example.com/pub/bootstrap/bootstrap-sles15-offline.sh
chmod 700 bootstrap-sles15-offline.sh

如果直接使用 HTTP 傳輸是被禁止的,請在透過受控傳輸流程處理腳本後,請驗證腳本的校驗和。這在物理隔離或高安全等級的環境中尤其有用。

步驟 7:以 root 使用者身分執行引導腳本,並監視儲存庫或憑證是否發生故障。

在 SLES 客戶端本地執行腳本:

sudo ./bootstrap-sles15-offline.sh

該腳本會安裝所需的 Salt 元件、放置信任材料、應用程式啟動金鑰並啟動引導流程。具體的軟體包名稱可能因 SUSE Manager 和 SLES 版本而異。目前的 SUSE 文件越來越多地使用 Salt Bundle,venv-salt-minion而某些 SLES 15 引導路徑可能以 ` salt-minion<Salt-15 ...

SLES 15 終端機示範了引導腳本的執行、Salt 元件的安裝、註冊和服務重新啟動。

觀察引導程式輸出,檢查是否有憑證錯誤、軟體包不可用、儲存庫不符或啟動金鑰問題,而不是僅根據最後一行來判斷是否成功。

品質檢查:不存在軟體包解析錯誤、TLS 信任失敗,也不存在離線客戶端無法存取的公共儲存庫引用。如果腳本嘗試使用錯誤的儲存庫,請重新執行步驟 1 至 4,而不是重複執行腳本。

步驟 8:在 SUSE Manager 中驗證客戶端並測試管理流量

安裝完成後,在 SUSE Manager 中開啟「系統」並找到新客戶端。驗證其主機名稱、基本通道、系統群組和目前狀態。列出系統是必要的檢查點,但並非完整的驗收測試。

SUSE Manager Systems 範例頁面,顯示處於活動狀態的 SLES 15 用戶端以及終端服務狀態檢查。

只有當系統出現並分配了預期的通道,且 Salt 用戶端保持活動狀態時,註冊才算完成。

在客戶端,檢查與已安裝的 Salt 堆疊相符的服務名稱:

systemctl status venv-salt-minion
# or, where applicable:
systemctl status salt-minion

然後從 SUSE Manager 執行一項低風險的管理操作,例如刷新軟體包資料或執行無害的狀態/查詢。確認操作完成,並確認客戶端隨後再次簽入。

如何判斷離線註冊是否真的有效

查看結果良好停下來修復的原因
產品內容正確的 SLES 15 服務包、架構和模組已在內部同步。缺少或混合的服務包頻道
Bootstrap 倉庫為正確的產品目標生成建立失敗或父頻道不明確
啟動金鑰指派目標基本頻道和子頻道與其他作業系統角色或版本相關的關鍵點
網路路徑客戶端內部解析並連接到管理器/代理的 FQDN需要公共 DNS 或網際網路路徑。
TLS沒有證書驗證錯誤SSL 已停用或信任鏈未解析
鹽Salt Bundle/minion 服務保持啟動狀態,管理作業已完成客戶出現一次,但之後無法辦理入住。

常見故障模式及其通常意義

腳本無法下載軟體包

首先,請將引導程式倉庫和啟動金鑰通道的對應關係與用戶端的 SLES 版本進行比對。 SUSE 警告說,倉庫資訊必須與基礎通道相符;否則,引導程式將無法檢索正確的軟體包。

用戶端已註冊,但資料包操作失敗

檢查本地倉庫是否仍保留自先前的配置。 SUSE 的 Salt 開機過程是基於 SUSE Manager 提供的倉庫設計的,而本地分配的倉庫可能會幹擾一致的通道管理。在離線環境中,任何殘留的公共倉庫引用都極有可能失效。

Salt 服務已啟動,但係統仍處於非活動狀態。

驗證 DNS、防火牆政策和聯絡方式。如果無法跨網路邊界建立標準的 Salt 連接,SUSE 文件中提到,對於位於防火牆保護區域或斷開連接的區域中的用戶端,可以使用 SSH Push 作為替代方案。這是一項設計變更,而非簡單的引導程式調整,因此僅在網路模型確實需要時才使用。

複製的引導腳本在升級前可以正常運行,但現在卻不行了。

重新產生引導腳本。 SUSE 建議在遷移後以及部署 SLE 15 系統時重新建立開機腳本,因為這些系統可能會繼承舊的 Python 依賴項。

該方法的局限性

此過程不會使 SUSE Manager 內容神奇地出現在物理隔離環境中。如果管理員無法存取 SUSE Customer Center,您仍需要受支援的離線內容工作流程,例如 RMT/SMT 輔助鏡像或其他已記錄的同步方案。此外,引導腳本也不會在註冊後取代用戶端與其內部管理器或代理程式之間的網路存取。

最後,不同版本的 SUSE Manager 和 SLES 服務包之間的命令和服務名稱可能會有所不同。本文以目前的 SUSE 5.x 引導流程為參考,但您應該根據您環境中安裝的確切版本的文件來執行相應的步驟。

官方參考資料

留下評論

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

如何在不破壞依賴關係的情況下將 Debian 12 遷移到 Testing 版本

將 Debian 12 Bookworm 系統移轉到 Debian Testing,減少依賴項的意外情況。了解支援的 Bookworm 到 Trixie 遷移路徑、APT 檢查、模擬和復原保障措施。

如何將 SLES 15 機器註冊到 SUSE Manager Offline

如何將 SLES 15 機器註冊到 SUSE Manager Offline

使用同步通道、引導儲存庫、啟動金鑰和經過驗證的 Salt 引導工作流程,無需 Internet 存取即可將 SLES 15 註冊到 SUSE Manager。

如何修復 Ubuntu 24.04 系統睡眠後 Wi-Fi 斷開連線的問題

如何修復 Ubuntu 24.04 系統睡眠後 Wi-Fi 斷開連線的問題

解決 Ubuntu 24.04 掛起後 Wi-Fi 斷開的問題:更新、檢查無線電區塊和 NetworkManager、測試省電模式、檢查日誌並驗證修復。

透過調整 ALSA 配置修復 Ubuntu 24.04 中的聲音失真問題

透過調整 ALSA 配置修復 Ubuntu 24.04 中的聲音失真問題

透過診斷 ALSA 設備並安全地調整 WirePlumber 緩衝區、取樣率和直接 ALSA 設置,修復 Ubuntu 24.04 中的劈啪聲、嗡嗡聲和失真聲音。

如何在啟用安全啟動的 SLES 15 上安裝自訂核心模組

如何在啟用安全啟動的 SLES 15 上安裝自訂核心模組

學習如何對自訂 SLES 15 核心模組進行簽名,將其憑證註冊到 MOK,在安全啟動下載入它,驗證結果,以及處理核心更新。

SLES 15 KVM 虛擬化設定與虛擬機器自動啟動指南

SLES 15 KVM 虛擬化設定與虛擬機器自動啟動指南

在 SLES 15 上設定 KVM,配置 libvirt 網路和存儲,建立虛擬機,啟用自動啟動,並在主機重新啟動後驗證可靠啟動。

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

Configure a WireGuard point-to-site VPN on Debian 12 with wg-quick, IPv4 forwarding, nftables NAT, client profiles, systemd startup, and verification.

如何加固 SLES 15 以符合 STIG 標準:安全的 OpenSCAP 工作流程

如何加固 SLES 15 以符合 STIG 標準:安全的 OpenSCAP 工作流程

在生產推廣之前,根據目前的 DISA STIG 對 SLES 15 進行審核,審查 OpenSCAP 的調查結果,測試補救措施,並記錄例外情況。

如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 記憶體限制

如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 記憶體限制

了解如何在 SUSE Linux Enterprise Server 上設定 SAP HANA 全域和語句記憶體限制,將 HANA 限制與 SUSE MemoryLow 進行比較,並安全地驗證每個變更。

如何安全地設定 Gooroom OS 瀏覽器隔離設定

如何安全地設定 Gooroom OS 瀏覽器隔離設定

了解 Gooroom OS 瀏覽器隔離的工作原理,準備受信任且被封鎖的 URL 策略,協調 GPMS 配置,並驗證您的建置中的設定。