設定 EFA 用戶端 - FSx for Lustre

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 EFA 用戶端

使用下列程序來設定 Lustre 用戶端,以透過 Elastic Fabric Adapter (EFA) 存取 FSx for Lustre 檔案系統。

執行下列作業系統的 Lustre 用戶端支援 EFA:

  • Amazon Linux 2023 (AL2023)

  • Red Hat Enterprise Linux (RHEL) 9.5 或更新版本

  • 核心版本 6.8+ 的 Ubuntu 22.04 或更新版本

下列 Lustre 用戶端支援 EFA。如需詳細資訊,請參閱安裝Lustre用戶端

支援 EFA 的 Nitro v4 (或更新版本) EC2 執行個體支援 EFA,trn2 執行個體系列除外。請參閱《Amazon EC2 使用者指南》中的支援的執行個體類型

步驟 1:安裝必要的驅動程式

注意

如果您使用的是深度學習 AMI,則可以略過此步驟,因為已預先安裝 EFA 驅動程式和 NVIDIA GPUDirect 儲存 (GDS) 驅動程式。

安裝 EFA 驅動程式

請遵循《Amazon EC2 使用者指南》中的步驟 3:安裝 EFA 軟體中的指示。

安裝 GMS 驅動程式 (選用)

只有在您計劃將 NVIDIA GPUDirect Storage (GDS) 與 FSx for Lustre 搭配使用時,才需要此步驟。

使用要求:

  • Amazon EC2 P5, P5e, P5en 或 P6-B200 執行個體

  • NVIDIA GMS 驅動程式 2.24.2 版或更新版本

在用戶端執行個體上安裝 NVIDIA GPUDirect Storage 驅動程式
  1. 複製 NVIDIA GMS 儲存庫:

    git clone https://github.com/NVIDIA/gds-nvidia-fs.git
  2. 建置並安裝驅動程式:

    cd gds-nvidia-fs/src/ export NVFS_MAX_PEER_DEVS=128 export NVFS_MAX_PCI_DEPTH=16 sudo -E make sudo insmod nvidia-fs.ko

步驟 2:設定 Lustre 用戶端的 EFA

若要使用 EFA 介面存取 FSx for Lustre 檔案系統,您必須安裝 Lustre EFA 模組並設定 EFA 介面。

快速設定

快速設定 Lustre 用戶端
  1. 連線到您的 Amazon EC2 執行個體。

  2. 下載並解壓縮包含組態指令碼的檔案:

    curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/configure-efa-fsx-lustre-client.zip unzip configure-efa-fsx-lustre-client.zip
  3. 變更為 configure-efa-fsx-lustre-client 資料夾並執行安裝指令碼:

    cd configure-efa-fsx-lustre-client sudo ./setup.sh

    指令碼會自動執行下列動作:

    • 匯入 Lustre 模組

    • 設定 TCP 和 EFA 介面

    • 建立系統化服務,以在重新啟動時自動設定

    如需可與setup.sh指令碼搭配使用的選項和使用範例清單,請參閱 zip README.md 檔案中的 檔案。

手動管理系統化服務

系統化服務檔案建立於 /etc/systemd/system/configure-efa-fsx-lustre-client.service。以下是一些實用的 systemd 相關命令:

# Check status sudo systemctl status configure-efa-fsx-lustre-client.service # View logs sudo journalctl -u configure-efa-fsx-lustre-client.service # View warnings/errors from dmesg sudo dmesg

如需詳細資訊,請參閱 zip README.md 檔案中的 檔案。

自動掛載組態 (選用)

如需在開機時自動掛載 Amazon FSx for Lustre 檔案系統的資訊,請參閱 自動掛載 Amazon FSx 檔案系統

步驟 3:EFA 介面

每個 FSx for Lustre 檔案系統在所有用戶端執行個體中都有 1024 個 EFA 連線的上限。

configure-efa-fsx-lustre-client.sh 指令碼會根據執行個體類型自動設定 EFA 介面。

執行個體類型 預設 EFA 介面數量
p6-b200.48xlarge

8

p5en.48xlarge

8

p5e.48xlarge

8

p5.48xlarge

8

具有多個網路卡的其他執行個體

2

具有單一網路卡的其他執行個體

1

連接到 FSx for Lustre 檔案系統時,用戶端執行個體上每個設定的 EFA 介面都會計入 1024 EFA 連線限制的一個連線。

手動管理 EFA 介面

具有更多 EFA 介面的執行個體通常支援更高的輸送量。只要保持在 EFA 連線總限制內,您就可以自訂介面數量,以最佳化特定工作負載的效能。

您可以使用下列命令手動管理 EFA 介面:

  1. 檢視可用的 EFA 裝置:

    for interface in /sys/class/infiniband/*; do if [ ! -e "$interface/device/driver" ]; then continue; fi driver=$(basename "$(realpath "$interface/device/driver")") if [ "$driver" != "efa" ]; then continue; fi echo $(basename $interface) done
  2. 檢視目前設定的界面:

    sudo lnetctl net show
  3. 新增 EFA 介面:

    sudo lnetctl net add --net efa --if device_name —peer-credits 32

    device_name 取代為步驟 1 中清單中的實際裝置名稱。

  4. 移除 EFA 介面:

    sudo lnetctl net del --net efa --if device_name

    device_name 取代為步驟 2 中清單中的實際裝置名稱。