當 SLES Btrfs 檔案系統變成唯讀時:重新掛載前請先診斷
確定 Btrfs 是否故意設定為唯讀、空間不足或在發生錯誤後保護數據,然後選擇適合該原因的恢復路徑。
如果 SLES 15 用戶端仍可透過私有網路存取您的 SUSE Manager 伺服器或代理,則無需為其提供直接網際網路存取權限即可註冊該用戶端。在 Manager 上準備好匹配的軟體和引導儲存庫,建立啟動金鑰,然後在 SLES 電腦上執行其引導腳本。無法透過網路存取 Manager 的用戶端無法完成 Salt 註冊或簽入;僅透過 USB 複製腳本無法解決問題。
假設範例:管理員正在工廠網路中部署一台新的 SLES 15 SP7 x86_64 虛擬機,該網路沒有網路路由。 SUSE Multi-Linux Manager 5.1(本指南中 SUSE Manager 的目前名稱)也已中斷網路連線。其軟體通道已通過可移動介質鏡像到該環境中。虛擬機器可以透過 HTTPS 和 Salt 連接埠存取內部 Manager。此場景僅為範例,並非實際部署或測試的報告。

「離線」可能意味著客戶端和管理器都無法直接存取互聯網,也可能意味著客戶端無法連接到任何伺服器。第一種情況支持註冊;第二種情況則不支援。用戶端需要一條通往管理器的內部路由或 SUSE Multi-Linux 管理器代理,而管理器需要客戶端本地可用的軟體包和元資料。
如果 Manager 與 SUSE 客戶中心斷開連接,SUSE 文件中說明的設定會使用 RMT 或 SMT 以及可移動儲存來鏡像儲存庫。對於 SLES 15,請同步產品和用戶端架構所需的 Manager 用戶端工具通道。然後,確保 Manager 上存在匹配的引導儲存庫。在 Web UI 中,產品選擇位於「產品選擇」下Admin > Setup Wizard > Products。產品同步必須在引導之前完成;如果缺少引導儲存庫,Manager 文件提供mgr-create-bootstrap-repo了手動建立選項。
對於假設的虛擬機,請在選擇通道之前檢查其 SLES 服務包和架構。例如,SLES 15 SP7 x86_64 機器需要相應的產品,而不是名稱相似的通道,即使它適用於其他服務包或架構。支援的產品清單和通道名稱可能會因 SUSE Multi-Linux Manager 版本而異,因此請使用實際安裝的 Manager 版本對應的指南。
啟動金鑰會在引導腳本執行時套用通道分配和其他註冊設定。在管理器 Web UI 中,開啟Systems > Activation Keys並建立一個金鑰,例如 `<key> sles15-sp7-offline`。選擇 SLES 15 SP7 x86_64 基本通道以及訂閱和用戶端工具設定所需的子通道。如果可以指定特定的 SLES 通道,請避免使用預設的父通道。

在繼續操作之前,請確認密鑰屬於正確的組織,並且所需的管道在本地可用。金鑰還可以關聯群組、配置、軟體包或聯絡資訊;請檢查所有額外設置,以確保註冊不會觸發意外的軟體包下載或配置變更。
在 SUSE Multi-Linux Manager 容器主機上,進入伺服器容器並建立一個與啟動金鑰關聯的腳本:
mgrctl term
mgr-bootstrap --activation-keys=sles15-sp7-offline --script=bootstrap-sles15-offline.sh
引導腳本儲存在管理器/srv/www/htdocs/pub/bootstrap/目錄中。請確保腳本中啟用 SSL。在範例網路中,SLES 虛擬機器可以透過內部 HTTPS 取得腳本。如果您必須將腳本傳輸到經批准的可移動媒體上的隔離網段,請使用貴組織受控的傳輸流程從該目錄複製腳本。在運行腳本前,請比較雙方計算的 SHA-256 校驗和,並將腳本作為配置資料進行保護,因為它包含啟動金鑰。

不要僅傳輸引導腳本並假設客戶端是獨立的。該腳本會從管理器的引導儲存庫安裝註冊相依性。這些 RPM 套件和軟體通道必須已在已中斷連線的管理器上同步。
在 SLES 機器上,確認其時脈與管理器的時脈接近,並且內部 DNS 可以解析管理器的名稱:
timedatectl
getent hosts manager.example.net
請將此處替換manager.example.net為腳本中嵌入的管理器或代理程式的 FQDN。 SUSE Multi-Linux Manager 5.1 用戶端需求包括:用戶端可透過 HTTPS 連接埠 443 和 TCP 連接埠 4505 和 4506(用於 Salt)存取管理器或代理程式。部署過程中也可能使用連接埠 80。使用 SSH 推送連線方式時,需要使用 SSH 連接埠 22。請參考最新的網路需求指南進行部署和防火牆設計;切勿將這些連接埠暴露在公共網際網路上。
腳本已安裝在客戶端且內部儲存庫可存取後,使用 Bash 以 root 使用者身分執行該腳本:
bash ./bootstrap-sles15-offline.sh

註冊過程可能需要一些時間,因為客戶端需要安裝 Salt 元件並下載儲存庫配置。即使註冊過程看似平靜,也不要中斷它。如果註冊失敗,請保留完整的輸出訊息,並在重試之前檢查用戶端的引導日誌和 Salt 日誌、管理員的引導儲存庫、DNS、憑證信任以及防火牆路徑。
在管理器 Web UI 中,檢查Systems > Overview是否有新客戶端。如果不存在,請開啟Salt > Keys並尋找客戶端的待處理金鑰。在接受金鑰之前,請確認其 minion ID 和機器識別碼與 SLES 虛擬機器相符。註冊成功後,系統應顯示在清單中,其 Salt 密鑰應已被接受,並且最近的簽入記錄應可見。
如果虛擬機器沒有連接到管理員的路徑,請在腳本和軟體包部署完成後停止操作:必須提供受控網路路徑才能完成註冊。如果虛擬機器之前已直接註冊到 SCC、SMT 或 RMT,請按照 SUSE 的用戶端遷移說明清理舊的註冊資訊和儲存庫,然後再切換管理方式;切勿保留衝突的儲存庫配置。
此步驟遵循 SUSE Multi-Linux Manager 5.1 文件中關於斷開連線設定、SUSE Linux Enterprise 用戶端、啟動金鑰和使用開機腳本註冊用戶端的部分。請檢查網路需求,以了解連接埠方向和特定版本的詳細資訊。此處以 SLES 15 SP7 為例;對於其他服務包、架構或 Manager 版本,請選擇不同的通道和腳本。
確定 Btrfs 是否故意設定為唯讀、空間不足或在發生錯誤後保護數據,然後選擇適合該原因的恢復路徑。
準備鏡像通道,建立啟動金鑰,並在沒有直接網路存取的情況下引導 SLES 15 用戶端,同時保持管理員簽到所需的連線。
修復 YaST 透過 SSH 啟動 XIO 時出現的錯誤,驗證 X11 轉送和 xauth,並在不需要遠端視窗時切換到 ncurses 介面。
找到更新前的 Btrfs 快照,以唯讀方式測試它,並使用 Snapper 實現永久恢復,同時了解哪些資料保留在根回滾之外。
Send SLES system logs to a remote rsyslog collector over authenticated TLS, with certificate checks, outage buffering, and delivery tests.
使用 RAM、交換空間、核心和 Zypper 日誌來識別真實的記憶體壓力,保護軟體包狀態,並選擇更安全的 SLES 升級重試。
啟用 Debian 透過 SSH 進行的無人值守安全性更新,保留預設軟體套件來源,並透過 systemd 和 APT 日誌驗證計畫運作。
比較郵件投遞選項,在 Ubuntu 上配置 smartd,並驗證磁碟健康警告是否到達您的收件匣。
透過檢查 systemd-resolved、在需要時修復 resolv.conf 以及驗證上游 DNS 和應用程式解析,恢復 Debian 12 上的 DNS 查找。
讓 Ubuntu 偵測到你的顯示器或電視作為音訊輸出設備,在聲音設定中選擇它,如果缺少 HDMI,請檢查連接或 PipeWire 設備清單。