Gerenciar 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
Importante
O Azure Stack HCI agora faz parte do Azure Local. A renomeação da documentação do produto está em andamento. No entanto, as versões mais antigas do Azure Stack HCI, por exemplo 22H2, continuarão a fazer referência ao Azure Stack HCI e não refletirão a alteração de nome. Mais informações.
O SMB Multichannel faz parte do protocolo SMB (Server Message Block) 3.0, que aumenta o desempenho da rede e a disponibilidade dos 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 torna mais resilientes a falhas de rede.
SMB Multichannel fornece os seguintes recursos:
Maior débito. O servidor de arquivos pode transmitir simultaneamente dados adicionais 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. SMB Multichannel descobre automaticamente vários caminhos de rede disponíveis e adiciona dinamicamente conexões conforme necessário.
Requisitos para SMB Multichannel
Como o SMB Multichannel está habilitado por padrão, não é necessário instalar funções, serviços de função ou recursos adicionais. O cliente SMB deteta e usa automaticamente várias conexões de rede quando a configuração é identificada. No entanto, SMB Multichannel tem os seguintes requisitos:
Pelo menos dois computadores que executam o sistema operacional Azure Stack HCI, Windows Server ou Windows 10.
Pelo menos uma das seguintes configurações:
Vários adaptadores de rede físicos
Um ou mais adaptadores de rede que suportam RSS (Receive Side Scaling)
Vários adaptadores de rede agrupados (consulte Agrupamento NIC)
Um ou mais adaptadores de rede que suportam RDMA (acesso remoto direto à memória)
Configurar 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.
Único adaptador de rede compatível com RSS
Nessa configuração típica, um cliente SMB e um servidor SMB são configurados usando um único adaptador de rede Ethernet de 10 gigabits (10 GbE). Quando o SMB é implantado sem SMB Multichannel, e se houver apenas uma sessão SMB estabelecida, o SMB cria uma única conexão TCP/IP. Com apenas um único núcleo de CPU, essa configuração inerentemente leva ao congestionamento, especialmente quando muitas pequenas operações de E/S são executadas. Portanto, o potencial para um gargalo de desempenho é significativo.
A maioria dos adaptadores de rede atuais oferece um recurso chamado 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 pode ajudar. Quando você usa 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 operações de E/S pequenas forem necessárias.
Vários adaptadores de rede físicos
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 SMB Multichannel, e se houver apenas uma sessão SMB estabelecida, o SMB usa 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 atingir 2 gigabits por segundo (Gbps) quando você usa dois adaptadores de rede de 1 GbE. Há também um potencial de falha se o adaptador de rede selecionado estiver desconectado ou desativado.
Quando o SMB é implantado com 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 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 os núcleos da CPU e um melhor uso da largura de banda disponível. O agrupamento NIC continua a oferecer o recurso 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, porque 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 o tráfego do Storage Spaces Direct, como às vezes é feito com o Azure Stack HCI, agrupar esses adaptadores de rede de armazenamento é estritamente opcional — não oferece benefícios ou desvantagens significativas.
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 capacidade RDMA do adaptador de rede.
Adaptadores de rede compatíveis com RDMA único ou múltiplo
SMB Multichannel deteta os recursos RDMA de adaptadores de rede, o que habilita o recurso SMB Direct chamado SMB Direct sobre RDMA. Sem o SMB Multichannel, o SMB usa conexões TCP/IP regulares com os adaptadores de rede compatíveis com RDMA, onde 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 SMB Multichannel, o SMB deteta a capacidade 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 oferecidas 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 do protocolo original não é mais usada. No entanto, essa conexão é mantida no caso de uma conexão RDMA diferente falhar.
Multicanal SMB, adaptadores de rede compatíveis com RDMA e compatibilidade com agrupamento NIC
A tabela a seguir resume os diferentes recursos disponíveis quando você combina SMB Multichannel, RDMA (SMB Direct) 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 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 o 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 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 na CPU.
Como 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, porque desabilita a capacidade RDMA do adaptador de rede.
Exemplos de configurações sem SMB Multichannel
Se você planeja usar um único adaptador de rede sem RSS, você não se beneficia de várias conexões de rede e, portanto, SMB Multichannel não é usado. Além disso, se você planeja usar adaptadores de rede de velocidades diferentes, 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) e têm a mesma velocidade são usados simultaneamente pelo SMB Multichannel. Os adaptadores de rede mais lentos estão ociosos.
Desativar SMB Multichannel
Normalmente, não é necessário desativar o SMB Multichannel. No entanto, se você quiser desabilitar o SMB Multichannel, por exemplo, em um ambiente de teste, use os seguintes procedimentos do Windows PowerShell.
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
Nota
A desativação do SMB Multichannel no cliente ou no servidor impede que ambos os sistemas o utilizem.
Reativar o SMB Multichannel
Se você desativou o SMB Multichannel e deseja reativá-lo, use os procedimentos a seguir.
Para reativar o SMB Multichannel no lado do servidor, use o seguinte cmdlet:
Set-SmbServerConfiguration -EnableMultiChannel $true
Para reativar o SMB Multichannel no lado do cliente, use o seguinte cmdlet:
Set-SmbClientConfiguration -EnableMultiChannel $true
Nota
Você deve reativar o SMB Multichannel no cliente e no servidor para começar a usá-lo novamente.
Teste SMB Multicanal
Esta seção descreve alguns cenários para testar o SMB Multichannel, que inclui comparar uma cópia de arquivo com e sem SMB Multichannel e intencionalmente fazer com que um adaptador de rede falhe durante uma operação de cópia de arquivo.
Compare uma cópia de arquivo com e sem SMB Multichannel
Para medir a taxa de transferência aumentada fornecida pelo SMB Multichannel, execute os seguintes testes. Reinicie o servidor e o cliente antes de cada teste para garantir que eles operem em condições semelhantes.
Configure o SMB Multichannel usando uma das configurações descritas anteriormente.
Meça a quantidade de tempo que leva para executar uma operação de cópia de arquivo de longa execução usando SMB Multichannel.
Desative o SMB Multichannel. Para obter instruções, consulte Desativar SMB Multichannel.
Meça a quantidade de tempo que leva para executar a mesma cópia de arquivo sem SMB Multichannel.
Reative o SMB Multichannel. Para obter instruções, consulte Reativar SMB Multichannel.
Compare os dois resultados.
Importante
Para evitar o impacto no desempenho do cache, primeiro copie uma grande quantidade de dados que exceda 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 aquecimento. Temporize apenas a operação de segunda cópia.
Fazer com que um dos adaptadores de rede falhe durante uma cópia de arquivo com SMB Multichannel
Para confirmar a capacidade de failover do SMB Multichannel:
Certifique-se de que o SMB Multichannel opera em uma configuração de vários adaptadores de rede.
Execute uma operação de cópia de arquivo de longa duração.
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 desativando um dos adaptadores de rede.
Confirme se a cópia do ficheiro continua a utilizar a placa de rede restante e funciona sem quaisquer erros de cópia do ficheiro.
Verifique se não há outras cargas de trabalho que usem 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.
Verifique se o SMB Multichannel funciona
Use o procedimento a seguir para verificar se o SMB Multichannel funciona.
Para verificar se a configuração do adaptador de rede está correta, digite o seguinte no Windows PowerShell no servidor SMB e no cliente SMB.
Get-NetAdapter Get-NetAdapterRSS Get-NetAdapterRDMA Get-NetAdapterHardwareInfo
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 estão identificados corretamente, faça o seguinte:
No cliente SMB, digite o seguinte no Windows PowerShell:
Get-SmbClientConfiguration | Select EnableMultichannel Get-SmbClientNetworkInterface
No servidor SMB, digite o seguinte no Windows PowerShell:
Get-SmbServerConfiguration | Select EnableMultichannel Get-SmbServerNetworkInterface
No cliente SMB, execute uma operação de cópia de arquivo de longa execução que cria uma sessão contínua com o servidor SMB. Enquanto a operação de cópia estiver em execução, digite o seguinte no 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óximos passos
Para obter informações relacionadas, consulte também: