Compartilhar via


Gerenciar o SMB Multichannel

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 Windows 10

O SMB Multichannel faz parte do protocolo SMB 3.0, que aumenta o desempenho da rede e a disponibilidade de servidores de arquivos.

O SMB Multichannel permite que os servidores de arquivos usem várias conexões de rede simultaneamente. Ele facilita a agregação de largura de banda de rede e tolerância a falhas de rede quando vários caminhos estão disponíveis entre o cliente SMB 3.0 e o servidor SMB 3.0. Isso permite que os aplicativos de servidor aproveitem ao máximo toda a largura de banda de rede disponível e os torne mais resilientes a falhas de rede.

O SMB Multichannel fornece os seguintes recursos:

  • Maior taxa de transferência. O servidor de arquivos pode transmitir dados adicionais simultaneamente usando várias conexões para adaptadores de rede de alta velocidade ou vários adaptadores de rede.

  • Tolerância a falhas de rede. Quando os clientes usam simultaneamente várias conexões de rede, os clientes podem continuar sem interrupção, apesar da perda de uma conexão de rede.

  • Configuração automática. O SMB Multichannel descobre automaticamente vários caminhos de rede disponíveis e adiciona conexões dinamicamente conforme necessário.

Requisitos para SMB Multichannel

Como o SMB Multichannel está habilitado por padrão, você não precisa instalar funções, serviços de função ou recursos adicionais. O cliente SMB detecta e usa automaticamente várias conexões de rede quando a configuração é identificada. No entanto, o SMB Multichannel tem os seguintes requisitos:

  • Pelo menos dois computadores que executam o Azure Stack HCI, o Windows Server ou Windows 10 sistema operacional.

  • Pelo menos uma das seguintes configurações:

    • Vários adaptadores de rede

    • Um ou mais adaptadores de rede que dão suporte ao RSS (Receive Side Scaling)

    • Vários adaptadores de rede agrupados (consulte Agrupamento NIC)

    • Um ou mais adaptadores de rede que dão suporte ao RDMA (acesso remoto direto à memória)

Configurar o SMB Multichannel

Esta seção descreve algumas opções de configuração para implantar o SMB Multichannel usando uma matriz de adaptadores de rede. Essas configurações são apenas configurações de exemplo. Há muitas outras configurações possíveis que não estão incluídas neste tópico.

Adaptador de rede compatível com RSS único

Nessa configuração típica, um cliente SMB e um servidor SMB são configurados usando um único adaptador de rede Ethernet (10 GbE) de 10 gigabits. Quando o SMB é implantado sem SMB Multichannel e, se houver apenas uma sessão SMB estabelecida, o SMB criará uma única conexão TCP/IP. Com apenas um único núcleo de CPU, essa configuração inerentemente leva a congestionamento, especialmente quando muitas pequenas operações de E/S são executadas. Portanto, o potencial de um gargalo de desempenho é significativo.

A maioria dos adaptadores de rede atuais oferece uma funcionalidade chamada RSS (Receive Side Scaling), que permite que várias conexões se espalhem automaticamente por vários núcleos de CPU. No entanto, se você usar uma única conexão, o RSS não poderá ajudar. Quando você usa o SMB Multichannel com um adaptador de rede compatível com RSS, o SMB cria várias conexões TCP/IP para essa sessão específica. Essa configuração evita um possível gargalo em um único núcleo de CPU se muitas pequenas operações de E/S forem necessárias.

Vários adaptadores de rede

Nessa configuração, um cliente SMB e um servidor SMB são configurados usando vários adaptadores de rede de 10 GbE. Quando o SMB é implantado sem o SMB Multichannel e, se houver apenas uma sessão SMB estabelecida, o SMB usará um dos adaptadores de rede disponíveis para criar uma única conexão TCP/IP. Nesse cenário, não é possível agregar a largura de banda dos vários adaptadores de rede; Por exemplo, você não pode obter 2 gigabits por segundo (Gbps) ao usar dois adaptadores de rede de 1 GbE. Também há uma possibilidade de falha se o adaptador de rede selecionado estiver desconectado ou desabilitado.

Quando o SMB é implantado com o SMB Multichannel, o SMB cria várias conexões TCP/IP para uma única sessão com pelo menos uma ou mais conexões por interface se os adaptadores de rede forem compatíveis com RSS. Essa configuração permite que o SMB use a largura de banda combinada do adaptador de rede que está disponível e possibilita que o cliente SMB continue sem interrupção se um adaptador de rede falhar.

Agrupamento NIC

O Azure Stack HCI e o Windows Server dão suporte à capacidade de combinar vários adaptadores de rede em um adaptador de rede usando um recurso chamado agrupamento NIC. Embora uma equipe sempre forneça tolerância a falhas, quando o SMB é implantado sem SMB Multichannel, o SMB cria apenas uma conexão TCP/IP por equipe. Essa configuração leva a limitações no número de núcleos de CPU envolvidos e no uso máximo da largura de banda da equipe.

Quando o SMB é implantado com o SMB Multichannel, o SMB cria várias conexões TCP/IP para uma única sessão para obter um melhor equilíbrio entre núcleos de CPU e melhor uso da largura de banda disponível. O agrupamento NIC continua oferecendo a funcionalidade de failover, que funciona mais rápido do que o uso do SMB Multichannel por si só. Também recomendamos o agrupamento NIC porque ele oferece recursos de failover para outras cargas de trabalho que não dependem do SMB, pois essas cargas de trabalho não podem se beneficiar dos recursos de failover do SMB Multichannel.

Se você estiver usando um conjunto dedicado de adaptadores de rede para Espaços de Armazenamento Diretos tráfego, como às vezes é feito com o Azure Stack HCI, o agrupamento desses adaptadores de rede de armazenamento é estritamente opcional. Isso não oferece benefícios ou desvantagens significativos.

Importante

No Windows Server 2012 R2 e versões anteriores, não use o agrupamento NIC se você pretende usar os recursos RDMA dos adaptadores de rede. Nesses sistemas operacionais, uma equipe de adaptadores de rede compatíveis com RDMA é sempre relatada como não compatível com RDMA porque o agrupamento desabilita a funcionalidade RDMA do adaptador de rede.

Um ou vários adaptadores de rede compatíveis com RDMA

O SMB Multichannel detecta os recursos rdma dos adaptadores de rede, o que habilita o recurso SMB Direct chamado SMB Direct via RDMA. Sem o SMB Multichannel, o SMB usa conexões TCP/IP regulares com os adaptadores de rede compatíveis com RDMA, em que todos os adaptadores de rede fornecem uma pilha TCP/IP que existe lado a lado com a nova pilha RDMA.

Quando o SMB é implantado com o SMB Multichannel, o SMB detecta a funcionalidade RDMA de um adaptador de rede e cria várias conexões RDMA para essa única sessão, com duas conexões RDMA por interface. Essa configuração permite que o SMB aproveite a alta taxa de transferência, a baixa latência e a baixa utilização da CPU oferecida pelos adaptadores de rede compatíveis com RDMA. Ele também oferece tolerância a falhas quando você usa várias interfaces RDMA.

Importante

Depois que uma conexão RDMA é criada, a conexão TCP/IP para a negociação de protocolo original não é mais usada. No entanto, essa conexão é mantida caso uma conexão RDMA diferente falhe.

SMB Multichannel, adaptadores de rede compatíveis com RDMA e compatibilidade de agrupamento NIC

A tabela a seguir resume os diferentes recursos disponíveis quando você combina o agrupamento SMB Multichannel, RDMA (SMB Direct) e NIC.

Configuração Produtividade Tolerância a falhas para SMB Tolerância a falhas para não SMB Menor utilização da CPU
Adaptador de rede único (sem RSS) *
Vários adaptadores de rede (sem RSS) ** *
Vários adaptadores de rede (sem RSS) com agrupamento NIC ** ** *
Adaptador de rede único com RSS *
Vários adaptadores de rede com RSS ** *
Vários adaptadores de rede com RSS e agrupamento NIC ** ** *
Adaptador de rede compatível com RDMA único * *
Vários adaptadores de rede compatíveis com RDMA *** * *
Vários adaptadores de rede compatíveis com RDMA com agrupamento NIC *** ** * *

Se você estiver executando Windows Server 2016 ou posterior, a solução ideal é usar vários adaptadores de rede compatíveis com RDMA e combinar o agrupamento NIC com o SMB Multichannel. Essa combinação fornece a melhor taxa de transferência, fornece tolerância a falhas para aplicativos que usam SMB e outros protocolos e tem o menor impacto da CPU.

Conforme mencionado acima, ao usar adaptadores de rede compatíveis com RDMA no Windows Server 2012 R2 ou anterior, o agrupamento NIC não é uma boa opção, pois desabilita a funcionalidade RDMA do adaptador de rede.

Configurações de exemplo sem SMB Multichannel

Se você planeja usar um único adaptador de rede sem RSS, não se beneficia de várias conexões de rede e, portanto, o SMB Multichannel não é usado. Além disso, se você planeja usar adaptadores de rede de velocidades diferentes, o SMB Multichannel seleciona automaticamente o adaptador de rede mais rápido. Isso ocorre porque os adaptadores de rede que são do mesmo tipo (como RDMA, RSS ou nenhum deles) e têm a mesma velocidade são usados simultaneamente pelo SMB Multichannel. Os adaptadores de rede mais lentos estão ociosos.

Desabilitar o SMB Multichannel

Normalmente, você não precisa desabilitar o SMB Multichannel. No entanto, se você quiser desabilitar o SMB Multichannel, por exemplo, em um ambiente de teste, use os procedimentos de Windows PowerShell a seguir.

Primeiro, conecte-se a um dos servidores abrindo uma sessão do PowerShell:

Enter-PSSession <server-name>

Para desabilitar o SMB Multichannel no lado do servidor, use o seguinte cmdlet:

Set-SmbServerConfiguration -EnableMultiChannel $false

Para desabilitar o SMB Multichannel no lado do cliente, use o seguinte cmdlet:

Set-SmbClientConfiguration -EnableMultiChannel $false

Observação

Desabilitar o SMB Multichannel no cliente ou no servidor impede que ambos os sistemas o usem.

Habilitar novamente o SMB Multichannel

Se você desabilitou o SMB Multichannel e deseja habilitá-lo novamente, use os procedimentos a seguir.

Para reabilitar o SMB Multichannel no lado do servidor, use o seguinte cmdlet:

Set-SmbServerConfiguration -EnableMultiChannel $true

Para reabilitar o SMB Multichannel no lado do cliente, use o seguinte cmdlet:

Set-SmbClientConfiguration -EnableMultiChannel $true

Observação

Você deve reabilitar o SMB Multichannel no cliente e no servidor para começar a usá-lo novamente.

Testar o SMB Multichannel

Esta seção descreve alguns cenários para testar o SMB Multichannel, que inclui comparar uma cópia de arquivo com e, em seguida, sem SMB Multichannel e intencionalmente fazer com que um adaptador de rede falhe durante uma operação de cópia de arquivo.

Comparar uma cópia de arquivo com e sem SMB Multichannel

Para medir o aumento da taxa de transferência fornecida pelo SMB Multichannel, execute os testes a seguir. Reinicie o servidor e o cliente antes de cada teste para garantir que eles operem em condições semelhantes.

  1. Configure o SMB Multichannel usando uma das configurações descritas anteriormente.

  2. Meça o tempo necessário para executar uma operação de cópia de arquivo de longa execução usando o SMB Multichannel.

  3. Desabilite o SMB Multichannel. Para obter instruções, consulte Desabilitar SMB Multichannel.

  4. Meça o tempo necessário para executar a mesma cópia de arquivo sem o SMB Multichannel.

  5. Habilite novamente o SMB Multichannel. Para obter instruções, confira Habilitar novamente o SMB Multichannel.

  6. Compare os dois resultados.

Importante

Para evitar o impacto no desempenho do cache, primeiro copie uma grande quantidade de dados que excede o tamanho da memória disponível. Em seguida, execute a operação de cópia novamente, com a primeira operação de cópia servindo como um aquecimento. Cronometre apenas a segunda operação de cópia.

Fazer com que um dos adaptadores de rede falhe durante uma cópia de arquivo com SMB Multichannel

Para confirmar a funcionalidade de failover do SMB Multichannel:

  1. Verifique se o SMB Multichannel opera em uma configuração de adaptador de rede múltipla.

  2. Executar uma operação de cópia de arquivo de longa execução.

  3. Enquanto a operação de cópia de arquivo estiver em execução, simule uma falha de um dos caminhos de rede desconectando um dos cabos ou desabilitando um dos adaptadores de rede.

  4. Confirme se a cópia do arquivo continua a usar o adaptador de rede restante e opera sem erros de cópia de arquivo.

Verifique se não há outras cargas de trabalho que usam o caminho de conexão de rede desconectado. Essa precaução evita uma possível falha em cargas de trabalho que não aproveitam o SMB Multichannel.

Verificar se o SMB Multichannel funciona

Use o procedimento a seguir para verificar se o SMB Multichannel funciona.

  1. Para verificar se a configuração do adaptador de rede está correta, digite o seguinte em Windows PowerShell no servidor SMB e no cliente SMB.

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. Para verificar se o SMB Multichannel está habilitado, confirme se o SMB identifica corretamente os adaptadores de rede e se os recursos RSS e RDMA do adaptador de rede foram identificados corretamente, faça o seguinte:

    No cliente SMB, digite o seguinte em Windows PowerShell:

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    No servidor SMB, digite o seguinte em Windows PowerShell:

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. No cliente SMB, execute uma operação de cópia de arquivo de execução prolongada que cria uma sessão em andamento com o servidor SMB. Enquanto a operação de cópia estiver em execução, digite o seguinte em Windows PowerShell para verificar se a conexão usa a versão correta do SMB e se o SMB Multichannel funciona.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Próximas etapas

Para informações relacionadas, confira também: