Tutorial: Configuración manual de un grupo de disponibilidad: máquinas virtuales con SQL Server en Azure
Se aplica a: SQL Server en máquina virtual de Azure
Sugerencia
Hay muchos métodos para implementar un grupo de disponibilidad. Simplifique la implementación y elimine la necesidad de un nombre de red distribuida (DNN) o un equilibrador de carga de Azure para el grupo de disponibilidad Always On mediante la creación de las máquinas virtuales (VM) de SQL Server en varias subredes dentro de la misma red virtual de Azure. Si ya ha creado el grupo de disponibilidad en una sola subred, puede migrarlo a un entorno de varias subredes.
En este tutorial se muestra cómo crear un grupo de disponibilidad Always On para SQL Server en máquinas virtuales de Azure dentro de una sola subred. En el tutorial se crea un grupo de disponibilidad con una réplica de base de datos en dos instancias de SQL Server.
En este artículo se configura manualmente el entorno del grupo de disponibilidad. También se pueden automatizar los pasos mediante Azure Portal, PowerShell o la CLI de Azure o bien las plantillas de inicio rápido de Azure.
Tiempo estimado: una vez que haya cumplido los requisitos previos, tardará en completar este tutorial aproximadamente 30 minutos.
Requisitos previos
En este tutorial se da por supuesto que tiene conocimientos básicos de los grupos de disponibilidad de Always On de SQL Server. Para más información, consulte el tema de introducción a los grupos de disponibilidad AlwaysOn de SQL Server.
Antes de comenzar con los procedimientos de este tutorial, debe completar los requisitos previos para crear grupos de disponibilidad Always On en máquinas virtuales de Azure. Si ya ha completado estos requisitos previos, puede ir a Creación del clúster.
En la tabla siguiente se resumen los requisitos previos que necesita para poder completar este tutorial:
Requisito | Descripción |
---|---|
Dos instancias de SQL Server | - En un conjunto de disponibilidad de Azure - En un solo dominio - Con los clústeres de conmutación por error instalados |
Windows Server | Recurso compartido de archivos para un testigo de clúster |
Cuenta de servicio de SQL Server | Cuenta de dominio |
Cuenta de servicio Agente SQL Server | Cuenta de dominio |
Puertos de firewall abiertos | - SQL Server: 1433 para una instancia predeterminada - Punto de conexión de creación de reflejo de la base de datos: 5022 o cualquier puerto disponible - Sondeo de estado de la dirección IP del equilibrador de carga de un grupo de disponibilidad: 59999 o cualquier puerto disponible - Sondeo de estado de la dirección IP del equilibrador de carga principal del clúster: 58888 o cualquier puerto disponible |
Clústeres de conmutación por error | Obligatorio para ambas instancias de SQL Server |
Cuenta de dominio de la instalación | - Administrador local en cada instancia de SQL Server - Miembro del rol fijo de servidor sysadmin para cada instancia de SQL Server |
Grupos de seguridad de red (NSG) | Si el entorno usa grupos de seguridad de red, asegúrese de que la configuración actual permite el tráfico de red a través de puertos descritos en Configuración del firewall. |
Creación del clúster
La primera tarea consiste en crear un clúster de conmutación por error de Windows Server con ambas VM con SQL Server y un servidor testigo:
Utilice el protocolo de escritorio remoto (RDP) para conectarse a la primera VM con SQL Server. Utilice una cuenta de dominio que sea administrador de ambas VM con SQL Server y el servidor testigo.
Sugerencia
En los requisitos previos, ha creado una cuenta llamada CORP\Install. Utilice esta cuenta.
En el panel Administrador del servidor, seleccione Herramientas y, después, Administrador de clústeres de conmutación por error.
En el panel izquierdo, haga clic con el botón derecho en Administrador de clústeres de conmutación por error y, a continuación, seleccione Crear clúster.
En el Asistente para crear clúster, cree un clúster de un solo nodo avanzando por las páginas con la configuración de la tabla siguiente:
Página Configuración Antes de comenzar Usar predeterminados. Seleccionar servidores Escriba el primer nombre de VM con SQL Server en Escriba un nombre de servidor y, a continuación, seleccione Agregar. Advertencia de validación Seleccione No. No necesito compatibilidad con Microsoft para este clúster y por tanto no deseo ejecutar las pruebas de validación. Continuar con la creación del clúster al hacer clic en Siguiente. . Punto de acceso para administrar el clúster En Nombre del clúster, escriba un nombre de clúster (por ejemplo, SQLAGCluster1). Confirmación Use los valores predeterminados, a menos que esté usando Espacios de almacenamiento.
Establecer la dirección IP del clúster de conmutación por error de Windows Server
Nota
En Windows Server 2019, el clúster crea un valor de nombre de servidor distribuido en lugar del valor de nombre de la red en clúster. Si usa Windows Server 2019, omita los pasos que hagan referencia al nombre principal del clúster en este tutorial. Puede crear un nombre de red en clúster mediante PowerShell. Para obtener más información, revise la entrada de blog Clúster de conmutación por error: objeto de red del clúster.
En Administrador de clústeres de conmutación por error, desplácese hacia abajo hasta Recursos principales de clúster y expanda los detalles del clúster. Los recursos Nombre y Dirección IP deben estar en el estado Error.
No se puede poner en conexión el recurso de dirección IP porque el clúster tiene asignada la misma dirección IP que la propia máquina. Es una dirección duplicada.
Haga clic con el botón derecho en el recurso Dirección IP erróneo y después seleccione Propiedades.
Seleccione Dirección IP estática. Especifique una dirección disponible de la misma subred que las máquinas virtuales.
En la sección Recursos principales de clúster, haga clic con el botón derecho en el nombre del clúster y seleccione Poner en línea. Espere hasta que los recursos estén en línea.
Cuando el recurso de nombre de clúster está en línea, actualiza el servidor del controlador de dominio con una nueva cuenta de equipo de Active Directory. Use esta cuenta de Active Directory para ejecutar más tarde el servicio de clúster del grupo de disponibilidad.
Agregue la otra instancia de SQL Server al clúster.
En el árbol del explorador, haga clic con el botón derecho en el clúster y seleccione Agregar nodo.
En el Asistente para agregar nodo, seleccione Siguiente.
En la página Seleccionar servidores, agregue la segunda VM con SQL Server. Escriba el nombre de la máquina virtual en Escriba el nombre del servidor y, a continuación, seleccione Agregar>siguiente.
En la página Advertencia de validación, seleccione No. (En un escenario de producción, debería realizar las pruebas de validación). A continuación, seleccione Siguiente.
En la página Confirmación, si usa Espacios de almacenamiento, desactive la casilla Agregar todo el almacenamiento apto al clúster.
Advertencia
Si no desactiva la opción Agregar todo el almacenamiento apto al clúster, Windows desasocia los discos virtuales durante el proceso de agrupación en clústeres. Como resultado, no aparecen en el Administrador de discos ni en el Explorador de objetos hasta que se quita el almacenamiento del clúster y se vuelve a asociar mediante PowerShell.
Seleccione Next (Siguiente).
Seleccione Finalizar.
El Administrador de clústeres de conmutación por error indica que el clúster tiene un nuevo nodo y lo muestra en el contenedor Nodos.
Cierre sesión en la sesión de escritorio remoto.
Adición de un recurso compartido de archivos para un cuórum de clúster
En este ejemplo, el clúster de Windows usa un recurso compartido de archivos para crear un cuórum de clúster. En este tutorial se usa un cuórum NodeAndFileShareMajority
. Para más información, consulte Configurar y administrar el cuórum.
Conéctese a la máquina virtual del servidor testigo del recurso compartido de archivos con una sesión de escritorio remoto.
En Administrador del servidor, seleccione Herramientas. Abra Administración de equipos.
Seleccione Carpetas compartidas.
Haga clic con el botón derecho en Recursos compartidos y, a continuación, seleccione Nuevo recurso compartido.
Use el Asistente para crear una carpeta compartida para crear un recurso compartido.
En la página Ruta de acceso de carpeta, seleccione Examinar. Busque o cree una ruta de acceso para la carpeta compartida y, a continuación, seleccione Siguiente.
En la página Nombre, descripción y configuración, compruebe el nombre del recurso compartido y la ruta de acceso. Seleccione Next (Siguiente).
En la página Permisos de la carpeta compartida, establezca Personalizar permisos. Seleccione Personalizada.
En el cuadro de diálogo Personalizar permisos, seleccione Agregar.
Asegúrese de que la cuenta utilizada para crear el clúster tiene control total.
Seleccione Aceptar.
En la página Permisos de la carpeta compartida, seleccione Finalizar. A continuación, seleccione Finalizar otra vez.
Cierre sesión en el servidor.
Configuración del cuórum de clúster
Nota
Según la configuración del grupo de disponibilidad, puede que sea necesario cambiar el voto de cuórum de un nodo que participa en el clúster de conmutación por error de Windows Server. Para obtener más información, consulte Configuración del cuórum de clúster para SQL Server en VM de Azure.
Conéctese al primer nodo de clúster mediante una sesión de escritorio remoto.
En el Administrador de clústeres de conmutación por error, haga clic con el botón derecho en el clúster, apunte a Más acciones y seleccione Configurar opciones de quórum de clúster.
En el Asistente para configurar el quórum de clúster, seleccione Siguiente.
En la página Seleccionar opción de configuración de quórum, elija Seleccionar el testigo de quórum y, a continuación, seleccione Siguiente.
En la página Seleccionar testigo de cuórum, elija Configurar un testigo de recurso compartido de archivos.
Sugerencia
Windows Server 2016 admite un testigo en la nube. Si elige este tipo de testigo, no necesita ningún testigo de recurso compartido de archivos. Para obtener más información, consulte Implementación de un testigo en la nube para un clúster de conmutación por error. Este tutorial usa un testigo de recurso compartido de archivos, que es compatible con los sistemas operativos anteriores.
En Configurar un testigo de recurso compartido de archivos, escriba la ruta de acceso para el recurso compartido que ha creado. Luego, seleccione Siguiente.
En la página Confirmación, compruebe la configuración. Luego, seleccione Siguiente.
Seleccione Finalizar.
Los recursos principales de clúster se configuran con un testigo de recurso compartido de archivos.
Habilitación de grupos de disponibilidad
A continuación, habilite los grupos de disponibilidad Always On. Complete estos pasos en ambas VM con SQL Server.
Desde la pantalla Inicio, abra el Administrador de configuración de SQL Server.
En el árbol del explorador, seleccione Servicios de SQL Server. A continuación, haga clic con el botón derecho en el servicio SQL Server (MSSQLSERVER) y seleccione Propiedades.
Seleccione la pestaña Alta disponibilidad de Always On y, luego, Habilitar los grupos de disponibilidad Always On.
Seleccione Aplicar. Seleccione Aceptar en el cuadro de diálogo emergente.
Reinicie el servicio SQL Server.
Habilite la característica FILESTREAM
Si no usa FILESTREAM para la base de datos en el grupo de disponibilidad, omita este paso y vaya al paso siguiente: Crear base de datos.
Si planea agregar una base de datos al grupo de disponibilidad que usa FILESTREAM, FILESTREAM debe habilitarse, ya que la característica está deshabilitada de manera predeterminada. Use el Administrador de configuración de SQL Server para habilitar la característica en ambas instancias de SQL Server.
Para habilitar la característica FILESTREAM, siga estos pasos:
Inicie el archivo RDP en la primera máquina virtual de SQL Server (por ejemplo, SQL-VM-1) con una cuenta de dominio que sea miembro del rol fijo de servidor sysadmin, como la cuenta de dominio CORP\Install creada en el documento de requisitos previos.
Desde la pantalla Inicio de una de las máquinas virtuales de SQL Server, inicie el Administrador de configuración de SQL Server.
En el árbol del explorador, resalte Servicios de SQL Server, haga clic con el botón derecho en el servicio SQL Server (MSSQLSERVER) y seleccione Propiedades.
Seleccione la pestaña FILESTREAM. Después, active la casilla para Habilitar FILESTREAM para acceso Transact-SQL:
Seleccione Aplicar. Seleccione Aceptar en el cuadro de diálogo emergente.
En SQL Server Management Studio, selecciona Nueva consulta para mostrar el Editor de Power Query.
En el Editor de consultas, escriba el siguiente código de Transact-SQL:
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
Seleccione Execute(Ejecutar).
Reinicie el servicio SQL Server.
Repita estos pasos para la otra instancia de SQL Server.
Creación de una base de datos en la primera instancia de SQL Server
- Abra el archivo RDP para la primera VM con SQL Server con una cuenta de dominio que sea miembro del rol fijo de servidor sysadmin.
- Abra SQL Server Management Studio (SSMS) y conéctese a la primera instancia de SQL Server.
- En el Explorador de objetos, haga clic con el botón derecho en Bases de datos y seleccione Nueva base de datos.
- En Nombre de la base de datos, escriba MyDB1 y, a continuación, seleccione Aceptar.
Creación de un recurso compartido de copia de seguridad
En la primera máquina virtual de SQL Server, en Administrador del servidor, seleccione Herramientas. Abra Administración de equipos.
Seleccione Carpetas compartidas.
Haga clic con el botón derecho en Recursos compartidos y, a continuación, seleccione Nuevo recurso compartido.
Use el Asistente para crear una carpeta compartida para crear un recurso compartido.
En la página Ruta de acceso de carpeta, seleccione Examinar. Busque o cree una ruta de acceso para la carpeta compartida de la copia de seguridad de la base de datos y, a continuación, seleccione Siguiente.
En la página Nombre, descripción y configuración, compruebe el nombre del recurso compartido y la ruta de acceso. Luego, seleccione Siguiente.
En la página Permisos de la carpeta compartida, establezca Personalizar permisos. A continuación, seleccione Personalizado.
En el cuadro de diálogo Personalizar permisos, seleccione Agregar.
Active Control total para conceder acceso total al recurso compartido a la cuenta de servicio de SQL Server (
Corp\SQLSvc
):Seleccione Aceptar.
En la página Permisos de la carpeta compartida, seleccione Finalizar. Seleccione Finalizar otra vez.
A continuación, haga una copia de seguridad completa de la base de datos.
Debe hacer una copia de seguridad de la nueva base de datos para inicializar la cadena de registros. Si no se realiza una copia de seguridad de la nueva base de datos, esta no puede incluirse en un grupo de disponibilidad.
En el Explorador de objetos, haga clic con el botón derecho en la base de datos, apunte a Tareas y seleccione Hacer copia de seguridad.
Seleccione Aceptar para realizar una copia de seguridad completa en la ubicación de copia de seguridad predeterminada.
Creación de un grupo de disponibilidad
Ya está listo para crear y configurar un grupo de disponibilidad mediante las siguientes tareas:
- Crear una base de datos en la primera instancia de SQL Server.
- Realizar una copia de seguridad completa y una copia de seguridad del registro de transacciones de la base de datos.
- Restaure las copias de seguridad completas y de registros en la segunda instancia de SQL Server con la opción
NO RECOVERY
. - Crear el grupo de disponibilidad (MyTestAG) con confirmación sincrónica, conmutación automática por error y réplicas secundarias legibles.
Crear el grupo de disponibilidad
Conéctese a la VM con SQL Server mediante el escritorio remoto y abra SQL Server Management Studio.
En el Explorador de objetos de SSMS, haga clic con el botón derecho en Alta disponibilidad de Always On y seleccione Asistente para nuevo grupo de disponibilidad.
En la página Introducción, seleccione Siguiente. En la página Especificar opciones de grupo de disponibilidad, escriba un nombre para el grupo de disponibilidad en el cuadro Nombre de grupo de disponibilidad. Por ejemplo, escriba MyTestAG. Luego, seleccione Siguiente.
En la página Seleccionar bases de datos, seleccione la base de datos y seleccione Siguiente.
Nota
La base de datos cumple los requisitos previos para un grupo de disponibilidad porque ha realizado al menos una copia de seguridad completa en la réplica principal prevista.
En la página Especificar réplicas, seleccione Agregar réplica.
En el cuadro de diálogo Conectar al servidor, en Nombre del servidor, escriba el nombre de la segunda instancia de SQL Server. A continuación, seleccione Conectar.
De nuevo en la página Especificar réplicas, ahora debería ver el segundo servidor en Réplicas de disponibilidad. Configure las réplicas tal como se muestra a continuación.
Seleccione Puntos de conexión para ver el punto de conexión de creación de reflejo de la base de datos para este grupo de disponibilidad. Utilice el mismo puerto que usó al configurar la regla de firewall para los puntos de conexión de creación de reflejo de la base de datos.
En la página Seleccionar sincronización de datos iniciales, seleccione Completa y especifique una ubicación de red compartida. Para la ubicación, utilice el recurso compartido de copia de seguridad que creó. En el ejemplo, era \\<Primera instancia de SQL Server>\Backup\. Seleccione Next (Siguiente).
Nota
La sincronización completa realiza una copia de seguridad completa de la base de datos en la primera instancia de SQL Server y la restaura en la segunda instancia. En el caso de las bases de datos de gran tamaño, no se recomienda la sincronización completa porque puede tardar mucho tiempo.
Puede reducir este tiempo realizando manualmente una copia de seguridad de la base de datos y restaurándola con
NO RECOVERY
. Si ya se ha restaurado la base de datos conNO RECOVERY
en la segunda instancia de SQL Server antes de configurar el grupo de disponibilidad, seleccione Solo unirse. Si quiere realizar la copia de seguridad después de configurar el grupo de disponibilidad, seleccione Omitir la sincronización de datos iniciales.En la página Validación, seleccione Siguiente. Esta página debe tener un aspecto similar a la siguiente imagen:
Nota
Hay una advertencia para la configuración del cliente de escucha porque no ha configurado una escucha de grupo de disponibilidad. Puede omitir esta advertencia porque en las máquinas virtuales de Azure, el cliente de escucha se crea después de crear el equilibrador de carga de Azure.
En la página Resumen, seleccione Finalizar y espere hasta que el asistente configure el nuevo grupo de disponibilidad. En la página Progreso, puede seleccionar Más detalles para ver el progreso detallado.
Una vez que el asistente haya finalizado la configuración, inspeccione la página Resultados para comprobar que se ha creado correctamente el grupo de disponibilidad.
Seleccione Cerrar para cerrar el asistente.
Comprobación del grupo de disponibilidad
En el Explorador de objetos, expanda Alta disponibilidad AlwaysOn y después, expanda Grupos de disponibilidad. Ahora debería de ver el nuevo grupo de disponibilidad en este contenedor. Haga clic con el botón derecho en el grupo de disponibilidad y seleccione Mostrar el panel.
El panel del grupo de disponibilidad debe tener un aspecto similar al de la captura de pantalla siguiente:
El panel muestra las réplicas, el modo de conmutación por error de cada réplica y el estado de sincronización.
En Administrador de clústeres de conmutación por error, seleccione el clúster. Seleccione Roles.
El nombre del grupo de disponibilidad que ha usado es un rol en el clúster. Ese grupo de disponibilidad no tiene una dirección IP para las conexiones de cliente porque no ha configurado un cliente de escucha. Va a configurar el cliente de escucha después de crear un equilibrador de carga de Azure.
Advertencia
No trate de conmutar por error el grupo de disponibilidad desde el Administrador de clústeres de conmutación por error. Todas las operaciones de conmutación por error deben realizarse en el panel del grupo de disponibilidad en SSMS. Obtenga más información sobre las restricciones en el uso del Administrador de clústeres de conmutación por error con grupos de disponibilidad.
En este punto, tiene un grupo de disponibilidad con réplicas de SQL Server. Puede mover el grupo de disponibilidad entre instancias. No se puede conectar al grupo de disponibilidad aún porque no tiene un cliente de escucha.
En Azure Virtual Machines, el agente de escucha requiere un equilibrador de carga. El siguiente paso consiste en crear el equilibrador de carga en Azure.
Creación de un equilibrador de carga de Azure
Nota:
Las implementaciones del grupo de disponibilidad en varias subredes no requieren un equilibrador de carga. En un entorno de una sola subred, los clientes de SQL Server 2019 CU8 y versiones posteriores en Windows 2016 y versiones posteriores pueden reemplazar el cliente de escucha de nombre de red virtual (VNN) tradicional y Azure Load Balancer con un cliente de escucha de nombre de red distribuida (DNN). Si quiere usar un DNN, omita los pasos del tutorial que configuren Azure Load Balancer para el grupo de disponibilidad.
En las máquinas virtuales de Azure de una sola subred, un grupo de disponibilidad de SQL Server necesita un equilibrador de carga. El equilibrador de carga almacena las direcciones IP de los clientes de escucha del grupo de disponibilidad y del clúster de conmutación por error de Windows Server. En esta sección se resume cómo crear el equilibrador de carga en Azure Portal.
Un equilibrador de carga en Azure puede ser estándar o básico. Un equilibrador de carga estándar tiene más características que el equilibrador de carga básico. Para un grupo de disponibilidad, se requiere el equilibrador de carga estándar si usa una zona de disponibilidad (en lugar de un conjunto de disponibilidad). Para obtener más información sobre la diferencia entre las SKU, consulte SKU de Azure Load Balancer.
Importante
El 30 de septiembre de 2025, se retirará la SKU básica de Azure Load Balancer. Para obtener más información, consulte el anuncio oficial. Si actualmente usa Basic Load Balancer, actualice a Standard Load Balancer antes de la fecha de retirada. Para obtener instrucciones, revise Actualizar Load Balancer.
En Azure Portal, vaya al grupo de recursos que contiene las VM con SQL Server y seleccione +Agregar.
Busque el equilibrador de carga. Elija el equilibrador de carga que Microsoft publica.
Seleccione Crear.
En la página Crear equilibrador de carga, configure los parámetros siguientes para el equilibrador de carga:
Configuración Entrada o selección Suscripción Utilice la misma suscripción que la de la máquina virtual. Grupos de recursos Utilice el mismo grupo de recursos que la máquina virtual. Nombre Use un nombre de texto para el equilibrador de carga, por ejemplo sqlLB. Región Use la misma región que la máquina virtual. SKU Seleccione Estándar. Tipo seleccione Interno. La página debería tener un aspecto similar a este:
Seleccione Siguiente: Configuración de la dirección IP de frontend.
Seleccione + Agregar una configuración de IP de front-end.
Configure la dirección IP de front-end con los valores siguientes:
- Nombre: escriba un nombre que identifique la configuración de la dirección IP de front-end.
- Red virtual: seleccione la misma red que la de las máquinas virtuales.
- Subred: seleccione la misma subred que la de las máquinas virtuales.
- Asignación: seleccione Estática.
- Dirección IP: use una dirección disponible en la subred. Use esta dirección para la escucha de grupo de disponibilidad. Esta dirección es distinta de la dirección IP del clúster.
- Zona de disponibilidad: opcionalmente, elija una zona de disponibilidad en la que se implementará la dirección IP.
En la imagen siguiente se muestra el cuadro de diálogo Agregar configuración de dirección IP de front-end:
Seleccione Agregar.
Elija Revisar y crear para validar la configuración. A continuación, seleccione Crear para crear el equilibrador de carga y la dirección IP de front-end.
Para configurar el equilibrador de carga, debe crear un grupo de back-end y un sondeo y establecer las reglas de equilibrio de carga.
Incorporación del grupo de back-end para el cliente de escucha del grupo de disponibilidad
Vaya al grupo de recursos en Azure Portal. Es posible que deba actualizar la vista para ver el equilibrador de carga recién creado.
Seleccione el equilibrador de carga, seleccione Grupos de back-end y, a continuación, seleccione +Agregar.
En Nombre, escriba un nombre para el grupo de back-end.
En Configuración del grupo de back-end, seleccione NIC.
Seleccione Agregar para asociar el grupo de back-end con el conjunto de disponibilidad que contiene las máquinas virtuales.
En Máquina virtual, elija las máquinas virtuales que hospedarán las réplicas del grupo de disponibilidad. No incluya el servidor testigo del recurso compartido de archivos.
Nota:
Si no se especifican ambas máquinas virtuales, solo se realizarán correctamente las conexiones a la réplica principal.
Seleccione Agregar para agregar las máquinas virtuales al grupo de back-end.
Seleccione Guardar para crear el grupo de back-end.
Configuración del sondeo
En Azure Portal, seleccione el equilibrador de carga, seleccione Sondeos de estado y luego seleccione +Agregar.
Establezca el sondeo de estado del agente de escucha de la manera siguiente:
Configuración Descripción Ejemplo Nombre Texto SQLAlwaysOnEndPointProbe Protocolo Elija TCP TCP Puerto Cualquier puerto no utilizado 59999 Intervalo La cantidad de tiempo entre los intentos de sondeo, en segundos 5 Seleccione Agregar.
Configuración de las reglas de equilibrio de carga
En Azure Portal, seleccione el equilibrador de carga, seleccione Reglas de equilibrio de carga y, a continuación, seleccione +Agregar.
Establezca las reglas de equilibrio de carga del cliente de escucha de la siguiente manera:
Configuración Descripción Ejemplo Nombre Texto SQLAlwaysOnEndPointListener Frontend IP address (Dirección IP de front-end) Elija una dirección Use la dirección que creó al crear el equilibrador de carga. Grupo de back-end Elegir el grupo de back-end Seleccione el grupo de back-end que contiene las máquinas virtuales destinadas al equilibrador de carga. Protocolo Elija TCP TCP Puerto Uso del puerto del agente de escucha de grupo de disponibilidad 1433 Puerto back-end Este campo no se utiliza cuando una IP flotante está establecida para Direct Server Return 1433 Sondeo de estado Nombre especificado para el sondeo SQLAlwaysOnEndPointProbe Persistencia de la sesión Lista desplegable None Tiempo de espera de inactividad Minutos para mantener abierta una conexión TCP 4 IP flotante (Direct Server Return) Una topología de flujo y un esquema de asignación de direcciones IP Enabled Advertencia
Direct Server Return se establece durante la creación. No puede cambiarlo.
Seleccione Guardar.
Adición de la dirección IP principal del clúster para el clúster de conmutación por error de Windows Server
La dirección IP del clúster de conmutación por error de Windows Server también debe estar en el equilibrador de carga. Si usa Windows Server 2019, omita este proceso, ya que el clúster crea un valor de Nombre de servidor distribuido en lugar del valor de Nombre de red del clúster.
En Azure Portal, vaya al mismo equilibrador de carga de Azure. Seleccione Configuración de IP de front-end y, luego, +Agregar. Use la dirección IP que configuró para el clúster de conmutación por error de Windows Server en los recursos principales del clúster. Establezca la dirección IP como Estática.
En el equilibrador de carga, seleccione Sondeos de estado y, luego, +Agregar.
Establezca el sondeo de estado de la dirección IP principal del clúster para el clúster de conmutación por error de Windows Server de la siguiente manera:
Configuración Descripción Ejemplo Nombre Texto WSFCEndPointProbe Protocolo Elija TCP TCP Puerto Cualquier puerto no utilizado 58888 Intervalo La cantidad de tiempo entre los intentos de sondeo, en segundos 5 Seleccione Agregar para configurar el sondeo de estado.
Seleccione Reglas de equilibrio de carga y, a continuación, seleccione +Agregar.
Establezca las reglas de equilibrio de carga para la dirección IP principal del clúster de la siguiente manera:
Configuración Descripción Ejemplo Nombre Texto WSFCEndPoint Frontend IP address (Dirección IP de front-end) Elija una dirección Use la dirección que creó al configurar la dirección IP para el clúster de conmutación por error de Windows Server. Es diferente de la dirección IP del cliente de escucha. Grupo de back-end Elegir el grupo de back-end Seleccione el grupo de back-end que contiene las máquinas virtuales destinadas al equilibrador de carga. Protocolo Elija TCP TCP Puerto Use el puerto para la dirección IP del clúster. Se trata de un puerto disponible que no se usa para el puerto de sondeo de escucha. 58888 Puerto back-end Este campo no se utiliza cuando una IP flotante está establecida para Direct Server Return 58888 Sondeo Nombre especificado para el sondeo WSFCEndPointProbe Persistencia de la sesión Lista desplegable None Tiempo de espera de inactividad Minutos para mantener abierta una conexión TCP 4 IP flotante (Direct Server Return) Una topología de flujo y un esquema de asignación de direcciones IP Enabled Advertencia
Direct Server Return se establece durante la creación. No puede cambiarlo.
Seleccione Aceptar.
Configuración del agente de escucha
El siguiente paso es configurar una escucha de grupo de disponibilidad en el clúster de conmutación por error.
Nota
En este tutorial se muestra cómo crear un único cliente de escucha, con una dirección IP para el equilibrador de carga interno. Para crear clientes de escucha mediante una o varias direcciones IP, consulte Configuración de una o varias escuchas de grupo de disponibilidad Always On.
El agente de escucha del grupo de disponibilidad es un nombre de red y una dirección IP en los que escucha el grupo de disponibilidad de SQL Server. Para crear la escucha de grupo de disponibilidad:
Obtenga el nombre del recurso de red del clúster:
a. Use RDP para conectarse a la máquina virtual de Azure que hospeda la réplica principal.
b. Abra el Administrador de clústeres de conmutación por error.
c. Seleccione el nodo Redes y anote el nombre de red del clúster. Use este nombre en la variable
$ClusterNetworkName
del script de PowerShell. En la siguiente imagen, el nombre de red del clúster es Cluster Network 1:Agregue el punto de acceso cliente El punto de acceso cliente es el nombre de red que las aplicaciones utilizan para conectarse a las bases de datos en un grupo de disponibilidad.
a. En el Administrador de clúster de conmutación por error, expanda el nombre del clúster y, a continuación, seleccione Roles.
b. En el panel Roles, haga clic con el botón derecho en el nombre del grupo de disponibilidad y, después, seleccione Agregar recurso>Punto de acceso cliente.
c. En el cuadro Nombre, cree un nombre para este nuevo agente de escucha. Las aplicaciones utilizarán el nombre del nuevo agente de escucha como nombre de red para conectarse a las bases de datos del grupo de disponibilidad de SQL Server.
d. Para terminar de crear el cliente de escucha, seleccione Siguiente dos veces y, a continuación, seleccione Finalizar. No ponga el cliente de escucha o el recurso en línea en este momento.
Desconecte el rol de clúster del grupo de disponibilidad. En el Administrador de clústeres de conmutación por error, en Roles, haga clic con el botón derecho en el rol y seleccione Detener el rol.
Configure el recurso de IP del grupo de disponibilidad:
a. Haga clic en la pestaña Recursos y expanda el punto de acceso de cliente que ha creado. El punto de acceso cliente está desconectado.
b. Haga clic con el botón derecho en el recurso de IP y, después, seleccione Propiedades. Tenga en cuenta el nombre de la dirección IP y úselo en la variable
$IPResourceName
en el script de PowerShell.c. En Dirección IP, seleccione Dirección IP estática. Establezca la dirección IP como la misma dirección que usó cuando estableció la dirección del equilibrador de carga en Azure Portal.
Haga que el grupo de disponibilidad de SQL Server dependa del punto de acceso de cliente:
a. En el Administrador de clústeres de conmutación por error, seleccione Roles y, después, seleccione el grupo de disponibilidad.
b. En la pestaña Recursos, en Otros recursos, haga clic con el botón derecho en el recurso del grupo de disponibilidad y, después, seleccione Propiedades.
c. En la pestaña Dependencias, agregue el nombre del punto de acceso de cliente (el cliente de escucha).
d. Seleccione Aceptar.
Haga que el punto de acceso de cliente dependa de la dirección IP:
a. En el Administrador de clústeres de conmutación por error, seleccione Roles y, después, seleccione el grupo de disponibilidad.
b. En la pestaña Recursos, haga clic con el botón derecho en el punto de acceso de cliente en Nombre del servidor y después seleccione Propiedades.
c. Seleccione la pestaña Dependencias. Compruebe que la dirección IP es una dependencia. Si no es así, establezca una dependencia en la dirección IP. Si aparecen varios recursos, compruebe que las direcciones IP tengan dependencias OR y no AND. Después, seleccione Aceptar.
Sugerencia
Puede validar que las dependencias estén configuradas correctamente. En el Administrador de clústeres de conmutación por error, vaya a Roles, haga clic con el botón derecho en el grupo de disponibilidad, seleccione Más acciones y, después, seleccione Mostrar informe de dependencias. Cuando las dependencias estén configuradas correctamente, el grupo de disponibilidad depende en el nombre de red y el nombre de red depende de la dirección IP.
Establezca los parámetros de clúster en PowerShell:
a. Copie el siguiente script de PowerShell en una de las instancias de SQL Server. Actualice las variables para su entorno.
$ClusterNetworkName
encuentre el nombre en el Administrador de clústeres de conmutación por error seleccionando Redes, haga clic con el botón derecho en la red y después seleccione Propiedades. $ClusterNetworkName está debajo del campo Nombre en la pestaña General.$IPResourceName
es el nombre que se asigna al recurso de dirección IP en el Administrador de clústeres de conmutación por error. Puede encontrarlo en el Administrador de clústeres de conmutación por error seleccionando Roles, seleccione el Nombre de AG o FCI de SQL Server, seleccione la pestaña Recursos en Nombre del servidor, haga clic con el botón derecho en el recurso de dirección IP y seleccione Propiedades. El valor correcto está debajo del campo Nombre en la pestaña General.$ListenerILBIP
es la dirección IP que creó en Azure Load Balancer para el agente de escucha del grupo de disponibilidad. Busque $ListenerILBIP en el Administrador de clústeres de conmutación por error en la misma página de propiedades que el nombre del recurso del agente de escucha de AG/FCI de SQL Server.$ListenerProbePort
es el puerto que configuró en Azure Load Balancer para la escucha de grupo de disponibilidad, como 59999. Cualquier puerto TCP no utilizado es válido.
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. $IPResourceName = "<IPResourceName>" # The IP address resource name. $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal. [int]$ListenerProbePort = <nnnnn> Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
b. Ejecute el script de PowerShell en uno de los nodos del clúster para establecer los parámetros del clúster.
Nota:
Si las instancias de SQL Server se encuentran en distintas regiones, debe ejecutar el script de PowerShell dos veces. La primera vez, utilice los valores
$ListenerILBIP
y$ListenerProbePort
de la primera región. La segunda vez, utilice los valores$ListenerILBIP
y$ListenerProbePort
de la segunda región. El nombre de red del clúster y el nombre del recurso IP del clúster también son diferentes para cada región.Ponga en línea el rol de clúster para el grupo de disponibilidad. En el Administrador de clústeres de conmutación por error, en Roles, haga clic con el botón derecho en el rol y, a continuación, seleccione Iniciar rol.
Si es necesario, repita los pasos anteriores para establecer los parámetros de clúster para la dirección IP del clúster de conmutación por error de Windows Server:
Obtenga el nombre de la dirección IP del clúster de conmutación por error de Windows Server. En el Administrador de clústeres de conmutación por error, en Recursos principales de clúster, busque Nombre del servidor.
Haga clic con el botón derecho en Dirección IP y, a continuación, seleccione Propiedades.
Copie el nombre de la dirección IP que aparece en Nombre. Puede ser Dirección IP del clúster.
Establezca los parámetros de clúster en PowerShell:
a. Copie el siguiente script de PowerShell en una de las instancias de SQL Server. Actualice las variables para su entorno.
$ClusterCoreIP
es la dirección IP que creó en el equilibrador de carga de Azure para el recurso del clúster principal del clúster de conmutación por error de Windows Server. Es diferente de la dirección IP de la escucha de grupo de disponibilidad.$ClusterProbePort
es el puerto que configuró en el equilibrador de carga de Azure para el sondeo de estado del clúster de conmutación por error de Windows Server. Es diferente del sondeo de la escucha de grupo de disponibilidad.
$ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name. $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name. $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal. [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener. Import-Module FailoverClusters Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
b. Ejecute el script de PowerShell en uno de los nodos del clúster para establecer los parámetros del clúster.
Si se configura algún recurso de SQL para usar un puerto entre 49152 y 65536 (el intervalo de puertos dinámico predeterminado para TCP/IP), agregue una exclusión para cada puerto. Estos recursos pueden incluir:
- Motor de base de datos de SQL Server
- Escucha de grupo de disponibilidad Always On
- Sondeo de estado para la instancia del clúster de conmutación por error
- Punto de conexión de creación de reflejo de la base de datos
- Recurso de IP principal del clúster
Al agregar una exclusión, impedirá que otros procesos de sistema se asignen dinámicamente al mismo puerto. En este escenario, configure las siguientes exclusiones en todos los nodos del clúster:
netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent
Es importante configurar la exclusión de puertos cuando el puerto no está en uso. De lo contrario, se producirá un error en el comando con un mensaje similar a "El proceso no puede acceder al archivo porque está en uso en otro proceso". Para confirmar que las exclusiones se han configurado correctamente, use el siguiente comando: netsh int ipv4 show excludedportrange tcp
.
Advertencia
El puerto del sondeo de estado de la escucha de grupo de disponibilidad debe ser diferente del puerto del sondeo de estado de la dirección IP principal del clúster. En estos ejemplos, el puerto del cliente de escucha es 59999 y el puerto del sondeo del estado de la dirección IP principal del clúster es 58888. Ambos puertos requieren una regla de firewall de "permitir la entrada".
Establecimiento del puerto del cliente de escucha
En SQL Server Management Studio, establezca el puerto del cliente de escucha:
Abra SQL Server Management Studio y conéctese a la réplica principal.
Vaya a Alta disponibilidad de Always On>Grupos de disponibilidad>Escuchas de grupo de disponibilidad.
Haga clic con el botón derecho en el nombre del cliente de escucha que creó en el Administrador de clústeres de conmutación por error y, a continuación, seleccione Propiedades.
En el cuadro Puerto, especifique el número de puerto para el cliente de escucha del grupo de disponibilidad. El valor predeterminado es 1433. Seleccione Aceptar.
Ahora tiene un grupo de disponibilidad para VM con SQL Server en Azure que se ejecuta en modo de Azure Resource Manager.
Comprobación de la conexión con el agente de escucha
Para probar la conexión:
Use RDP para conectarse a una VM con SQL Server que esté en la misma red virtual, pero que no sea propietaria de la réplica, como, por ejemplo, la otra réplica.
Use la utilidad sqlcmd para probar la conexión. Por ejemplo, el siguiente script establece una conexión sqlcmd con la réplica principal por medio del cliente de escucha con autenticación de Windows:
sqlcmd -S <listenerName> -E
Si el agente de escucha usa un puerto distinto del predeterminado (1433), especifíquelo en la cadena de conexión. Por ejemplo, el siguiente comando se conecta a un cliente de escucha en el puerto 1435:
sqlcmd -S <listenerName>,1435 -E
La utilidad sqlcmd se conecta automáticamente a la instancia de SQL Server que sea la réplica principal actual del grupo de disponibilidad.
Sugerencia
Asegúrese de que el puerto especificado esté abierto en el firewall de ambas VM con SQL Server. En estos dos servidores, es necesario definir una regla de entrada para el puerto TCP. Para obtener más información, consulte Adición o edición de reglas de firewall.
Contenido relacionado
- Adición de una dirección IP a un equilibrador de carga para un segundo grupo de disponibilidad
- Configuración de la conmutación por error automática o manual
- Clúster de conmutación por error de Windows Server con SQL Server en máquinas virtuales de Azure
- Grupos de disponibilidad Always On para SQL Server en Azure Virtual Machines
- Información general de los Grupos de disponibilidad AlwaysOn
- Configuración de alta disponibilidad y recuperación ante desastres para SQL Server en máquinas virtuales de Azure