如何在 SLES 15 上設定 DM-Multipath:實用指南
在 SLES 15 上設定 DM-Multipath,實現安全發現、服務設定、最小 multipath.conf 變更、initramfs 更新和路徑健康檢查。
在 SUSE Linux Enterprise Server 15 中,設備映射器多路徑 (DM-Multipath) 是 SCSI 和 DASD 儲存空間透過多條路徑呈現時的標準選擇。它將匹配的路徑合併到一個邏輯塊設備中,監控路徑健康狀況,並可在路徑組之間進行故障轉移。它能保護與儲存磁碟區的連接,但無法防止磁碟區故障、控制器資料遺失或檔案系統損壞。
NVMe 使用不同的預設設定:SLES 15 在核心中啟用了原生 NVMe 多路徑。對於基於 Fabric 的 NVMe,在執行 DM-Multipath 流程之前,請確認原生 NVMe 多路徑是您的子系統預期使用的協定堆疊。 SUSE 建議使用原生 NVMe 多路徑,並表示不建議對 NVMe 使用 DM-Multipath。請參閱SUSE 的 SLES 15 SP7 多路徑指南和基於 Fabric 的 NVMe 指南。
首先確認 HBA 或 iSCSI 傳輸已登錄,且 SLES 已識別到預期的區塊裝置。對於 SCSI 存儲,請檢查設備及其識別碼:
sudo lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL
此清單確認預期大小的 LUN 區塊設備是否可見。在此階段,請勿假定不同的裝置名稱代表不同的儲存磁碟區:後續步驟將檢查它們的 WWID 和群組符合路徑。
如果預期路徑不存在,請先停止操作並解決發現問題。檢查 HBA 可見性、iSCSI 會話或光纖通道登入、SAN 分區、LUN 遮罩以及儲存供應商的重新掃描流程。多路徑無法建立傳輸層未公開的路徑。
如果尚未安裝 SUSE 軟體包,請先安裝,然後啟用守護進程,以便在啟動時組裝映射:
sudo zypper install multipath-tools
sudo systemctl enable --now multipathd
sudo systemctl status multipathd
該multipath-tools軟體包提供多路徑命令列工具和multipathd服務。 SUSE 建議在具有多路徑硬體的系統上保持該服務啟用並運行;僅依賴 systemd 套接字啟動可能會導致啟動期間映射未設定。守護程式啟動後,請比較 WWID 和路徑標識:
sudo multipathd show paths format "%i %d %w %s"
sudo multipath -ll
指向同一 LUN 的路徑必須報告相同的 WWID。不同的 WWID 代表不同的設備,不得合併到同一張映射表中。
對於許多陣列來說,內建的硬體預設設定就足夠了。不要僅僅為了啟用多路徑功能而建立大型設定檔。
僅當您有明確需求時才使用/etc/multipath.conf,例如需要穩定易記的別名或廠商指定的設定。多路徑工具透過 WWID 識別路徑;映射別名是一個單獨的、可設定的名稱。每個設備的別名可以這樣配置:
multipaths {
multipath {
wwid 3600EXAMPLE_REPLACE_WITH_THE_REAL_WWID
alias appdata01
}
}
請將範例 WWID 替換為 LUN 報表的確切識別碼。請勿複製佔位符或自行建立廠商/產品規則。 SUSE 建議保持配置簡潔,儲存廠商應提供任何特定於陣列的調優方案。內建設備屬性的優先權高於該defaults部分中的通用值,因此通用預設值可能不會改變特定陣列的行為。
如果您需要完整的參考模板,SUSE 文件中提供了multipath -T生成器的相關說明。例如,root shell 可以使用 `sudo save` 指令來儲存模板sudo sh -c 'multipath -T > /etc/multipath.conf'。此範本包含許多指令;請仔細查看並僅保留您需要管理的設定。
在更改即時地圖之前,請讓 Multipath 顯示使用建議的設定將建立的拓撲結構:
sudo multipath -d -v2
請在繼續操作前檢查 WWID 和路徑分組。此試運行顯示了建議的映射,但並未顯示所有可能被移除或清除的映射。如果守護程式已在運行,請透過守護程序套用配置,而不是使用獨立的 multipath 命令來套用新設定:
sudo multipathd reconfigure
sudo multipath -ll然後使用或檢查即時結果sudo multipathd show topology。 SUSE 指南指出,這些視圖通常顯示相同的拓撲結構;一個讀取核心狀態,另一個讀取守護程式狀態。
變更/etc/multipath.conf影響裝置識別的 WWID 或綁定檔案、相關配置或 udev 規則後,請重新建置 initramfs:
sudo dracut -f
SUSE 要求啟動的系統和 initramfs 在多路徑方面保持一致。當根檔案系統位於 SAN 多路徑設備上時,這一點尤其重要。在重新啟動透過 SAN 啟動的主機之前,請先驗證目標對映是否可見,以及設定是否包含必要的儲存支援。如果從救援環境重建 initramfs,或在停用多路徑的情況下啟動後重建,請遵循 SUSE 的明確dracut --add multipath步驟,--omit multipath而不是假設自動偵測會與正常啟動相符。
健康的路徑映射應顯示預期的 WWID、廠商/產品識別、路徑組和各個路徑。在路徑狀態列中,「核心路徑狀態」active表示核心路徑狀態,ready「健康」表示多路徑狀態,running「SCSI 設備狀態」表示 SCSI 設備狀態。具有主動/被動控制器的陣列也可能將被動路徑顯示為「正常」ghost;應使用陣列的路徑策略來解釋該狀態,而不是將其自動視為故障。
在後續的儲存配置中,請使用多路徑對應或持久的按 ID 引用。不要將檔案系統、LVM 或應用程式資料放在單一/dev/sdX路徑上。穩定的引用可以基於映射下的 WWID/dev/mapper或相應的連結。除非您特意配置,否則/dev/disk/by-id/dm-uuid-mpath-WWID請避免假設別名(例如 `<alias_name>`)會一直保持分配狀態。mpatha
| 目標 | 命令或文件 | 需要確認什麼 |
|---|---|---|
| 列出多路徑映射和路徑 | sudo multipath -ll | 預期的 WWID 和所有預期路徑 |
| 檢查路徑標識符 | sudo multipathd show paths format "%i %d %w %s" | 通往同一 LUN 的路徑共用同一個 WWID |
| 檢查守護程式狀態 | sudo systemctl status multipathd | 服務已啟用並啟用 |
| 預覽擬定地圖 | sudo multipath -d -v2 | 在套用變更之前,正確的裝置會被分組。 |
| 重新載入守護程式配置 | sudo multipathd reconfigure | 即時拓撲反映了預期的配置 |
| 同步啟動配置 | sudo dracut -f | 在相關的多路徑或裝置標識變更後運行 |
切勿在沒有維護計劃和供應商認可的流程的情況下,透過斷開生產路徑來測試故障轉移。請透過受支援的監控和受控的測試視窗來確認恢復情況。有關陣列特定的預設設定和復原步驟,請結合硬體供應商的最新文件以及SUSE 的多路徑配置、驗證和故障排除參考。
在 SLES 15 上設定 DM-Multipath,實現安全發現、服務設定、最小 multipath.conf 變更、initramfs 更新和路徑健康檢查。
使用 Btrfs 和 Snapper 在更新失敗後恢復 SLES。比較回滾選項,安全地測試快照,恢復系統,並驗證儲存庫。
使用 Liderahenk 和 Ahenk 來設定自訂的 Pardus GNOME 桌布,使用 dconf 鎖定選定的設置,並透過經過測試的試點專案推出其他客戶端策略。
診斷 Ubuntu 伺服器進入緊急模式的原因,安全地修復常見的 /etc/fstab 和掛載問題,檢查檔案系統,並驗證正常重新啟動。
排查 Ubuntu 24.04 上忽略 GTK 主題的 Flatpak 應用程式問題。檢查主題擴充、GTK 入口網站、淺色和深色設定以及應用程式工具包限制。
在 Pardus 上設定 LIDER AHENK,並採用以品質為中心的設定:驗證先決條件、部署 Lider、註冊 Ahenk 用戶端並驗證管理。
使用 Pardus NVIDIA 驅動程式安裝程式在 Pardus 23 上啟用 NVIDIA 驅動程式。檢查 GPU 相容性、安全重新啟動、驗證驅動程式並解決常見問題。
使用可重複的基準測試方法,比較 Ubuntu Server 24.04 Minimal 和 Standard 安裝的磁碟使用情況、記憶體、啟動時間、服務和實際工作負載效能。
安全地解決 SLES 中的 Zypper 鎖定錯誤。識別進程,選擇等待或停止該進程,並區分事務鎖和包鎖。
使用 RustDesk 在 Pardus Linux 上設定安全的遠端桌面存取。安裝 Debian 軟體包,連接以獲得一次性支持,並安全地配置無人值守存取。