Compartir a través de


Configuración de un DNN para la instancia de clúster de conmutación por error

Se aplica a:SQL Server en máquinas virtuales de Azure

En Azure Virtual Machines (VM), el nombre de red distribuido (DNN) enruta el tráfico al recurso agrupado adecuado. Proporciona una manera más fácil de conectarse a la instancia del clúster de conmutación por error de SQL Server que el nombre de red virtual (VNN), sin necesidad de una instancia de Azure Load Balancer.

En este artículo aprenderá a configurar un recurso de DNN para enrutar el tráfico a su instancia de clúster de conmutación por error con VM con SQL Server en Azure para lograr una alta disponibilidad y recuperación ante desastres (HADR).

Para una opción de conectividad alternativa, considere en su lugar un nombre de red virtual (VNN) y Azure Load Balancer .

Información general

El nombre de red distribuida (DNN) reemplaza el nombre de red virtual (VNN) como punto de conexión cuando se usa con una instancia de clúster de conmutación por error Always On en VM con SQL Server. La configuración de un DNN elimina la necesidad de que Azure Load Balancer enrute el tráfico al VNN, simplifica la implementación, el mantenimiento y mejora la conmutación por error.

Con una implementación de FCI, el VNN sigue existiendo, pero el cliente se conecta al nombre DNS del DNN en lugar de al nombre del VNN.

Sugerencia

Simplifique la implementación y elimine la necesidad de una instancia de Azure Load Balancer o un nombre de red distribuida (DNN) para la instancia de clúster de conmutación por error mediante la creación de las máquinas virtuales (VM) de SQL Server en varias subredes dentro de la misma red virtual de Azure.

Requisitos previos

Antes de completar los pasos de este artículo, ya debe tener:

Nota:

Cada grupo de disponibilidad o instancia de clúster de conmutación por error del mismo clúster necesita su propio punto de conexión independiente, ya sea un agente de escucha de VNN o un agente de escucha de DNN.

Creación de un recurso DNN

El recurso DNN se crea en el mismo grupo de clúster que la FCI de SQL Server. Use PowerShell para crear el recurso DNN en el grupo de clúster de la FCI.

El siguiente comando de PowerShell agrega un recurso DNN al grupo de clústeres de la instancia de clúster de conmutación por error (FCI) de SQL Server con el nombre de recurso <dnnResourceName>. El nombre del recurso se utiliza para identificarlo de forma única. Use uno que le resulte útil y que sea único en todo el clúster. El tipo de recurso debe ser Distributed Network Name.

El valor -Group debe ser el nombre del grupo de clústeres que corresponda a la FCI de SQL Server en el que desee agregar el nombre de red distribuida. En el caso de una instancia predeterminada, el formato típico es SQL Server (MSSQLSERVER).

Add-ClusterResource -Name <dnnResourceName> `
-ResourceType "Distributed Network Name" -Group "<WSFC role of SQL Server instance>"

Por ejemplo, para crear el recurso DNN dnn-demo para una FCI de SQL Server predeterminado, use el siguiente comando de PowerShell:

Add-ClusterResource -Name dnn-demo `
-ResourceType "Distributed Network Name" -Group "SQL Server (MSSQLSERVER)"

Establecimiento del nombre DNS del nombre de red distribuida del clúster

Establezca el nombre del sistema de nombres de dominio (DNS) para el recurso DNN del clúster. Después, el clúster usa este valor para enrutar el tráfico al nodo que hospeda actualmente la FCI de SQL Server.

Los clientes utilizan el nombre DNS para conectarse a la FCI de SQL Server. Puede elegir un valor único. O bien, si ya tiene una FCI existente y no desea actualizar las cadenas de conexión de cliente. Puede configurar el DNN para usar el VNN actual que ya usan los clientes. Para ello, debe cambiar el nombre de red virtual antes de establecer el nombre de red distribuida en DNS.

Use este comando para establecer el nombre DNS para el nombre de red distribuida:

Get-ClusterResource -Name <dnnResourceName> | `
Set-ClusterParameter -Name DnsName -Value <DNSName>

El valor DNSName es lo que los clientes usan para conectarse a la FCI de SQL Server. Por ejemplo, para que los clientes se conecten a FCIDNN, use el siguiente comando de PowerShell:

Get-ClusterResource -Name dnn-demo | `
Set-ClusterParameter -Name DnsName -Value FCIDNN

Ahora, los clientes deben introducir FCIDNN en su cadena de conexión al conectar a la FCI de SQL Server.

Advertencia

No elimine el nombre de red virtual (VNN) actual, ya que es un componente necesario de la infraestructura de FCI.

Cambio del nombre de red virtual

Si tiene un nombre de red virtual y desea que los clientes sigan usando este valor para conectarse a la FCI de SQL Server, debe cambiar el nombre de red virtual actual por un valor de marcador de posición. Después de cambiar el nombre de red virtual actual, puede establecer ese nombre como nombre DNS para el nombre de red distribuida. Si no es necesario usar el VNN actual para su empresa, omita esta sección.

Al cambiar el nombre de red virtual, se aplican algunas restricciones. Para más información, consulte Cambio del nombre de una FCI.

Después de cambiar el nombre de VNN, configure el nombre DNS del DNN del clúster.

Establecimiento del recurso DNN en línea

Después de que el recurso de DNN esté adecuadamente nombrado y establezca el valor DNS en el clúster, use PowerShell para poner en línea el recurso DNN en el clúster.

Start-ClusterResource -Name <dnnResourceName>

Por ejemplo, para iniciar el recurso DNN dnn-demo, use el siguiente comando de PowerShell:

Start-ClusterResource -Name dnn-demo

Configuración de propietarios posibles

De forma predeterminada, el clúster enlaza el nombre DNS del nombre de red distribuida con todos los nodos del clúster. Sin embargo, los nodos del clúster que no forman parte de la FCI de SQL Server deben excluirse de la lista de posibles propietarios de DNN.

Para actualizar los propietarios posibles, siga estos pasos:

  1. Vaya al recurso DNN en el Administrador de clústeres de conmutación por error.

  2. Haga clic con el botón derecho en el recurso DNN y seleccione Propiedades.

    Menú contextual del recurso DNN, con el comando Propiedades resaltado.

  3. Desactive la casilla de los nodos que no participen en la instancia del clúster de conmutación por error. La lista de propietarios posibles del recurso DNN debe coincidir con la del recurso de la instancia de SQL Server. Por ejemplo, suponiendo que Data3 no participa en la FCI, la imagen siguiente es un ejemplo de cómo quitar Data3 de la lista de posibles propietarios para el recurso DNN:

    Desactivación de la casilla situada junto a los nodos que no participen en la FCI para los propietarios posibles del recurso DNN

  4. Seleccione Aceptar para guardar la configuración.

Reinicio de la instancia de SQL Server

Use el Administrador de clústeres de conmutación por error para reiniciar la instancia de SQL Server. Siga estos pasos:

  1. Vaya a su recurso de SQL Server en el Administrador de clústeres de conmutación por error.
  2. Haga clic con el botón derecho en el recurso de SQL Server y desconéctelo.
  3. Espere hasta que todos los recursos asociados estén sin conexión. A continuación, haga clic con el botón derecho en el recurso de SQL Server y vuelva a ponerlo en línea.

Actualización de la cadena de conexión

Actualice la cadena de conexión de cualquier aplicación que se conecte a un DNN de la FCI de SQL Server e incluya MultiSubnetFailover=True en la cadena de conexión. Si el cliente no admite el parámetro MultiSubnetFailover, no es compatible con un DNN.

A continuación, se muestra una cadena de conexión de ejemplo para un DNN de la FCI de SQL con el nombre DNS de FCIDNN:

Data Source=FCIDNN, MultiSubnetFailover=True

Además, si el DNN no usa el VNN original, los clientes SQL que se conectan a la FCI de SQL Server deben actualizar su cadena de conexión al nombre DNS de DNN. Para evitar este requisito, puede actualizar el valor del nombre DNS para que sea el nombre de red virtual. Pero primero debe reemplazar el VNN existente por un marcador de posición .

Conmutación por error de prueba

Pruebe la conmutación por error del recurso en clúster para validar la funcionalidad del clúster.

Para probar la conmutación por error, siga estos pasos:

  1. Conéctese a uno de los nodos del clúster de SQL Server mediante Bastion.
  2. Abra el Administrador de clústeres de conmutación por error. Seleccione Roles. Observe qué nodo posee el rol de FCI de SQL Server.
  3. Haga clic con el botón derecho en el rol de FCI de SQL Server.
  4. Seleccione Mover y, después, seleccione Mejor nodo posible.

El Administrador de clústeres de conmutación por error muestra el rol y sus recursos pierden su conexión. Después, los recursos se mueven y vuelven a conectarse en el otro nodo.

Comprobación de la conectividad

Para probar la conectividad, inicie sesión en otra máquina virtual de la misma red virtual. Abra SQL Server Management Studio y conéctese al nombre de la FCI de SQL Server con el nombre DNS de DNN.

Instale la versión más reciente de SQL Server Management Studio (SSMS).

Evitar conflictos de IP

Puede realizar este paso opcional para evitar que la dirección IP virtual (VIP) usada por el recurso de FCI se asigne a otro recurso de Azure.

Aunque los clientes ahora usan el DNN para conectarse a la FCI de SQL Server, no puede eliminar el nombre de red virtual (VNN) y la dirección IP virtual porque son componentes necesarios de la infraestructura de FCI. Sin embargo, ya no hay un equilibrador de carga que reserve la dirección IP virtual en Azure. Por lo tanto, existe el riesgo de que otro recurso de la red virtual pueda asignarse la misma dirección IP que la dirección IP virtual usada por la FCI. Esta situación puede provocar un problema de conflicto de IP duplicado.

Para reservar la dirección IP, configure una dirección APIPA o un adaptador de red dedicado.

Dirección APIPA

Para evitar el uso de direcciones IP duplicadas, configure una dirección APIPA (también conocida como dirección local de vínculo). Para ello, ejecute el siguiente comando:

Get-ClusterResource "virtual IP address" | Set-ClusterParameter
    –Multiple @{"Address"="169.254.1.1";"SubnetMask"="255.255.0.0";"OverrideAddressMatch"=1;"EnableDhcp"=0}

En este comando, "dirección IP virtual" es el nombre del recurso de dirección VIP en clúster y "169.254.1.1" es la dirección APIPA elegida para la dirección VIP. Elija la dirección que mejor se adapte a su negocio. Establezca OverrideAddressMatch=1 para permitir que la dirección IP esté en cualquier red, incluido el espacio de direcciones APIPA.

Adaptador de red dedicado

Como alternativa, puede configurar un adaptador de red en Azure para reservar la dirección IP que usa el recurso de dirección IP virtual. Sin embargo, esta configuración consume la dirección en el espacio de direcciones de subred y requiere la sobrecarga adicional de asegurarse de que el adaptador de red no se usa para ningún otro propósito.

Limitaciones

  • El cliente que se conecta al agente de escucha de DNN debe admitir el parámetro MultiSubnetFailover=True en la cadena de conexión.
  • Puede haber más consideraciones al trabajar con otras características de SQL Server y una FCI con un nombre de red distribuida. Para más información, consulte Interoperabilidad de FCI con DNN.