SMB Direct
O Windows Server inclui um recurso chamado SMB (Server Message Block) Direct, que dá suporte ao uso de adaptadores de rede que têm a funcionalidade rdma (acesso remoto à memória direta). Os adaptadores de rede que possuem RDMA podem funcionar em velocidade máxima com menor latência sem comprometer o uso 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 é automaticamente configurado e habilitado por padrão no Windows Server 2012 e em iterações futuras.
Usar o SMB Direct fornece:
- Maior taxa de transferência: aplica a taxa de transferência total de redes de alta velocidade em que os adaptadores de rede coordenam a transferência de grandes quantidades de dados em velocidade de linha.
- Baixa latência: fornece respostas rápidas às solicitações de rede, o que faz com que o armazenamento remoto de arquivos pareça estar conectado diretamente ao armazenamento em blocos.
- Baixa utilização da CPU: Usa menos ciclos da CPU ao transferir dados pela rede, o que disponibiliza mais energia para os aplicativos para servidor.
Você pode usar o SMB Direct em um cluster de failover; entretanto, certifique-se de que as redes de cluster usadas para o acesso de clientes são adequadas para o SMB Direct. O cluster de failover dá suporte ao uso de várias redes para acesso de clientes, juntamente com adaptadores de rede compatíveis com RSS (Receive Side Scaling) e com RDMA.
Observação
Você pode usar o SMB Direct no sistema operacional de gerenciamento Hyper-V para dar suporte ao uso do Hyper-V no SMB, e para fornecer armazenamento para uma máquina virtual que use a pilha de armazenamento do Hyper-V. Porém, os adaptadores de rede compatíveis com RDMA não são diretamente expostos ao cliente Hyper-V. Mesmo que você conecte um adaptador de rede compatível com RDMA a um comutador virtual, os adaptadores de rede virtual criados pelo comutador não poderão dar suporte a RDMA.
Requisitos
Veja a seguir 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 posteriores:
- Windows 10 Enterprise e posterior.
- Windows 10 Education e posterior.
- Windows 10 Pro para Estações de Trabalho e posterior
- Windows 10 Pro 22H2 (instalação limpa, não atualizada de versões mais antigas) e posterior.
Observação
As famílias Windows 10 e Windows 11 são restritas apenas ao cliente e não podem atuar como um servidor SMB Direct.
SMB Multichannel
SMB Multichannel é o recurso responsável pela detecção de capacidades RDMA de adaptadores de rede para habilitar o SMB Direct. Sem o SMB Multichannel, o SMB usa o TCP/IP normal com os 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 detecta 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 oferecida por 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 SET (Switch Embedded Teaming) a partir do Windows Server 2016. Depois que for criada pelo menos uma conexão de rede RDMA, a conexão TCP/IP usada para a negociação de protocolo original não será mais usada. No entanto, a conexão TCP/IP será mantida, caso as conexões de rede RDMA falhem.
Desabilitar o SMB Multichannel também desabilita o SMB Direct. O SMB Multichannel detecta os recursos do adaptador de rede e determina se um adaptador de rede é compatível com RDMA. Os dispositivos cliente não poderão usar o SMB Direct se o SMB Multichannel estiver desabilitado.
Criptografia SMB
Desde o Windows Server 2022 e o Windows 11, o SMB Direct agora dá suporte a criptografia. Anteriormente, habilitar a criptografia SMB desabilitava o posicionamento direto de dados, tornando o desempenho 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 a privacidade de pacote protegido AES-128 e AES-256. Para obter mais informações sobre como configurar a criptografia SMB, consulte Aprimoramentos de segurança do SMB.
Além disso, os clusters de failover do Windows Server agora dão suporte ao controle granular da criptografia de comunicações de armazenamento dentro dos nós para CSV (Volumes Compartilhados Clusterizados) e a SBL (Camada de Barramento do Armazenamento). Isso significa que, ao usar o Espaços de Armazenamento Diretos e o SMB Direct, você pode optar por 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 detecta e usa automaticamente várias conexões de rede quando uma configuração apropriada é identificada. Como o SMB Direct está habilitado por padrão, uma vez desabilitado, ele precisa ser habilitado 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 desabilitar o SMB Direct, digite:
Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect
Para desabilitar o SMB Multichannel no lado do servidor, digite:
Set-SmbServerConfiguration -EnableMultiChannel $false
Para desativar o SMB Multichannel no lado do servidor, digite:
Set-SmbClientConfiguration -EnableMultiChannel $false
Para desabilitar o RDMA para uma interface específica, digite:
Disable-NetAdapterRdma <name>
Para desabilitar 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 do Windows Server a 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 o 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 do teste, verifique se o adaptador de rede dá 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 com capacidade para RDMA, execute as seguintes ações:
- Desabilite o RDMA no adaptador de rede, consulte Desabilitando e habilitando recursos do SMB Direct.
- Meça o tempo necessário para executar uma cópia de um arquivo grande sem usar o SMB Direct.
- Reabilite o RDMA no adaptador de rede, execute a mesma cópia de arquivo e compare os dois resultados.
- Para evitar o impacto do cache, execute as seguintes ações:
- Copie uma grande quantidade de dados (mais dados do que a memória é capaz de tratar).
- Copie os dados duas vezes, com a primeira cópia como um treino e depois medindo o tempo da segunda cópia.
- Reinicie o servidor e o cliente antes de cada teste para garantir que eles estejam operando 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:
- Selecione Iniciar, digite perfmon, clique Enter.
- No painel esquerdo, em Ferramentas de Monitoramento> selecione Monitor de Desempenho.
- No painel direito, selecione o ícone verde "+" para adicionar um novo contador.
- Na caixa de diálogo Adicionar Contadores, expanda Conexão Direta SMB.
- Selecione Leitura de Bytes RDMA por segundo e Gravação de Bytes RDMA por segundo, selecione Adicionare selecione OK.
Capacidade de failover do SMB Direct
Faça assim para confirmar a capacidade de failover do SMB Direct:
- Verifique se o SMB Direct está funcionando em uma configuração de vários adaptadores de rede.
- Execute a cópia de um arquivo grande. Durante o processo de cópia, simule uma falha de um dos caminhos de rede desconectando um dos cabos ou desabilitando um dos adaptadores de rede.
- Confirme se a cópia do arquivo continua usando um dos adaptadores de rede restantes e se não há erros de cópia do arquivo.
Dica
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.