Skip to main content
E-Series storage systems
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

在 Linux 主機上為 E 系列中的 NVMe over FC 設定故障轉移

貢獻者 netapp-driley netapp-jsnyder netapp-jolieg NetAppZacharyWambold Jack-Patters

若要提供儲存陣列的備援路徑、您可以設定主機執行容錯移轉。

開始之前

您必須在系統上安裝所需的套件。

  • 對於Red Hat(RHEL)主機、請執行「rpm -q device-mapper-multipath'來驗證套件是否已安裝

  • 對於SLES主機、請執行「rpm -q多重路徑工具」來驗證套件是否已安裝

    SLES 12 use Device Mapper Multipath (DMMP) for multipathing when using NVMe over Fibre Channel. RHEL 8, RHEL 9, RHEL 10, SLES 15 and SLES 16 use a built-in Native NVMe Failover. Depending on which OS you are running, some additional configuration of multipath is required to get it running properly.

為 SLES 12 啟用裝置映射器多路徑 (DMMP)

預設情況下,SLES 中會停用 DM-MP。完成以下步驟以在主機上啟用 DM-MP 元件。

步驟
  1. 將NVMe E系列裝置項目新增至/etc/multipath.conf檔案的「裝置」區段、如下列範例所示:

    devices {
            device {
                    vendor "NVME"
                    product "NetApp E-Series*"
                    path_grouping_policy group_by_prio
                    failback immediate
                    no_path_retry 30
            }
    }
  2. 將「multiPathd」設定為在系統開機時啟動。

    # systemctl enable multipathd
  3. 如果當前未運行"multiPathd",請將其啓動。

    # systemctl start multipathd
  4. 驗證「multiPathd」的狀態、以確保它處於作用中狀態且正在執行:

    # systemctl status multipathd

為RHEL 8設定原生NVMe多路徑

關於這項工作

原生NVMe多重路徑在RHEL 8中預設為停用、必須使用下列步驟啟用。

步驟
  1. 設定「modProbe」規則以開啟原生NVMe多路徑。

    # echo "options nvme_core multipath=y" >> /etc/modprobe.d/50-nvme_core.conf
  2. 使用新的modProbe參數重新建立"initramfs"。

    # dracut -f
  3. 重新開機伺服器以啟用原生NVMe多路徑來啟動伺服器

    # reboot
  4. 驗證在主機開機備份後、原生NVMe多路徑功能已啟用。

    # cat /sys/module/nvme_core/parameters/multipath
    1. 如果命令輸出為「N」、則原生NVMe多路徑仍會停用。

    2. 如果命令輸出為「Y」、則會啟用原生NVMe多路徑、您發現的任何NVMe裝置都會使用它。

註 對於 RHEL 9 和 SLES 15,預設已啟用原生 NVMe 多重路徑,無需額外組態。

設定 NVMe I/O 原則

關於這項工作

Linux NVMe 原生多重路徑預設可能採用 numa I/O 原則。對於 E 系列 / EF 系列 NVMe-over-Fabrics 組態,建議的 I/O 原則為 round-robin,這會將 I/O 平均分配到所有可用路徑上。

步驟
  1. 驗證目前的 NVMe I/O 原則:

    # cat /sys/module/nvme_core/parameters/iopolicy
    numa
  2. 使用下列其中一種方法來設定 round-robin I/O 原則:

    • 持久化(建議) — 建立 udev 規則檔案:

      <code>/etc/udev/rules.d/71-nvme-io-policy.rules</code>
      ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"

      然後重新載入並套用規則:

    udevadm control --reload
    udevadm trigger --subsystem-match=nvme-subsystem
    • 開機時全域設定 — 將下列內核參數新增至您的開機載入程式組態:

      nvme_core.iopolicy=round-robin
    • 非持續性(線上,無 I/O 中斷) — 無需重新開機即可立即套用:

      echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
      註 此設定在重新開機後不會保留。