跳至內容

如何使用 NVMe over TCP 在 EC2 Linux 執行個體上掛載 FSx for ONTAP 檔案系統?

3 分的閱讀內容
0

我想在 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上掛載 Amazon FSx for NetApp ONTAP 檔案系統。我想使用透過 TCP 的非揮發性記憶體快速傳輸 (NVMe) (NVMe/TCP)。

解決方法

**注意:**以下解決方案適用於執行 Red Hat Enterprise Linux (RHEL) 9.3 的 EC2 執行個體。

先決條件:

使用 NVMe/TCP 在 RHEL 執行個體上掛載檔案系統

請完成下列步驟:

  1. 若要安裝所需的套件,請在執行個體上執行以下命令:

    sudo yum install -y nvme-cli
  2. 若要載入 NVMe/TCP 核心模組,請在執行個體上執行以下命令:

    sudo modprobe nvme-tcp
  3. 擷取您建立 NVMe 裝置所屬的儲存虛擬機器 (SVM) 之區塊儲存介面的位址。在 ONTAP 伺服器上執行以下命令:

    network interface show -vserver svm_name -data-protocol nvme-tcp

    **注意:**將 svm_name 替換為您的 SVM 名稱。iSCSI 和 NVMe/TCP 都使用 iscsi_1 邏輯交換格式 (LIF)。
    輸出範例:

                Logical               Status         Network            Current                    Current Is
    Vserver     Interface             Admin/Oper     Address/Mask       Node                       Port    Home
    ----------- ----------            ----------     ------------------ -------------              ------- ----
    svm_name
                iscsi_1               up/up          iscsi_1_IP/X       FSxId0123456789abcdef8-01  e0e     true
                iscsi_2               up/up          iscsi_2_IP/X       FSxId0123456789abcdef8-02  e0e     true
    2 entries were displayed.
  4. 若要識別 NVMe 子系統,請在執行個體上執行以下命令:

    sudo nvme discover -t tcp -w client_IP -a iscsi_1_IP

    **注意:**將 iscsi_1_IP 替換為您的 iscsi_1 IP 位址,並將 client_IP 替換為用戶端 IP 位址。

  5. 若要連線到 NVMe 子系統,請在執行個體上執行以下命令:

    sudo nvme connect-all -t tcp -w client_IP -a iscsi_1_IP -l 1800

    **注意:**將 iscsi_1_IP 替換為您的 iscsi_1 IP 位址,並將 client_IP 替換為用戶端 IP 位址。

  6. 若要確認連線是否如預期運作,請在執行個體上執行以下命令:

    sudo nvme list

    在輸出中,檢查 Model (模型) 欄中是否顯示 /dev/nvmeXny

  7. (選用) 若要建立檔案系統,請在執行個體上執行下列命令:

    sudo mkfs.xfs /dev/nvmeXnY

    **注意:**若要找出 /dev/nvmeXnY,請查看 nvme list 命令的輸出。找到 Model (模型) 欄中顯示為 NetApp ONTAP Controller 值的項目。

  8. 若要建立並掛載到掛載點,請在執行個體上執行下列命令:

    sudo mkdir /mnt/fsx-nvme
    sudo mount /dev/nvmeXnY /mnt/fsx-nvme

    **注意:**將 /mtn/fsx-nvme 替換為您的目錄路徑。

  9. (選用) 若要設定啟動期間的自動掛載,請將下列行新增至 /etc/fstab 檔案:

    /dev/nvmeXnY /mnt/fsx-nvme xfs _netdev,x-systemd.automount,x-systemd.requires=network-online.target 0 0

    **注意:**將 nvmeXnY 替換為您的 NVMe 名稱,並將 /mnt/fsx-nvme 替換為您的檔案路徑。
    然後,使用 /etc/systemd/system/ 檔案路徑建立用於 NVMe 連線的 systemd 服務。
    檔案範例:

    [Unit]
    Description=NVMe connection to FSx
    After=network.target
    
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/sbin/nvme connect -t tcp -n "nqn.1992-08.com.netapp:sn.abcde" -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420
    ExecStop=/usr/sbin/nvme disconnect -n "nqn.1992-08.com.netapp:sn.abcde"
    
    
    [Install]
    WantedBy=multi-user.target
  10. 若要啟動該服務,請執行以下命令:

sudo systemctl enable nvme-fsx.service

對 NVMe/TCP 掛載問題進行疑難排解

**重要:**最佳實務是在 NetApp 上建立帳戶。您必須擁有 NetApp 帳戶才能存取 NetApp 疑難排解文件。

如果您在掛載檔案系統時遇到問題,請採取以下疑難排解措施:

  • 若要檢查所需連接埠上的連線,請執行以下命令:

    telnet fs-ABCDE.fsx.region.amazonaws.com 4420

    **注意:**將 fs-ABCDE 替換為您的檔案系統名稱,並將 region 替換為您的 AWS 區域。

  • 若要檢查 NVMe 發現是否如預期運作,請執行以下命令:

    sudo nvme discover -t tcp -w port -a fs-ABCDE.fsx.region.amazonaws.com -s 4420

    **注意:**將 port 替換為您的連接埠,將 fs-ABCDE 替換為您的檔案系統名稱,並將 region 替換為您的區域。

  • 若要檢查 NVMe 連線中的問題,請執行以下命令:

    sudo nvme list
  • 若要檢查日誌中是否有錯誤,請執行下列命令:

    dmesg | grep nvme or journalctl -u nvme-fsx

設定 FSx for ONTAP 伺服器

若要確認 NVMe 服務是否正在執行,請執行以下命令:

vserver nvme show
vserver nvme subsystem show

若要確認您是否已正確設定命名空間,請執行以下命令:

vserver nvme namespace show

若要確認是否已將主機 NVMe 限定名稱 (NQN) 新增至 NVMe 子系統,請執行下列命令:

vserver nvme subsystem host show

若要確認命名空間和子系統之間的對應是否正確,請執行下列命令:

vserver nvme subsystem map show

相關資訊

如何使用 NFS 在 EC2 Linux 執行個體上掛載 FSX for ONTAP 磁碟區?

如何在未加入 Active Directory 的 Linux EC2 執行個體上掛載 FSx for ONTAP CIFS 共用?

如何使用 iSCSI 在 EC2 Linux 執行個體上掛載 FSx for ONTAP iSCSI LUN?

AWS 官方已更新 4 個月前