啟用 InfiniBand

警告

本文參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導

適用於: ✔️ Linux VM ✔️ Windows VM ✔️ 彈性擴展集 ✔️ 統一擴展集

支援 RDMAHB 系列N 系列 VM 會透過低延遲和高頻寬的 InfiniBand 網路進行通訊。 這類互連的 RDMA 功能對於提升分散式節點 HPC 和 AI 工作負載的可擴縮性和效能非常重要。 啟用 InfiniBand 的 HB 系列和 N 系列的 VM 是非封鎖式的寬大樹狀結構,並具備低直徑設計,以獲得最佳且一致的 RDMA 效能。

有各種方式可在支援的 VM 大小上啟用 InfiniBand。

具有 InfiniBand 驅動程式的 VM 映像

如需 Marketplace 上支援的 VM 映像清單,請參閱 VM 映像,此清單隨附預先載入的 InfiniBand 驅動程式 (適用於 SR-IOV 或非 SR-IOV VM),或可針對支援 RDMA 的 VM 設定適當的驅動程式。 Marketplace 中的 Ubuntu-HPCAlmaLinux-HPC VM 映像是最容易開始使用的選項。

InfiniBand 驅動程式 VM 延伸模組

在 Linux 上,InfiniBandDriverLinux VM 延伸模組可用來安裝 Mellanox OFED 驅動程式,並在已啟用 SR-IOV 的 HB 系列和 N 系列 VM 上啟用 InfiniBand。

在 Windows 上,InfiniBandDriverWindows VM 延伸模組可安裝 Windows 網路導向驅動程式 (在非 SR-IOV VM 上) 或 Mellanox OFED 驅動程式 (在 SR-IOV VM 上),以進行 RDMA 連線。 在某些 A8 和 A9 執行個體部署中,系統會自動新增 HpcVmDrivers 延伸模組。 請注意,HpcVmDrivers VM 延伸模組已由其他項目取代且不再更新。

若要將 VM 擴充功能新增至 VM,您可以使用 Azure PowerShell Cmdlet。 如需詳細資訊,請參閱虛擬機器擴充功能和功能。 您也可以針對已在傳統部署模型中部署的 VM 使用擴充功能。

手動安裝

Mellanox OpenFabrics 驅動程式 (OFED) 可以手動安裝在已啟用 SR-IOVHB 系列N 系列 VM 上。

Linux

您可以使用下列範例來安裝適用於 Linux 的 OFED 驅動程式。 此處雖為 RHEL/CentOS 範例,但屬於一般步驟,且可用於任何相容的 Linux 作業系統,例如 Ubuntu (18.04、 19.04、20.04) 和 SLES (12 SP4 和 15)。 其他發行版本的更多範例位於 azhpc 映像存放庫。 收件匣驅動程式也正常運作,但 Mellanox OFED 驅動程式可提供更多功能。

MLNX_OFED_DOWNLOAD_URL=http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
# Optionally verify checksum
wget --retry-connrefused --tries=3 --waitretry=5 $MLNX_OFED_DOWNLOAD_URL
tar zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz

KERNEL=( $(rpm -q kernel | sed 's/kernel\-//g') )
KERNEL=${KERNEL[-1]}
# Uncomment the lines below if you are running this on a VM
#RELEASE=( $(cat /etc/centos-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/centos/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
sudo yum install -y kernel-devel-${KERNEL}
sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERNEL --kernel-sources /usr/src/kernels/${KERNEL} --add-kernel-support --skip-repo

Windows

針對 Windows,請下載並安裝適用於 Windows 驅動程式的 Mellanox OFED

啟用透過 InfiniBand (IB) 的 IP

如果您計劃執行 MPI 作業,您通常不需要 IPoIB。 MPI 程式庫會針對 IB 通訊使用動詞介面 (除非您明確使用 MPI 程式庫的 TCP/IP 通道)。 但是,如果您有使用了 TCP/IP 進行通訊的應用程式,並想透過 IB 執行,則可以透過 IB 介面使用 IPoIB。 使用下列命令 (適用於 RHEL/CentOS),來啟用透過 InfiniBand 的 IP。

重要

若要避免問題,請確定您未執行舊版的 Microsoft Azure Linux 代理程式 (waagent)。 建議您在透過 IB 啟用 IP 之前,至少使用 2.4.0.2 版

sudo sed -i -e 's/# OS.EnableRDMA=n/OS.EnableRDMA=y/g' /etc/waagent.conf
sudo systemctl restart waagent

下一步