Partager via


Gérer SMB Multichannel

S’applique à : Azure Stack HCI, versions 22H2 et 21H2 ; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

SMB Multichannel fait partie du protocole SMB (Server Message Block) 3.0, ce qui augmente les performances réseau et la disponibilité des serveurs de fichiers.

SMB Multichannel permet aux serveurs de fichiers d’utiliser plusieurs connexions réseau simultanément. Il facilite l’agrégation de la bande passante réseau et de la tolérance de panne réseau lorsque plusieurs chemins d’accès sont disponibles entre le client SMB 3.0 et le serveur SMB 3.0. Cela permet aux applications serveur de tirer pleinement parti de toute la bande passante réseau disponible et de les rendre plus résilientes aux défaillances réseau.

SMB Multichannel offre les fonctionnalités suivantes :

  • Débit accru. Le serveur de fichiers peut transmettre simultanément des données supplémentaires en utilisant plusieurs connexions pour des adaptateurs réseau de haute vitesse ou plusieurs cartes réseau.

  • Tolérance de panne réseau. Lorsque les clients utilisent simultanément plusieurs connexions réseau, les clients peuvent continuer sans interruption malgré la perte d’une connexion réseau.

  • Configuration automatique. SMB Multichannel découvre automatiquement plusieurs chemins réseau disponibles et ajoute dynamiquement des connexions si nécessaire.

Configuration requise pour SMB Multichannel

Étant donné que SMB Multichannel est activé par défaut, vous n’avez pas besoin d’installer d’autres rôles, services de rôle ou fonctionnalités. Le client SMB détecte et utilise automatiquement plusieurs connexions réseau lorsque la configuration est identifiée. Toutefois, SMB Multichannel a les exigences suivantes :

  • Au moins deux ordinateurs qui exécutent Azure Stack HCI, Windows Server ou windows 10 système d’exploitation.

  • Au moins une des configurations suivantes :

    • Plusieurs cartes réseau

    • Une ou plusieurs cartes réseau qui prennent en charge la mise à l’échelle côté réception (RSS)

    • Plusieurs cartes réseau en équipe (voir mise en équipe de cartes réseau)

    • Une ou plusieurs cartes réseau qui prennent en charge l’accès direct à distance à la mémoire (RDMA)

Configurer SMB Multichannel

Cette section décrit certaines options de configuration pour déployer SMB Multichannel par le biais d'un ensemble de cartes réseau. Ces configurations ne sont que des exemples de configurations. Il existe de nombreuses autres configurations possibles qui ne sont pas incluses dans cette rubrique.

Unique carte réseau compatible RSS

Dans cette configuration classique, un client SMB et un serveur SMB sont configurés à l’aide d’une seule carte réseau Ethernet de 10 go (10 GoE). Quand SMB est déployé sans SMB Multichannel et s’il n’existe qu’une seule session SMB établie, SMB crée une seule connexion TCP/IP. Avec un seul cœur de processeur, cette configuration entraîne intrinsèquement une congestion, en particulier lorsque de nombreuses petites opérations d’E/S sont effectuées. Par conséquent, le potentiel d’un goulot d’étranglement des performances est important.

La plupart des cartes réseau actuelles offrent une fonctionnalité appelée Mise à l’échelle côté réception (RSS), qui permet à plusieurs connexions de se répartir automatiquement sur plusieurs cœurs de processeur. Toutefois, si vous utilisez une seule connexion, RSS ne peut pas vous aider. Lorsque vous utilisez SMB Multichannel avec une carte réseau compatible RSS, SMB crée plusieurs connexions TCP/IP pour cette session particulière. Cette configuration évite un goulot d’étranglement potentiel sur un cœur de processeur unique si de nombreuses opérations d’E/S de petite taille sont requises.

Plusieurs adaptateurs réseau

Dans cette configuration, un client SMB et un serveur SMB sont configurés à l’aide de plusieurs cartes réseau 10 GoE. Quand SMB est déployé sans SMB Multichannel et s’il n’existe qu’une seule session SMB établie, SMB utilise l’une des cartes réseau disponibles pour créer une seule connexion TCP/IP. Dans ce scénario, il n’est pas possible d’agréger la bande passante de plusieurs cartes réseau ; par exemple, vous ne pouvez pas atteindre 2 gigaoctets par seconde (Gbits/s) lorsque vous utilisez deux cartes réseau 1 GoE. Il existe également un risque de défaillance si la carte réseau sélectionnée est déconnectée ou désactivée.

Lorsque SMB est déployé avec SMB Multichannel, SMB crée plusieurs connexions TCP/IP pour une session unique avec au moins une ou plusieurs connexions par interface si les cartes réseau sont compatibles RSS. Cette configuration permet à SMB d’utiliser la bande passante combinée de la carte réseau disponible et permet au client SMB de continuer sans interruption en cas d’échec d’une carte réseau.

Association de cartes réseau

Azure Stack HCI et Windows Server prennent en charge la possibilité de combiner plusieurs cartes réseau en une seule carte réseau à l’aide d’une fonctionnalité appelée association de cartes réseau. Bien qu’une équipe offre toujours une tolérance de panne, lorsque SMB est déployé sans SMB Multichannel, SMB crée une seule connexion TCP/IP par équipe. Cette configuration entraîne des limitations dans le nombre de cœurs de processeur engagés et l’utilisation maximale de la bande passante de l’équipe.

Lorsque SMB est déployé avec SMB Multichannel, SMB crée plusieurs connexions TCP/IP pour une session unique afin d’obtenir un meilleur équilibre entre les cœurs du processeur et une meilleure utilisation de la bande passante disponible. L’association de cartes réseau continue d’offrir la fonctionnalité de basculement, qui fonctionne plus rapidement que l’utilisation de SMB Multichannel par lui-même. Nous recommandons également le teaming NIC, car il offre des fonctionnalités de basculement vers d'autres charges de travail qui n’utilisent pas SMB, celles-ci ne pouvant pas profiter des fonctionnalités de basculement de SMB Multichannel.

Si vous utilisez un ensemble dédié de cartes réseau pour le trafic direct des espaces de stockage, comme c’est parfois le cas avec Azure Stack HCI, l’association de ces cartes réseau de stockage est strictement facultative. Elle ne fournit pas d’avantages ou d’inconvénients significatifs.

Important

Dans Windows Server 2012 R2 et versions antérieures, n’utilisez pas le regroupement de cartes réseau si vous envisagez d’utiliser les fonctionnalités RDMA des cartes réseau. Sur ces systèmes d'exploitation, un ensemble d'adaptateurs réseau compatibles RDMA est toujours signalé comme non compatible RDMA, car le teaming désactive la fonctionnalité RDMA de l'adaptateur réseau.

Cartes réseau compatibles RDMA simples ou multiples

SMB Multichannel détecte les fonctionnalités RDMA des cartes réseau, ce qui active la fonctionnalité SMB Direct appelée SMB Direct via RDMA. Sans SMB Multichannel, SMB utilise des connexions TCP/IP régulières avec les cartes réseau compatibles RDMA où toutes les cartes réseau fournissent une pile TCP/IP qui existe côte à côte avec la nouvelle pile RDMA.

Lorsque SMB est déployé avec SMB Multichannel, SMB détecte la fonctionnalité RDMA d’une carte réseau et crée plusieurs connexions RDMA pour cette session unique, avec deux connexions RDMA par interface. Cette configuration permet à SMB de tirer parti du débit élevé, de la faible latence et de l’utilisation faible du processeur offerte par les cartes réseau compatibles RDMA. Il offre également une tolérance de panne lorsque vous utilisez plusieurs interfaces RDMA.

Important

Une fois qu’une connexion RDMA est créée, la connexion TCP/IP pour la négociation de protocole d’origine n’est plus utilisée. Toutefois, cette connexion est conservée en cas d’échec d’une connexion RDMA différente.

Compatibilité SMB Multichannel, cartes réseau compatibles RDMA et mise en équipe de NIC

Le tableau suivant récapitule les différentes fonctionnalités disponibles lorsque vous combinez SMB Multichannel, RDMA (SMB Direct) et l'agrégation de cartes réseau.

Configuration Débit Tolérance de panne pour SMB Tolérance de panne pour les non-SMB Utilisation plus faible du processeur
Adaptateur réseau unique (sans RSS) *
Plusieurs cartes réseau (sans RSS) ** *
Plusieurs cartes réseau (sans RSS) avec regroupement de cartes réseau ** ** *
Carte réseau unique avec RSS *
Plusieurs adaptateurs réseau avec RSS ** *
Plusieurs adaptateurs réseau avec agrégation d'interfaces RSS ** ** *
Unique carte réseau compatible RDMA * *
Plusieurs cartes réseau compatibles RDMA *** * *
Plusieurs cartes réseau compatibles RDMA avec agrégation de cartes réseau *** ** * *

Si vous exécutez Windows Server 2016 ou une version ultérieure, la solution idéale consiste à utiliser plusieurs cartes réseau compatibles RDMA et à combiner l'agrégation de cartes réseau avec SMB Multichannel. Cette combinaison offre le meilleur débit, offre une tolérance de panne pour les applications qui utilisent SMB et d’autres protocoles, et a un impact sur le processeur le plus faible.

Comme mentionné ci-dessus, lorsque vous utilisez des cartes réseau compatibles RDMA sur Windows Server 2012 R2 ou une version antérieure, l’association de cartes réseau n’est pas une bonne option, car elle désactive la fonctionnalité RDMA de la carte réseau.

Exemples de configurations sans SMB Multichannel

Si vous envisagez d’utiliser une seule carte réseau sans RSS, vous ne bénéficiez pas de plusieurs connexions réseau, et par conséquent, SMB Multichannel n’est pas utilisé. En outre, si vous envisagez d’utiliser des cartes réseau de différentes vitesses, SMB Multichannel sélectionne automatiquement la carte réseau la plus rapide. Cela est dû au fait que les cartes réseau qui sont du même type (comme RDMA, RSS ou aucun des deux) et qui ont la même vitesse sont utilisées simultanément par SMB Multichannel. Les adaptateurs réseau plus lents sont inactifs.

Désactiver SMB Multichannel

En règle générale, vous n’avez pas besoin de désactiver SMB Multichannel. Toutefois, si vous souhaitez désactiver SMB Multichannel, par exemple dans un environnement de test, utilisez les procédures Windows PowerShell suivantes.

Tout d’abord, connectez-vous à l’un des serveurs en ouvrant une session PowerShell :

Enter-PSSession <server-name>

Pour désactiver SMB Multichannel côté serveur, utilisez l’applet de commande suivante :

Set-SmbServerConfiguration -EnableMultiChannel $false

Pour désactiver SMB Multichannel côté client, utilisez l’applet de commande suivante :

Set-SmbClientConfiguration -EnableMultiChannel $false

Note

La désactivation de SMB Multichannel sur le client ou le serveur empêche les deux systèmes de l’utiliser.

Réactiver SMB Multichannel

Si vous avez désactivé SMB Multichannel et souhaitez le réactiver, utilisez les procédures suivantes.

Pour réactiver SMB Multichannel côté serveur, utilisez l’applet de commande suivante :

Set-SmbServerConfiguration -EnableMultiChannel $true

Pour réactiver SMB Multichannel côté client, utilisez l’applet de commande suivante :

Set-SmbClientConfiguration -EnableMultiChannel $true

Note

Vous devez réactiver SMB Multichannel sur le client et le serveur pour commencer à l’utiliser à nouveau.

Tester SMB Multicanal

Cette section décrit certains scénarios de test pour SMB Multichannel, notamment la comparaison d'une copie de fichier avec et sans SMB Multichannel, ainsi que le fait de provoquer intentionnellement l'échec d'une carte réseau lors d'une opération de copie de fichier.

Comparer une copie de fichier avec et sans SMB Multichannel

Pour mesurer le débit accru fourni par SMB Multichannel, effectuez les tests suivants. Redémarrez le serveur et le client avant chaque test pour vous assurer qu’ils fonctionnent dans des conditions similaires.

  1. Configurez SMB Multichannel à l’aide de l’une des configurations décrites précédemment.

  2. Mesurez le temps nécessaire pour effectuer une opération de copie de fichier longue à l’aide de SMB Multichannel.

  3. Désactivez SMB Multichannel. Pour obtenir des instructions, consultez Désactiver SMB Multichannel.

  4. Mesurez le temps nécessaire pour effectuer la même copie de fichiers sans SMB Multichannel.

  5. Réactivez SMB Multichannel. Pour obtenir des instructions, consultez Réactiver SMB Multichannel.

  6. Comparez les deux résultats.

Important

Pour éviter l’impact sur les performances de la mise en cache, commencez par copier une grande quantité de données qui dépasse la taille de la mémoire disponible. Ensuite, effectuez à nouveau l’opération de copie, avec la première opération de copie servant de préchauffage. Durée uniquement de la deuxième opération de copie.

Provoquer l’échec de l’une des cartes réseau lors d’une copie de fichiers avec SMB Multichannel

Pour confirmer la fonctionnalité de basculement de SMB Multichannel :

  1. Assurez-vous que SMB Multichannel fonctionne dans une configuration de plusieurs cartes réseau.

  2. Effectuez une opération de copie de fichiers longue durée.

  3. Pendant l’exécution de l’opération de copie de fichiers, simulez une défaillance de l’un des chemins réseau en déconnectant l’un des câbles ou en désactivant l’une des cartes réseau.

  4. Vérifiez que la copie de fichier continue d’utiliser la carte réseau restante et fonctionne sans aucune erreur de copie de fichier.

Vérifiez qu’aucune autre charge de travail n’utilise le chemin de connexion réseau déconnecté. Cette précaution évite une défaillance possible dans les charges de travail qui n’tirent pas parti de SMB Multichannel.

Vérifier que SMB Multichannel fonctionne

Utilisez la procédure suivante pour vérifier que SMB Multichannel fonctionne.

  1. Pour vérifier que la configuration de la carte réseau est correcte, tapez ce qui suit dans Windows PowerShell sur le serveur SMB et le client SMB.

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. Pour vérifier que SMB Multichannel est activé, vérifiez que SMB identifie correctement les cartes réseau et que les fonctionnalités RSS et RDMA de la carte réseau sont correctement identifiées, procédez comme suit :

    Sur le client SMB, tapez ce qui suit dans Windows PowerShell :

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    Sur le serveur SMB, tapez ce qui suit dans Windows PowerShell :

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. Sur le client SMB, effectuez une opération de copie de fichiers longue qui crée une session en cours avec le serveur SMB. Pendant l’exécution de l’opération de copie, tapez ce qui suit dans Windows PowerShell pour vérifier que la connexion utilise la version appropriée de SMB et que SMB Multichannel fonctionne.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Étapes suivantes

Pour plus d’informations, consultez également :