SMB Direct

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Azure Stack HCI version 21H2

Windows Server inclut une nouvelle fonctionnalité nommée SMB Direct, qui prend en charge l’utilisation de cartes réseau dotées de la fonction Accès direct à la mémoire à distance (RDMA). Les cartes réseau qui ont RDMA peuvent fonctionner à pleine vitesse avec une latence inférieure sans compromettre l’utilisation du processeur. Pour des charges de travail de type Hyper-V ou Microsoft SQL Server, cette fonctionnalité permet à un serveur de fichiers distant d’agir comme un système de stockage local. SMB Direct est automatiquement configuré et activé par défaut dans Windows Server 2012 et les itérations futures.

L’utilisation de SMB Direct fournit :

  • Débit accru: il tire parti du débit complet des réseaux à haut débit dans lesquels les cartes réseau coordonnent le transfert de grandes quantités de données à la vitesse de ligne.
  • Latence faible : Offre des réponses rapides aux demandes du réseau, comme si le stockage de fichiers à distance était un stockage de bloc directement attaché.
  • Utilisation faible du processeur: il utilise moins de cycles processeur lors du transfert de données sur le réseau, ce qui laisse plus d’alimentation disponible pour les applications serveur.

Vous pouvez utiliser SMB Direct dans un cluster de basculement ; toutefois, vous devez vous assurer que les réseaux de clusters utilisés pour l’accès client conviennent à SMB Direct. Le clustering avec basculement prend en charge l’utilisation de plusieurs réseaux pour l’accès client ainsi que les cartes réseau prenant en charge le partage du trafic entrant (RSS) et RDMA.

Remarque

Vous pouvez utiliser SMB Direct sur le système d’exploitation de gestion Hyper-V pour prendre en charge l’utilisation d’Hyper-V sur SMB et pour fournir un stockage à un ordinateur virtuel qui utilise la pile de stockage Hyper-V. Toutefois, les cartes réseau prenant en charge RDMA ne sont pas directement exposées à un client Hyper-V. Si vous connectez une carte réseau prenant en charge RDMA à un commutateur virtuel, les cartes réseau virtuelles du commutateur ne prennent pas en charge RDMA.

Spécifications

SMB Direct nécessite la configuration suivante :

  • Une ou plusieurs cartes réseau dotées de la fonction RDMA.
  • Au moins deux ordinateurs exécutant un ou plusieurs des systèmes d’exploitation suivants :
    • Windows Server 2012 et versions ultérieures.
    • Windows 10 Entreprise et versions ultérieures.
    • Windows 10 Éducation et versions ultérieures.
    • Windows 10 Professionnel pour les stations de travail et les versions ultérieures
    • Windows 10 Professionnel 22H2 ( installation neuve, sans mise à jour à partir d'une version antérieure) et versions ultérieures.

Remarque

Les familles Windows 10 et Windows 11 sont limitées au client uniquement et ne peuvent pas faire office de serveur SMB Direct.

SMB Multichannel

SMB Multichannel est la fonctionnalité chargée de la détection des fonctions RDMA des cartes réseau pour activer SMB Direct. Sans SMB Multichannel, SMB utilise la connexion TCP/IP standard avec les cartes réseau prenant en charge RDMA (toutes les cartes réseau fournissent une pile TCP/IP avec la nouvelle pile RDMA).

Avec SMB Multichannel, SMB détecte si une carte réseau est dotée de la fonction RDMA et crée plusieurs connexions RDMA pour cette seule session (deux par interface). Cela permet à SMB d’utiliser le débit élevé, la faible latence et l’utilisation faible du processeur proposés par les cartes réseau prenant en charge RDMA. Il offre également une tolérance de panne si vous utilisez plusieurs interfaces RDMA.

Vous pouvez associer des cartes réseau compatibles RDMA à l’aide de SET (Switch Embedded Teaming) en commençant par Windows Server 2016. Une fois qu’au moins une connexion réseau RDMA est créée, la connexion TCP/IP utilisée pour la négociation du protocole d’origine n’est plus utilisée. Toutefois, la connexion TCP/IP est conservée en cas d’échec des connexions réseau RDMA.

La désactivation de SMB Multichannel désactive également SMB Direct. Dans la mesure où SMB Multichannel détecte les fonctions des cartes réseau et détermine si une carte réseau prend en charge RDMA, SMB Direct ne peut pas être utilisé par le client si SMB Multichannel est désactivé.

Chiffrement SMB

À compter de Windows Server 2022 et Windows 11, SMB Direct prend désormais en charge le chiffrement. Auparavant, l’activation du chiffrement SMB désactivait le placement direct des données, ce qui rendait les performances RDMA aussi lentes que TCP. Désormais, les données sont chiffrées avant leur placement, ce qui entraîne une dégradation des performances relativement mineure tout en ajoutant la confidentialité des paquets protégés par AES-128 et AES-256. Pour plus d’informations sur la configuration du chiffrement SMB, consultez Améliorations en matière de sécurité SMB.

En outre, les clusters de basculement Windows Server prennent désormais en charge le contrôle précis du chiffrement des communications de stockage intra-nœud pour les volumes partagés de cluster (CSV) et la couche de bus de stockage (SBL). Cela signifie que lorsque vous utilisez les espaces de stockage direct et SMB Direct, vous pouvez décider de chiffrer les communications est-ouest au sein du cluster lui-même pour une sécurité accrue.

Désactivation et activation des fonctionnalités SMB Direct

Le client SMB détecte et utilise automatiquement plusieurs connexions réseau si une configuration appropriée est identifiée. Comme SMB Direct est activé par défaut, une fois désactivé, il doit être réactivé manuellement chaque fois que nécessaire.

Normalement, vous n’aurez pas besoin de désactiver SMB Direct. Si toutefois le cas se présente, vous pouvez le désactiver, ainsi que ses fonctionnalités, en exécutant les commandes Windows PowerShell suivantes.

Pour désactiver SMB Direct, tapez :

Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect

Pour désactiver SMB Multichannel côté serveur, tapez :

Set-SmbServerConfiguration -EnableMultiChannel $false

Pour désactiver SMB Multichannel côté client, tapez :

Set-SmbClientConfiguration -EnableMultiChannel $false

Pour désactiver RDMA pour une interface spécifique, tapez :

Disable-NetAdapterRdma <name>

Pour désactiver RDMA pour toutes les interfaces, tapez :

Set-NetOffloadGlobalSetting -NetworkDirect Disabled

Lorsque vous désactivez RDMA sur le client ou le serveur, les systèmes ne peuvent pas l’utiliser. Network Direct est le nom interne de Windows Server pour la prise en charge de la mise en réseau de base pour les interfaces RDMA.

Pour vérifier quel état d’opérabilité de SMB Direct est actuellement configuré, exécutez l’applet de commande suivante :

Get-WindowsOptionalFeature -Online -FeatureName SMBDirect

Test de SMB Direct

Vous pouvez tester les performances de SMB Direct en mesurant le débit lors de l’exécution d’une importante copie de fichiers. Avant de tester, vérifiez que la carte réseau prend en charge RDMA en utilisant PowerShell.

Côté serveur, tapez :

Get-SmbServerNetworkInterface

Côté client, tapez :

Get-SmbClientNetworkInterface

Une fois que vous avez vérifié que la carte réseau prend en charge RDMA, effectuez le test suivant :

  1. Pour désactiver RDMA sur la carte réseau, consultez Désactivation et activation des fonctionnalités SMB Direct.
  2. Mesurez le temps d’exécution d’une importante copie de fichiers sans SMB Direct.
  3. Réactivez RDMA sur la carte réseau, procédez à la même copie de fichiers, puis comparez les deux résultats.
  4. Pour éviter l’impact de la mise en cache, procédez comme suit :
    1. Copiez une grande quantité de données (plus de données que ce que la mémoire est capable de gérer).
    2. Copiez les données deux fois, la première fois comme exercice, puis en chronométrant la seconde copie.
    3. Redémarrez le serveur et le client avant chaque test pour vous assurer qu’ils fonctionnent dans des conditions semblables.

Vous pouvez également observer les compteurs de performances pendant les tests à l’aide du même scénario qui utilise l’outil Analyseur de performances en effectuant les opérations suivantes :

  1. Sélectionnez Démarrer, tapez perfmon et appuyez sur Entrée.
  2. Dans le volet gauche, sous Outils d’analyse>, sélectionnez Analyseur de performances.
  3. Dans le volet droit, sélectionnez l’icône verte « + » pour ajouter un nouveau compteur.
  4. Dans la boîte de dialogue Ajouter des compteurs, développez Connexion SMB Direct.
  5. Sélectionnez à la fois Octets RDMA lus/s et Octets RDMA écrits/s, sélectionnez Ajouter, puis OK.

Fonctionnalité de basculement de SMB Direct

Voici comment vérifier la capacité de basculement de SMB direct :

  1. Vérifiez que SMB Direct fonctionne dans une configuration avec plusieurs cartes réseau.
  2. Exécutez une importante copie de fichiers. Pendant le processus de copie, simulez l’échec de l’un des chemins réseau en débranchant l’un des câbles ou en désactivant l’une des cartes réseau.
  3. Confirmez que la copie de fichiers se poursuit en utilisant l’une des cartes réseau restantes et qu’aucune erreur de copie de fichier ne se produit.

Conseil

Pour éviter les échecs d’une charge de travail qui n’utilise pas SMB Direct, vérifiez qu’aucune autre charge de travail n’utilise le chemin réseau déconnecté.

Références supplémentaires