Activer InfiniBand

S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes

Les machines virtuelles Série HB et Série N avec RDMA communiquent sur le réseau InfiniBand à faible latence et à bande passante élevée. La fonctionnalité RDMA sur une telle interconnexion est critique pour améliorer la scalabilité et les performances des charges de travail HPC et IA sur les nœuds distribués. Les machines virtuelles des séries HB et N avec InfiniBand sont connectées dans un réseau fat-tree avec une conception à faible diamètre pour des performances RDMA optimisées et cohérentes.

Il existe plusieurs façons d’activer InfiniBand sur les tailles de machines virtuelles compatibles.

Images de machine virtuelle avec des pilotes InfiniBand

Pour obtenir la liste des images de machines virtuelles prises en charge sur la Place de marché, consultez les Images de machine virtuelle, qui sont préchargées avec des pilotes InfiniBand (pour les machines virtuelles SR-IOV ou non-SR-IOV) ou peuvent être configurées avec les pilotes appropriés pour les machines virtuelles compatibles RDMA. Les images de machines virtuelles Ubuntu-HPC et AlmaLinux-HPC dans le marketplace sont le moyen le plus simple de démarrer.

Extensions de machine virtuelle du pilote InfiniBand

Sur Linux, pour les machines virtuelles des séries HB et N prenant en charge SR-IOV, l’extension de machine virtuelle InfiniBandDriverLinux peut être utilisée pour installer les pilotes OFED Mellanox et activer InfiniBand.

Sur Windows, l’extension de machine virtuelle InfiniBandDriverWindows installe des pilotes Windows Network Direct (sur des machines virtuelles non compatibles SR-IOV) ou des pilotes Mellanox OFED (sur des machines virtuelles compatibles SR-IOV) pour la connectivité RDMA. Dans certains déploiements des instances A8 et A9, l’extension HpcVmDrivers est ajoutée automatiquement. Notez que l’extension de machine virtuelle HpcVmDrivers est déconseillée ; elle ne sera pas mise à jour.

Pour ajouter l’extension de machine virtuelle sur une machine virtuelle, vous pouvez utiliser les cmdlets Azure PowerShell. Pour plus d’informations, consultez Extensions et fonctionnalités de la machine virtuelle. Vous pouvez également utiliser les extensions pour les machines virtuelles déployées dans le modèle de déploiement classique.

Installation manuelle

Les pilotes Mellanox OpenFabrics (OFED) peuvent être installés manuellement sur les machines virtuelles compatibles SR-IOV de série HB et les machines virtuelles de série N.

Linux

Les pilotes OFED pour Linux peuvent être installés avec l’exemple ci-dessous. L’exemple de cette procédure illustre la syntaxe RHEL, mais les étapes sont générales et peuvent être utilisées pour tout système d’exploitation compatible, par exemple Ubuntu (18.04, 19.04, 20.04) et SLES (12 SP4+ et 15). Vous trouverez des exemples supplémentaires pour les autres distributions dans le référentiel azhpc-images. Les pilotes de la boîte de réception fonctionnent également, mais les pilotes Mellanox OpenFabrics fournissent davantage de fonctionnalités.

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/redhat-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/redhat/${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

Pour Windows, téléchargez et installez les pilotes Mellanox OFED pour Windows.

Activer IP sur InfiniBand (IB)

Si vous comptez exécuter des travaux MPI, vous n’avez généralement pas besoin de l’IPoIB. La bibliothèque MPI utilise l’interface de verbes pour la communication IB (à moins que vous n’utilisiez explicitement le canal TCP/IP de la bibliothèque MPI). Toutefois, si vous disposez d’une application qui utilise TCP/IP pour la communication et que vous souhaitez exécuter sur IB, vous pouvez utiliser IPoIB sur l’interface IB. Utilisez les commandes suivantes (pour RHEL) pour activer IP sur InfiniBand.

Important

Pour éviter tout problème, assurez-vous que vous n'exécutez pas d'anciennes versions de Microsoft Azure Linux Agent (waagent). Nous vous recommandons d’utiliser au moins la version 2.4.0.2 avant d’activer l’adresse IP via IB.

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

Étapes suivantes