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

從主機存取 E 系列目標的 NVMe Volume - Linux(NVMe over RoCE)

貢獻者 netapp-driley netapp-jolieg

您可以根據所使用的作業系統(以及擴充多重路徑方法)、設定導向至裝置目標的I/O。

對於 RHEL 9、RHEL 10、SLES 15 和 SLES 16,原生 NVMe 多路徑解決方案管理主機顯示的單一 NVMe 裝置底層的實體路徑。因此,我們將 I/O 直接導向到主機的 NVMe 裝置,而不是像基於 SCSI 的 Device Mapper Multipath(DMMP)這樣的多路徑裝置。NVMe 裝置的位置詳見下文。

NVMe 裝置是 I/O 目標

  1. 輸入以下命令,以找出從 E-Series 陣列對應到此主機的磁碟區。

    以下命令提供主機上的低階 NVMe 裝置位置、該裝置對應的陣列名稱、磁碟區名稱、NSID、唯一磁碟區 ID、目前擁有的控制器以及磁碟區大小。

    # nvme netapp smdevices
    /dev/nvme0n1, Array Name creG63-FN, Volume Name 1, NSID 1, Volume ID 00001b7f606ec75100a0980000ed289e, Controller B, 1.10TB
    /dev/nvme0n2, Array Name creG63-FN, Volume Name 2, NSID 2, Volume ID 0000128a6a0d045500a0980000ed27f4, Controller A, 536.87GB
    /dev/nvme0n3, Array Name creG63-FN, Volume Name 3, NSID 3, Volume ID 00001b81606ec75b00a0980000ed289e, Controller B, 536.87GB
    /dev/nvme0n4, Array Name creG63-FN, Volume Name 4, NSID 4, Volume ID 0000128c6a0d045700a0980000ed27f4, Controller A, 214.75GB
  2. /dev/disk/by-id/nvme-eui.[Volume ID#] 中的鏈路執行 I/O。

    中的連結 /dev/disk/by-id/nvme-eui.[Volume ID#]`是確定性的,不會改變。請避免使用底層 NVMe 裝置位置 `(/dev/nvme[subsys#]n[id#]),因為它可能會改變。可以使用以下命令找到這兩個位置之間的連結:

    # ls /dev/disk/by-id/ -l
    
    lrwxrwxrwx 1 root root 13 May 19 15:07 nvme-eui.0000128a6a0d045500a0980000ed27f4 -> ../../nvme0n2
    lrwxrwxrwx 1 root root 13 May 19 15:07 nvme-eui.0000128c6a0d045700a0980000ed27f4 -> ../../nvme0n4
    lrwxrwxrwx 1 root root 13 May 19 15:07 nvme-eui.00001b7f606ec75100a0980000ed289e -> ../../nvme0n1
    lrwxrwxrwx 1 root root 13 May 19 15:07 nvme-eui.00001b81606ec75b00a0980000ed289e -> ../../nvme0n3
  3. 若要查看 NVMe 裝置的路徑,請使用 nvme list-subsys 指令。

    I/O 執行至 /dev/disk/by-id/nvme-eui.[uuid#]`將直接通過 `/dev/nvme[subsys#]n[id#]`,其下所有路徑均使用 Native NVMe 多路徑解決方案進行虛擬化。

    # nvme list-subsys /dev/nvme0n1
    nvme-subsys0 - NQN=nqn.1992-08.com.netapp:EF80.600a098000ed28cb0000000062b24855
                   hostnqn=nqn.2014-08.org.nvmexpress:uuid:5257c202-9d94-ea11-b761-00000000003c
    \
     +- nvme0 tcp traddr=10.10.10.101,trsvcid=4420,src_addr=10.10.10.100 live non-optimized
     +- nvme1 tcp traddr=10.10.10.11,trsvcid=4420,src_addr=10.10.10.100 live non-optimized
     +- nvme2 tcp traddr=10.10.20.201,trsvcid=4420,src_addr=10.10.20.200 live optimized
     +- nvme3 tcp traddr=10.10.20.21,trsvcid=4420,src_addr=10.10.20.200 live optimized
     +- nvme4 tcp traddr=10.10.20.39,trsvcid=4420,src_addr=10.10.20.200 live non-optimized
     +- nvme5 tcp traddr=10.10.20.31,trsvcid=4420,src_addr=10.10.20.200 live non-optimized
     +- nvme6 tcp traddr=10.10.10.49,trsvcid=4420,src_addr=10.10.10.100 live optimized
     +- nvme7 tcp traddr=10.10.10.41,trsvcid=4420,src_addr=10.10.10.100 live optimized
  4. 選用 - 若要透過舊版 Device Mapper Multipath (DMMP) 命令檢視原生容錯移轉的路徑資訊,請使用 multipath -ll 命令。

    #multipath -ll
    註 若要透過舊版 DMMP 指令查看路徑資訊,必須在 /etc/multipath.conf 檔案中設定以下內容:
    defaults {
        enable_foreign nvme
    }

    範例輸出

    eui.0000a0335c05d57a00a0980000a5229d [nvme]:nvme0n9 NVMe,Netapp E-
    Series,08520001
    size=4194304 features='n/a' hwhandler='ANA' wp=rw
    |-+- policy='n/a' prio=50 status=optimized
    | `- 0:0:1 nvme0c0n1 0:0 n/a optimized    live
    `-+- policy='n/a' prio-10 status=non-optimized
    `- 0:1:1 nvme0c1n1 0:0 n/a non-optimized    live
    註 此指令僅適用於 RHEL 9 或更早版本以及 SLES 16 或更早版本。
接下來呢?

在 I/O 執行至 NVMe 裝置時,"建立檔案系統"