Compartir a través de


SMB directo

Windows Server incluye una característica llamada SMB directo, que admite el uso de adaptadores de red que cuenten con la funcionalidad Acceso directo a memoria remota (RDMA). Los adaptadores de red que tienen RDMA pueden funcionar a toda velocidad con menor latencia sin poner en peligro el uso de la CPU. Para las cargas de trabajo como Hyper-V o Microsoft SQL Server, esto permite que un servidor de archivo remoto se parezca al almacenamiento local. SMB direct se configura y habilita automáticamente de forma predeterminada en Windows Server 2012 y en futuras iteraciones.

El uso de SMB directo proporciona:

  • Aumento de rendimiento: aprovecha todo el rendimiento de las redes de alta velocidad, donde los adaptadores de red coordinan la transferencia de grandes cantidades de datos a velocidad de línea.
  • Baja latencia: proporciona respuestas rápidas a las solicitudes de red, lo que hace que parezca que el almacenamiento de archivos remoto es en realidad almacenamiento en bloque conectado directamente.
  • Uso reducido de la CPU: usa menos ciclos de CPU al transferir datos por la red, lo que deja más potencia disponible a las aplicaciones de servidor.

Puede usar SMB directo en un clúster de conmutación por error; sin embargo, necesita asegurarse de que las redes utilizadas para el acceso del cliente sean las adecuadas para SMB directo. La conmutación por error admite el uso de varias redes para acceso de cliente, junto con los adaptadores de red que admiten RSS (Ajuste de escala en lado de recepción) y RDMA.

Nota:

Puede usar SMB directo en el sistema operativo de administración de Hyper-V de manera que admita el uso de Hyper-V a través de SMB y para proporcionar almacenamiento en una máquina virtual que use la pila de almacenamiento de Hyper-V. Sin embargo, los adaptadores de red compatibles con RDMA no están directamente expuestos a un cliente Hyper-V. Si conecta un adaptador de red compatible con RDMA a un conmutador virtual, los adaptadores de redes virtuales del conmutador no serán compatibles con RDMA.

Requisitos

SMB directo tiene los siguientes requisitos:

  • Uno o más adaptadores de red con la funcionalidad RDMA.
  • Al menos dos equipos que ejecutan uno o varios de los siguientes sistemas operativos:
    • Windows Server 2012 y versiones posteriores.
    • Windows 10 Enterprise y versiones posteriores.
    • Windows 10 Education y versiones posteriores.
    • Windows 10 Pro for Workstations y versiones posteriores
    • Windows 10 Pro 22H2 (mediante instalación limpia, no actualizado de versiones anteriores) y versiones posteriores.

Nota:

La familia Windows 10 y Windows 11 está restringida a solo cliente y no puede actuar como servidor SMB directo.

SMB multicanal

SMB multicanal es la característica responsable de detectar las funcionalidades RDMA de los adaptadores de red para habilitar SMB directo. Sin SMB multicanal, SMB usa TCP/IP regular con los adaptadores de red aptos para RDMA (todos los adaptadores de red proporcionan una pila TCP/IP junto con la nueva pila RDMA).

Con SMB multicanal, SMB detecta si un adaptador de red tiene una funcionalidad RDMA y crea varias conexiones RDMA para esa sola sesión (dos por interfaz). Esto permite que SMB utilice el alto rendimiento, la baja latencia y el uso reducido de CPU que ofrecen los adaptadores de red compatibles con RDMA. También ofrece tolerancia a errores si usa varias interfaces de RDMA.

Puede agrupar adaptadores de red compatibles con RDMA mediante Switch Embedded Teaming (SET) a partir de Windows Server 2016. Después de crear al menos una conexión de red RDMA, ya no se utiliza la conexión TCP/IP que se usó para la negociación del protocolo original. Sin embargo, se conserva la conexión TCP/IP en caso de que falle la conexión de red RDMA.

Al deshabilitar SMB multicanal también se deshabilita SMB directo. Dado que SMB multicanal detecta funcionalidades de adaptadores de red y determina si un adaptador de red es compatible con RDMA, el cliente no puede usar SMB directo si SMB multicanal está deshabilitado.

Cifrado SMB

A partir de Windows Server 2022 y Windows 11, SMB directo ahora admite el cifrado. Anteriormente, al habilitar el cifrado SMB se deshabilitaba la colocación directa de datos, lo que hacía que el rendimiento de RDMA fuera igual de lento que TCP. Ahora los datos se cifran antes de la selección de ubicación, lo que provoca una degradación del rendimiento relativamente menor al agregar la privacidad de paquetes protegidos AES-128 y AES-256. Para obtener más información sobre cómo configurar el cifrado SMB, consulte Mejoras de seguridad de SMB.

Además, los clústeres de conmutación por error de Windows Server ahora admiten un control pormenorizado del cifrado de las comunicaciones de almacenamiento dentro del nodo para volúmenes compartidos de clúster (CSV) y la capa de bus de almacenamiento (SBL). Esto significa que, al usar Espacios de almacenamiento directo y SMB directo, puede optar por cifrar las comunicaciones horizontales de derecha a izquierda dentro del propio clúster para obtener una mayor seguridad.

Deshabilitar y habilitar características de SMB directo

El cliente SMB detecta y usa automáticamente varias conexiones de red si se identifica una configuración apropiada. Como SMB directo está habilitado de forma predeterminada, una vez deshabilitado, debe volver a habilitarse manualmente siempre que sea necesario.

Normalmente, no es necesario deshabilitar SMB directo; sin embargo, puede deshabilitarlo junto con sus características mediante la ejecución de los siguientes comandos de Windows PowerShell.

Para deshabilitar SMB directo, escriba:

Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect

Para deshabilitar SMB multicanal en el lado servidor, escriba:

Set-SmbServerConfiguration -EnableMultiChannel $false

Para deshabilitar SMB multicanal en el lado cliente, escriba:

Set-SmbClientConfiguration -EnableMultiChannel $false

Para deshabilitar RDMA para una interfaz específica, escriba:

Disable-NetAdapterRdma <name>

Para deshabilitar RDMA para todas las interfaces, escriba:

Set-NetOffloadGlobalSetting -NetworkDirect Disabled

Si deshabilita RDMA en el cliente o en el servidor, los sistemas no pueden usarlo. Network Direct es el nombre interno de la compatibilidad básica con redes de Windows Server para las interfaces RDMA.

Para comprobar en qué estado de operabilidad está configurado SMB directo actualmente, ejecute el siguiente cmdlet:

Get-WindowsOptionalFeature -Online -FeatureName SMBDirect

Probar SMB directo

Puede probar el rendimiento de SMB directo midiendo el rendimiento al ejecutar una copia de archivos grande. Antes de realizar pruebas, compruebe que el adaptador de red admite RDMA mediante PowerShell.

En el lado servidor, escriba:

Get-SmbServerNetworkInterface

En el lado cliente, escriba:

Get-SmbClientNetworkInterface

Una vez comprobado el adaptador de red compatible con RDMA, realice la prueba siguiente:

  1. Deshabilite RDMA en el adaptador de red, consulte Deshabilitar y habilitar características de SMB directo.
  2. Mida la cantidad de tiempo necesaria para ejecutar una copia grande de archivos sin utilizar SMB directo.
  3. Vuelva a habilitar RDMA en el adaptador de red, realice la misma copia de archivos y, a continuación, compare ambos resultados.
  4. Para evitar el impacto del almacenamiento en caché, realice lo siguiente:
    1. Copie una cantidad grande de datos (más datos de los que la memoria es capaz de manejar).
    2. Copie los datos dos veces, realice la primera copia como práctica y después cronometre la segunda copia.
    3. Reinicie ambos servidores y el cliente antes de cada prueba para asegurarse de que funcionen bajo condiciones similares.

Además, puede observar los contadores de rendimiento durante las pruebas mediante el mismo escenario con la herramienta Monitor de rendimiento realizando lo siguiente:

  1. Seleccione Inicio, escriba perfmon y presione Entrar.
  2. En el panel izquierdo, en Herramientas de supervisión>, seleccione Monitor de rendimiento.
  3. En el panel derecho, seleccione el icono verde "+" para agregar un nuevo contador.
  4. En el cuadro de diálogo Agregar contadores, expanda Conexión de SMB directo.
  5. Seleccione Bytes RDMA leídos por segundo y Bytes RDMA escritos por segundo, seleccione Agregar y, después, Aceptar.

Funcionalidad de conmutación por error de SMB directo

A continuación se explica cómo confirmar la funcionalidad de conmutación por error de SMB directo:

  1. Asegúrese de que SMB directo funcione en una configuración de varios adaptadores de red.
  2. Ejecute una copia grande de archivos. Durante el proceso de copia, simule un error de una de las rutas de red al desconectar uno de los cables o al deshabilitar uno de los adaptadores de red.
  3. Confirme que la copia de archivos continúe usando uno de los adaptadores de red restantes y que no haya ningún error en la copia de archivos.

Sugerencia

Para evitar errores en la carga de trabajo que no usa SMB directo, asegúrese de que no haya otras cargas de trabajo que usen la ruta de red desconectada.

Referencias adicionales