Partilhar via


SMB Direto

O Windows Server inclui um recurso chamado SMB (Server Message Block) Direct, que oferece suporte ao uso de adaptadores de rede com capacidade RDMA (Acesso Remoto Direto à Memória). Os adaptadores de rede com RDMA podem funcionar a toda velocidade com latência mais baixa sem comprometer a utilização da CPU. Para cargas de trabalho como Hyper-V ou Microsoft SQL Server, esse recurso permite que um servidor de arquivos remoto se assemelhe ao armazenamento local. O SMB Direct é configurado e habilitado automaticamente por padrão no Windows Server 2012 e em iterações futuras.

O uso do SMB Direct oferece:

  • Maior taxa de transferência: aplica a taxa de transferência total de redes de alta velocidade onde os adaptadores de rede coordenam a transferência de grandes quantidades de dados na velocidade da linha.
  • Baixa latência: Fornece respostas rápidas a solicitações de rede, o que faz com que o armazenamento remoto de arquivos pareça um armazenamento em bloco conectado diretamente.
  • Baixa utilização da CPU: usa menos ciclos de CPU ao transferir dados pela rede, o que deixa mais energia disponível para aplicativos de servidor.

Você pode usar o SMB Direct em um cluster de failover; no entanto, você precisa certificar-se de que as redes de cluster usadas para acesso de cliente são adequadas para SMB Direct. O Cluster de Failover oferece suporte ao uso de várias redes para acesso ao cliente, juntamente com adaptadores de rede capazes de RSS (Receive Side Scaling) e RDMA.

Note

Você pode usar o SMB Direct no sistema operativo de gestão de Hyper-V para apoiar o uso de Hyper-V via SMB e para proporcionar armazenamento a uma máquina virtual que utiliza a pilha de armazenamento Hyper-V. No entanto, os adaptadores de rede compatíveis com RDMA não são expostos diretamente a um cliente Hyper-V. Mesmo se você conectar um adaptador de rede compatível com RDMA a um comutador virtual, os adaptadores de rede virtual criados pelo comutador não podem suportar RDMA.

Requirements

Os seguintes são os requisitos do SMB Direct:

  • Um ou mais adaptadores de rede com capacidade RDMA.
  • Pelo menos dois computadores executando um ou mais dos seguintes sistemas operacionais:
    • Windows Server 2012 e posterior.
    • Windows 10 Enterprise e posterior.
    • Windows 10 Education e posterior.
    • Windows 10 Pro para Workstations e versões posteriores
    • Windows 10 Pro 22H2 (instalação limpa, não atualizada de versões mais antigas) e posterior.

Note

As famílias Windows 10 e Windows 11 estão restritas apenas ao cliente e não podem atuar como um servidor SMB Direct.

SMB Multicanal

SMB Multichannel é o recurso responsável por detetar os recursos RDMA de adaptadores de rede para habilitar o SMB Direct. Sem o SMB Multichannel, o SMB utiliza o TCP/IP convencional com adaptadores de rede compatíveis com RDMA (todos os adaptadores de rede fornecem uma pilha de TCP/IP juntamente com a nova pilha RDMA).

Com o SMB Multichannel, o SMB deteta se um adaptador de rede tem capacidade RDMA e cria várias conexões RDMA para essa única sessão (duas por interface). Esse recurso permite que o SMB use 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 se você estiver usando várias interfaces RDMA.

Você pode agrupar adaptadores de rede compatíveis com RDMA usando o Switch Embedded Teaming (SET) a partir do Windows Server 2016. Depois que pelo menos uma conexão de rede RDMA é criada, a conexão TCP/IP usada para a negociação do protocolo original não é mais usada. No entanto, a conexão TCP/IP é mantida caso as conexões de rede RDMA falhem.

A desativação do SMB Multichannel também desativa o SMB Direct. O SMB Multichannel deteta os recursos do adaptador de rede e determina se um adaptador de rede é compatível com RDMA. Os dispositivos cliente não podem usar o SMB Direct se o SMB Multichannel estiver desativado.

Encriptação SMB

A partir do Windows Server 2022 e do Windows 11, o SMB Direct agora oferece suporte à criptografia. Anteriormente, a ativação da criptografia SMB desativava o posicionamento direto dos dados, tornando o desempenho do RDMA tão lento quanto o TCP. Agora, os dados são criptografados antes do posicionamento, levando a uma degradação de desempenho relativamente pequena ao adicionar privacidade de pacotes protegida AES-128 e AES-256. Para obter mais informações sobre como configurar a criptografia SMB, consulte Aprimoramentos de segurança SMB.

Além disso, os clusters de failover do Windows Server suportam agora o controlo granular da encriptação das comunicações de armazenamento intra-nó para os Volumes Compartilhados de Cluster (CSV) e a camada de barramento de armazenamento (SBL). Isso significa que, ao usar o Storage Spaces Direct e o SMB Direct, você pode decidir criptografar as comunicações leste-oeste dentro do próprio cluster para maior segurança.

Desativando e habilitando recursos do SMB Direct

O cliente SMB deteta e usa automaticamente várias conexões de rede se uma configuração apropriada for identificada. Como o SMB Direct está habilitado por padrão, uma vez desativado, ele precisa ser reativado manualmente sempre que necessário.

Normalmente, você não precisa desabilitar o SMB Direct, no entanto, você pode desabilitá-lo junto com seus recursos, executando os seguintes comandos do Windows PowerShell.

Para desativar o SMB Direct, digite:

Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect

Para desativar o SMB Multichannel no servidor, digite:

Set-SmbServerConfiguration -EnableMultiChannel $false

Para desativar o SMB Multichannel no lado do cliente, digite:

Set-SmbClientConfiguration -EnableMultiChannel $false

Para desativar o RDMA para uma interface específica, digite:

Disable-NetAdapterRdma <name>

Para desativar o RDMA para todas as interfaces, digite:

Set-NetOffloadGlobalSetting -NetworkDirect Disabled

Quando você desabilita o RDMA no cliente ou no servidor, os sistemas não podem usá-lo. Network Direct é o nome interno do suporte básico de rede do Windows Server para interfaces RDMA.

Para verificar para qual estado de operabilidade o SMB Direct está configurado no momento, execute o seguinte cmdlet:

Get-WindowsOptionalFeature -Online -FeatureName SMBDirect

Testando SMB Direct

Você pode testar o desempenho do SMB Direct medindo a taxa de transferência ao executar uma cópia de arquivo grande. Antes de testar, verifique se o adaptador de rede oferece suporte a RDMA usando o PowerShell.

No lado do servidor, digite:

Get-SmbServerNetworkInterface

No lado do cliente, digite:

Get-SmbClientNetworkInterface

Depois que o adaptador de rede for verificado como compatível com RDMA, execute as seguintes ações:

  1. Desative o RDMA no adaptador de rede, consulte Desabilitando e habilitando recursos do SMB Direct.
  2. Meça o tempo necessário para executar uma cópia de arquivo grande sem usar o SMB Direct.
  3. Reative o RDMA no adaptador de rede, execute a mesma cópia de arquivo e compare os dois resultados.
  4. Para evitar o impacto do cache, execute as seguintes ações:
    1. Copie uma grande quantidade de dados (mais dados do que a memória é capaz de manipular).
    2. Copie os dados duas vezes, com a primeira cópia como prática e, em seguida, temporizando a segunda cópia.
    3. Reinicie o servidor e o cliente antes de cada teste para garantir que eles operem em condições semelhantes.

Além disso, você pode observar os contadores de desempenho durante o teste usando o mesmo cenário utilizando a ferramenta Monitor de desempenho executando as seguintes etapas:

  1. Selecione Iniciar, digite perfmon, pressione Enter.
  2. No painel esquerdo, em Ferramentas >de Monitoramento, selecione Monitor de Desempenho.
  3. No painel direito, selecione o ícone verde "+" para adicionar um novo contador.
  4. Na caixa de diálogo Adicionar Contadores , expanda Conexão Direta SMB.
  5. Selecione Bytes RDMA Lidos/seg e Bytes RDMA Escritos/seg, selecione Adicionar, e depois selecione OK.

Capacidade de failover do SMB Direct

Veja como confirmar o recurso de failover do SMB Direct:

  1. Verifique se o SMB Direct está funcionando em uma configuração de vários adaptadores de rede.
  2. Faça uma cópia de um ficheiro grande. Durante o processo de cópia, simule uma falha de um dos caminhos de rede desconectando um dos cabos ou desativando um dos adaptadores de rede.
  3. Confirme se a cópia do arquivo continua usando um dos adaptadores de rede restantes e se não há erros de cópia de arquivo.

Tip

Para evitar falhas de uma carga de trabalho que não usa o SMB Direct, verifique se não há outras cargas de trabalho usando o caminho de rede desconectado.

Consulte também