Partilhar via


Gerir o SMB Multicanal

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 Multicanal faz parte do protocolo SMB (Server Message Block) 3.0, que aumenta o desempenho da rede e a disponibilidade dos servidores de ficheiros.

O SMB Multicanal permite que os servidores de ficheiros utilizem várias ligações de rede em simultâneo. Facilita a agregação da largura de banda de rede e da tolerância a falhas de rede quando estão disponíveis vários caminhos entre o cliente SMB 3.0 e o servidor SMB 3.0. Isto permite que as aplicações de servidor tirem o máximo partido de toda a largura de banda de rede disponível e as torna mais resilientes a falhas de rede.

O SMB Multicanal fornece as seguintes capacidades:

  • Maior débito. O servidor de ficheiros pode transmitir dados adicionais em simultâneo através de várias ligações para adaptadores de rede de alta velocidade ou vários adaptadores de rede.

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

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

Requisitos do SMB Multicanal

Uma vez que o SMB Multicanal está ativado por predefinição, não tem de instalar funções, serviços de função ou funcionalidades adicionais. O cliente SMB deteta e utiliza automaticamente várias ligações de rede quando a configuração é identificada. No entanto, o SMB Multicanal tem os seguintes requisitos:

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

  • Pelo menos uma das seguintes configurações:

    • Vários adaptadores de rede

    • Um ou mais adaptadores de rede que suportam o Dimensionamento do Lado da Receção (RSS)

    • Vários adaptadores de rede em equipa (veja Agrupamento NIC)

    • Um ou mais adaptadores de rede que suportam o acesso remoto direto à memória (RDMA)

Configurar o SMB Multicanal

Esta secção descreve algumas opções de configuração para implementar o SMB Multicanal com uma matriz de adaptadores de rede. Estas configurações são apenas configurações de exemplo. Existem muitas outras configurações possíveis que não estão incluídas neste tópico.

Adaptador de rede único compatível com RSS

Nesta configuração típica, um cliente SMB e um servidor SMB são configurados com um único adaptador de rede Ethernet de 10 gigabits (10 GbE). Quando o SMB é implementado sem SMB Multicanal e, se existir apenas uma sessão SMB estabelecida, o SMB cria uma única ligação TCP/IP. Com apenas um único núcleo de CPU, esta configuração origina inerentemente congestionamento, especialmente quando são executadas muitas pequenas operações de E/S. Por conseguinte, o potencial para um estrangulamento de desempenho é significativo.

A maioria dos adaptadores de rede atuais oferecem uma capacidade denominada Dimensionamento do Lado da Receção (RSS), que permite que várias ligações se espalhem automaticamente por vários núcleos de CPU. No entanto, se utilizar uma única ligação, o RSS não pode ajudar. Quando utiliza o SMB Multicanal com um adaptador de rede compatível com RSS, o SMB cria várias ligações TCP/IP para essa sessão específica. Esta configuração evita um potencial estrangulamento num único núcleo de CPU se forem necessárias muitas operações de E/S pequenas.

Vários adaptadores de rede

Nesta configuração, um cliente SMB e um servidor SMB são configurados com vários adaptadores de rede de 10 GbE. Quando o SMB é implementado sem SMB Multicanal e, se existir apenas uma sessão SMB estabelecida, o SMB utiliza uma das placas de rede disponíveis para criar uma única ligação TCP/IP. Neste cenário, não é possível agregar a largura de banda das várias placas de rede; por exemplo, não pode alcançar 2 gigabits por segundo (Gbps) quando utiliza duas placas de rede de 1 GbE. Existe também uma possibilidade de falha se o adaptador de rede selecionado estiver desligado ou desativado.

Quando o SMB é implementado com o SMB Multicanal, o SMB cria várias ligações TCP/IP para uma única sessão com, pelo menos, uma ou mais ligações por interface, se as placas de rede tiverem capacidade RSS. Esta configuração permite que o SMB utilize a largura de banda combinada da placa de rede que está disponível e possibilita que o cliente SMB continue sem interrupção se uma placa de rede falhar.

Agrupamento NIC

O Azure Stack HCI e o Windows Server suportam a capacidade de combinar várias placas de rede numa única placa de rede através de uma funcionalidade chamada agrupamento NIC. Embora uma equipa forneça sempre tolerância a falhas, quando o SMB é implementado sem o SMB Multicanal, o SMB cria apenas uma ligação TCP/IP por equipa. Esta configuração leva a limitações no número de núcleos de CPU envolvidos e na utilização máxima da largura de banda da equipa.

Quando o SMB é implementado com o SMB Multicanal, o SMB cria várias ligações TCP/IP para uma única sessão para obter um melhor equilíbrio entre núcleos de CPU e uma melhor utilização da largura de banda disponível. O agrupamento NIC continua a oferecer a capacidade de ativação pós-falha, que funciona mais rapidamente do que utilizar o SMB Multicanal por si só. Também recomendamos o agrupamento NIC porque oferece capacidades de ativação pós-falha para outras cargas de trabalho que não dependem de SMB, uma vez que essas cargas de trabalho não podem beneficiar das capacidades de ativação pós-falha do SMB Multicanal.

Se estiver a utilizar um conjunto dedicado de adaptadores de rede para Espaços de Armazenamento Direto tráfego, como por vezes é feito com o Azure Stack HCI, o agrupamento destes adaptadores de rede de armazenamento é estritamente opcional, o que não proporciona vantagens ou desvantagens significativas.

Importante

No Windows Server 2012 R2 e anterior, não utilize o agrupamento NIC se pretender utilizar as capacidades RDMA das placas de rede. Nestes sistemas operativos, uma equipa de adaptadores de rede compatíveis com RDMA é sempre reportada como não compatível com RDMA porque o agrupamento desativa a capacidade RDMA da placa de rede.

Adaptadores de rede únicos ou múltiplos compatíveis com RDMA

O SMB Multicanal deteta as capacidades RDMA dos adaptadores de rede, o que permite a funcionalidade SMB Direto denominada SMB Direto através de RDMA. Sem o SMB Multicanal, o SMB utiliza ligações TCP/IP normais 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 é implementado com o SMB Multicanal, o SMB deteta a capacidade RDMA de um adaptador de rede e cria várias ligações RDMA para essa única sessão, com duas ligações RDMA por interface. Esta configuração permite que o SMB tire partido do débito elevado, da baixa latência e da baixa utilização da CPU que é oferecida pelas placas de rede compatíveis com RDMA. Também oferece tolerância a falhas quando utiliza várias interfaces RDMA.

Importante

Após a criação de uma ligação RDMA, a ligação TCP/IP para a negociação do protocolo original já não é utilizada. No entanto, essa ligação é mantida no caso de uma ligação RDMA diferente falhar.

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

A tabela seguinte resume as diferentes capacidades que estão disponíveis quando combina o SMB Multicanal, RDMA (SMB Direto) e agrupamento NIC.

Configuração Débito 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 agrupamento RSS e NIC ** ** *
Adaptador de rede único compatível com RDMA * *
Vários adaptadores de rede compatíveis com RDMA *** * *
Vários adaptadores de rede compatíveis com RDMA com agrupamento NIC *** ** * *

Se estiver a executar Windows Server 2016 ou posterior, a solução ideal é utilizar vários adaptadores de rede compatíveis com RDMA e combinar o agrupamento NIC com o SMB Multicanal. Esta combinação fornece o melhor débito, fornece tolerância a falhas para aplicações que utilizam SMB e outros protocolos e tem o menor impacto na CPU.

Conforme mencionado acima, ao utilizar adaptadores de rede compatíveis com RDMA no Windows Server 2012 R2 ou anterior, o agrupamento NIC não é uma boa opção, uma vez que desativa a capacidade RDMA do adaptador de rede.

Configurações de exemplo sem SMB Multicanal

Se planeia utilizar um único adaptador de rede sem RSS, não beneficia de várias ligações de rede e, por conseguinte, o SMB Multicanal não é utilizado. Além disso, se planear utilizar adaptadores de rede de diferentes velocidades, o SMB Multicanal seleciona automaticamente a placa de rede mais rápida. Isto deve-se ao facto de os adaptadores de rede que são do mesmo tipo (como RDMA, RSS ou nenhum dos dois) e que têm a mesma velocidade serem utilizados simultaneamente pelo SMB Multicanal. As placas de rede mais lentas estão inativas.

Desativar o SMB Multicanal

Normalmente, não precisa de desativar o SMB Multicanal. No entanto, se quiser desativar o SMB Multicanal, por exemplo, num ambiente de teste, utilize os seguintes procedimentos de Windows PowerShell.

Primeiro, ligue a um dos servidores ao abrir uma sessão do PowerShell:

Enter-PSSession <server-name>

Para desativar o SMB Multicanal no lado do servidor, utilize o seguinte cmdlet:

Set-SmbServerConfiguration -EnableMultiChannel $false

Para desativar o SMB Multicanal no lado do cliente, utilize o seguinte cmdlet:

Set-SmbClientConfiguration -EnableMultiChannel $false

Nota

Desativar o SMB Multicanal no cliente ou no servidor impede que ambos os sistemas o utilizem.

Reativar o SMB Multicanal

Se tiver desativado o SMB Multicanal e quiser reativá-lo, utilize os seguintes procedimentos.

Para reativar o SMB Multicanal no lado do servidor, utilize o seguinte cmdlet:

Set-SmbServerConfiguration -EnableMultiChannel $true

Para reativar o SMB Multicanal do lado do cliente, utilize o seguinte cmdlet:

Set-SmbClientConfiguration -EnableMultiChannel $true

Nota

Tem de reativar o SMB Multicanal no cliente e no servidor para começar a utilizá-lo novamente.

Testar Multicanal SMB

Esta secção descreve alguns cenários para testar o SMB Multicanal, que inclui comparar uma cópia de ficheiro com e, em seguida, sem o SMB Multicanal e fazer com que uma placa de rede falhe intencionalmente durante uma operação de cópia de ficheiros.

Comparar uma cópia de ficheiro com e sem SMB Multicanal

Para medir o débito aumentado fornecido pelo SMB Multicanal, execute os seguintes testes. Reinicie o servidor e o cliente antes de cada teste para se certificar de que funcionam em condições semelhantes.

  1. Configure o SMB Multicanal com uma das configurações descritas anteriormente.

  2. Meça o tempo necessário para executar uma operação de cópia de ficheiros de execução prolongada com o SMB Multicanal.

  3. Desative o SMB Multicanal. Para obter instruções, veja Desativar o SMB Multicanal.

  4. Meça o tempo necessário para efetuar a mesma cópia de ficheiro sem o SMB Multicanal.

  5. Reativar o SMB Multicanal. Para obter instruções, veja Reativar o SMB Multicanal.

  6. Compare os dois resultados.

Importante

Para evitar o impacto no desempenho da colocação em cache, copie primeiro uma grande quantidade de dados que exceda o tamanho da memória disponível. Em seguida, execute novamente a operação de cópia, com a primeira operação de cópia a servir de aquecimento. Time only the second copy operation.

Fazer com que um dos adaptadores de rede falhe durante uma cópia de ficheiro com o SMB Multicanal

Para confirmar a capacidade de ativação pós-falha do SMB Multicanal:

  1. Certifique-se de que o SMB Multicanal funciona numa configuração de placa de rede múltipla.

  2. Executar uma operação de cópia de ficheiros de execução prolongada.

  3. Enquanto a operação de cópia de ficheiros está em execução, simule uma falha de um dos caminhos de rede desligando um dos cabos ou desativando uma das placas de rede.

  4. Confirme que a cópia de ficheiros continua a utilizar a placa de rede restante e funciona sem erros de cópia de ficheiro.

Certifique-se de que não existem outras cargas de trabalho que utilizem o caminho de ligação de rede desligado. Esta precaução evita uma possível falha nas cargas de trabalho que não tiram partido do SMB Multicanal.

Verifique se o SMB Multicanal funciona

Utilize o procedimento seguinte para verificar se o SMB Multicanal funciona.

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

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. Para verificar se o SMB Multicanal está ativado, confirme que o SMB identifica corretamente os adaptadores de rede e que as capacidades RSS e RDMA do adaptador de rede estão corretamente identificadas, faça o seguinte:

    No cliente SMB, escreva o seguinte no Windows PowerShell:

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    No servidor SMB, escreva o seguinte no Windows PowerShell:

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. No cliente SMB, execute uma operação de cópia de ficheiros de execução prolongada que cria uma sessão em curso com o servidor SMB. Enquanto a operação de cópia estiver em execução, escreva o seguinte no Windows PowerShell para verificar se a ligação utiliza a versão correta do SMB e que o SMB Multicanal funciona.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

Passos seguintes

Para obter informações relacionadas, consulte também: