本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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 驅動程式
複製 NVIDIA GMS 儲存庫:
git clone https://github.com/NVIDIA/gds-nvidia-fs.git
建置並安裝驅動程式:
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 用戶端
連線到您的 Amazon EC2 執行個體。
下載並解壓縮包含組態指令碼的檔案:
curl -O https://docs.aws.amazon.com/fsx/latest/LustreGuide/samples/configure-efa-fsx-lustre-client.zip unzip configure-efa-fsx-lustre-client.zip
變更為
configure-efa-fsx-lustre-client
資料夾並執行安裝指令碼:cd
configure-efa-fsx-lustre-client
sudo ./setup.sh指令碼會自動執行下列動作:
匯入 Lustre 模組
設定 TCP 和 EFA 介面
建立系統化服務,以在重新啟動時自動設定
如需可與
setup.sh
指令碼搭配使用的選項和使用範例清單,請參閱 zipREADME.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 介面:
檢視可用的 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
檢視目前設定的界面:
sudo lnetctl net show
新增 EFA 介面:
sudo lnetctl net add --net efa --if
device_name
—peer-credits 32將
device_name
取代為步驟 1 中清單中的實際裝置名稱。移除 EFA 介面:
sudo lnetctl net del --net efa --if
device_name
將
device_name
取代為步驟 2 中清單中的實際裝置名稱。