如何在 SLES 15 上設定 DM-Multipath:實用指南

首先選擇合適的多路徑協定棧。

在 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 或網路傳輸以及 SLES 版本是否相容。如果陣列供應商提供的 Linux 多路徑設定與通用預設值不同,請遵循供應商的設定說明。
  • 請儲存管理員透過預期的交換矩陣將 LUN 呈現給主機,並確認分區和 LUN 遮罩。
  • 記錄目前的啟動和儲存佈局。確定根檔案系統、交換分割區或 LVM 實體磁碟區是否位於 SAN 儲存上。
  • 請勿掛載、格式化、新增至 LVM 或寫入每個單獨的路徑設備。同一個 LUN 只能透過其多路徑映射使用;同時使用原始路徑可能會導致資料損壞。
  • 在變更 SAN 啟動配置之前,請先安排好控制台或帶外存取。運行系統與 initramfs 不匹配可能會導致主機進入緊急模式。

1. 確認 Linux 系統能夠辨識儲存路徑

首先確認 HBA 或 iSCSI 傳輸已登錄,且 SLES 已識別到預期的區塊裝置。對於 SCSI 存儲,請檢查設備及其識別碼:

sudo lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL

此清單確認預期大小的 LUN 區塊設備是否可見。在此階段,請勿假定不同的裝置名稱代表不同的儲存磁碟區:後續步驟將檢查它們的 WWID 和群組符合路徑。

如果預期路徑不存在,請先停止操作並解決發現問題。檢查 HBA 可見性、iSCSI 會話或光纖通道登入、SAN 分區、LUN 遮罩以及儲存供應商的重新掃描流程。多路徑無法建立傳輸層未公開的路徑。

2. 安裝並啟動多路徑服務

如果尚未安裝 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 代表不同的設備,不得合併到同一張映射表中。

對於許多陣列來說,內建的硬體預設設定就足夠了。不要僅僅為了啟用多路徑功能而建立大型設定檔。

3. 僅添加必要的配置覆蓋

僅當您有明確需求時才使用/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'。此範本包含許多指令;請仔細查看並僅保留您需要管理的設定。

4. 測試並套用配置

在更改即時地圖之前,請讓 Multipath 顯示使用建議的設定將建立的拓撲結構:

sudo multipath -d -v2

請在繼續操作前檢查 WWID 和路徑分組。此試運行顯示了建議的映射,但並未顯示所有可能被移除或清除的映射。如果守護程式已在運行,請透過守護程序套用配置,而不是使用獨立的 multipath 命令來套用新設定:

sudo multipathd reconfigure

sudo multipath -ll然後使用或檢查即時結果sudo multipathd show topology。 SUSE 指南指出,這些視圖通常顯示相同的拓撲結構;一個讀取核心狀態,另一個讀取守護程式狀態。

5. 保持 initramfs 同步

變更/etc/multipath.conf影響裝置識別的 WWID 或綁定檔案、相關配置或 udev 規則後,請重新建置 initramfs:

sudo dracut -f

SUSE 要求啟動的系統和 initramfs 在多路徑方面保持一致。當根檔案系統位於 SAN 多路徑設備上時,這一點尤其重要。在重新啟動透過 SAN 啟動的主機之前,請先驗證目標對映是否可見,以及設定是否包含必要的儲存支援。如果從救援環境重建 initramfs,或在停用多路徑的情況下啟動後重建,請遵循 SUSE 的明確dracut --add multipath步驟,--omit multipath而不是假設自動偵測會與正常啟動相符。

6. 使用前請先核對地圖。

健康的路徑映射應顯示預期的 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在相關的多路徑或裝置標識變更後運行

地圖缺失或損壞時的故障排除

  • 沒有顯示任何路徑:在編輯多路徑規則之前,請確認傳輸登入、HBA 發現、區域分割、LUN 遮罩和核心裝置發現。
  • LUN 會顯示為多個獨立的磁碟:請比較它們的 WWID。如果 WWID 不同,請確認儲存裝置是否透過每條路徑都呈現了預期的同一個 LUN。如果 WWID 符合但未顯示映射,請檢查守護程式狀態和裝置選擇策略。
  • 一條路徑故障或離線:請檢查線纜或交換矩陣、HBA 連接埠、交換器連接埠、目標控制器以及陣列事件日誌。未經儲存供應商指導,請勿調整輪詢或故障計時器。
  • 主機在啟動變更後進入緊急模式:調查不一致的多路徑選擇和裝置引用,然後對根裝置和 initramfs 使用 SUSE 復原程式。
  • 當所有路徑都失敗時,I/O 操作就會停滯:排隊的 I/O 操作會導致應用程式長時間等待。排隊策略應視為儲存和應用程式擁有者需要共同製定的運維決策;更改排隊策略可能會導致等待中的寫入作業最終轉化為報告的 I/O 錯誤。

切勿在沒有維護計劃和供應商認可的流程的情況下,透過斷開生產路徑來測試故障轉移。請透過受支援的監控和受控的測試視窗來確認恢復情況。有關陣列特定的預設設定和復原步驟,請結合硬體供應商的最新文件以及SUSE 的多路徑配置、驗證和故障排除參考。

留下評論

如何在 SLES 15 上設定 DM-Multipath:實用指南

如何在 SLES 15 上設定 DM-Multipath:實用指南

在 SLES 15 上設定 DM-Multipath,實現安全發現、服務設定、最小 multipath.conf 變更、initramfs 更新和路徑健康檢查。

SLES Btrfs Snapper 更新失敗後回滾:安全復原指南

SLES Btrfs Snapper 更新失敗後回滾:安全復原指南

使用 Btrfs 和 Snapper 在更新失敗後恢復 SLES。比較回滾選項,安全地測試快照,恢復系統,並驗證儲存庫。

如何在 Pardus 用戶端部署自訂桌布和策略

如何在 Pardus 用戶端部署自訂桌布和策略

使用 Liderahenk 和 Ahenk 來設定自訂的 Pardus GNOME 桌布,使用 dconf 鎖定選定的設置,並透過經過測試的試點專案推出其他客戶端策略。

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

Ubuntu 伺服器啟動進入緊急模式:逐步救援指南

診斷 Ubuntu 伺服器進入緊急模式的原因,安全地修復常見的 /etc/fstab 和掛載問題,檢查檔案系統,並驗證正常重新啟動。

修復 Ubuntu 24.04 中 Flatpak 應用不遵循 GTK 主題的問題

修復 Ubuntu 24.04 中 Flatpak 應用不遵循 GTK 主題的問題

排查 Ubuntu 24.04 上忽略 GTK 主題的 Flatpak 應用程式問題。檢查主題擴充、GTK 入口網站、淺色和深色設定以及應用程式工具包限制。

如何設定 Pardus 企業管理軟體(LIDER AHENK)

如何設定 Pardus 企業管理軟體(LIDER AHENK)

在 Pardus 上設定 LIDER AHENK,並採用以品質為中心的設定:驗證先決條件、部署 Lider、註冊 Ahenk 用戶端並驗證管理。

如何在 Pardus 23 工作站上啟用 NVIDIA 驅動程式

如何在 Pardus 23 工作站上啟用 NVIDIA 驅動程式

使用 Pardus NVIDIA 驅動程式安裝程式在 Pardus 23 上啟用 NVIDIA 驅動程式。檢查 GPU 相容性、安全重新啟動、驗證驅動程式並解決常見問題。

Ubuntu Server 24.04 最小化安裝版與標準安裝版:效能基準測試結果究竟如何

Ubuntu Server 24.04 最小化安裝版與標準安裝版:效能基準測試結果究竟如何

使用可重複的基準測試方法,比較 Ubuntu Server 24.04 Minimal 和 Standard 安裝的磁碟使用情況、記憶體、啟動時間、服務和實際工作負載效能。

修復 SUSE Linux Enterprise 中的「Zypper 被另一個進程鎖定」問題

修復 SUSE Linux Enterprise 中的「Zypper 被另一個進程鎖定」問題

安全地解決 SLES 中的 Zypper 鎖定錯誤。識別進程,選擇等待或停止該進程,並區分事務鎖和包鎖。

如何在 Pardus Linux 上設定遠端桌面訪問

如何在 Pardus Linux 上設定遠端桌面訪問

使用 RustDesk 在 Pardus Linux 上設定安全的遠端桌面存取。安裝 Debian 軟體包,連接以獲得一次性支持,並安全地配置無人值守存取。