Jugando con la configuración AG Tengo el WSFC activado y configurado con dos nodos en un grupo de disponibilidad llamado DevClusterOnline. Ambos nodos (DEV-AWEB5 primario, DEV-AWEB6 secundario) están ejecutando Windows Server 2008 R2.
Si verifico el estado de mi AG, obtengo esto:
La ejecución de la consulta a continuación devolverá este conjunto de resultados:
select
ar.replica_server_name,
availability_group_name = ag.name,
ar.availability_mode_desc,
ar.failover_mode_desc
from sys.availability_replicas ar
inner join sys.availability_groups ag
on ar.group_id = ag.group_id
order by availability_group_name, replica_server_name;
Si desconecto DEV-AWEB5, no puedo conectarme al Group Listener (DevListener), pero puedo hacer ping y responderá a mi ping. La réplica - DEV-AWEB6 entra en un estado RESOLVIENDO y mi base de datos no es accesible. Sin embargo, puedo ir manualmente a Management Studio y configurar la conmutación por error en DEV-AWEB6 y luego volver a estar en funcionamiento y DevListener aceptará nuevamente las conexiones.
Teniendo en cuenta que estos hechos confirman que la conmutación por error realmente funciona, que tengo confirmaciones sincronizadas y una conmutación por error automática configurada, no tengo idea de qué sucede si funciona mal en mi configuración.
Cuando desconecto DEV-AWEB5, espero que mi réplica conserve la conexión y, por lo tanto, también DevListener. Espero que la conmutación por error automática me permita conectarme al AG Listener de forma transparente. Desde la perspectiva del usuario final, al usar un sistema web no debería notarse que uno de los servidores de base de datos deja de funcionar.
Estoy atrapado aquí, ¿alguien puede aclararme lo que estoy haciendo mal?
Respuestas:
Defina "desconectar", si lo desea. Supongo que mantuviste el cuadro en alto, pero eliminaste SQL Server.
Esto se debe a que el oyente es solo un nombre de red virtual (VNN) dentro del grupo de recursos del clúster WSFC para el grupo de disponibilidad representado. Su nodo DEV_AWEB5 aún posee el grupo de recursos del clúster, pero es más probable que el recurso de clúster AG esté en un estado fallido. El VNN aún debe estar en línea (comportamiento esperado). Simplemente apunta a cualquier nodo que posea ese grupo de recursos (en este caso, DEV-AWEB5). De hecho, si tenía habilitado el control remoto de PowerShell y ejecutó lo siguiente:
Del mismo modo, si puede RDP en DEV-AWEB5 (siempre que tenga la capacidad y accesibilidad, etc.), entonces podrá RDP utilizando el nombre del oyente (
mstsc /v:YourListenerName
). Es solo un VNN.El retorno de eso sería el nombre de la computadora de su nodo propietario.
Según todos sus síntomas, estaría dispuesto a apostar que ha alcanzado su umbral de conmutación por error. El umbral de conmutación por error determina cuántas veces el clúster intentará conmutar por error su grupo de recursos en un período de tiempo específico. El valor predeterminado de estos valores de failovers máximos n - 1 (donde n es el recuento de nodos) en un período de 6 horas . Puede ver eso a través del siguiente comando WSFC PowerShell:
Eso solo te da la configuración (que puedes modificar si así lo eliges, por supuesto).
La mejor manera de demostrar que este es el caso para usted, necesitaría generar el registro del clúster (los registros de eventos del sistema solo entran en detalles hasta que "ha fallado", o algo así).
Por defecto, se colocará en la carpeta "C: \ Windows \ Cluster \ Reports", y el archivo se llama "Cluster.log".
Si abriera ese registro de clúster, debería poder encontrar la siguiente cadena allí, indicando exactamente qué sucedió y por qué sucedió:
El mensaje anterior es simplemente WSFC diciéndole que no hará una conmutación por error a su grupo porque ha sucedido demasiado (alcanzó el umbral).
¿Por qué pasó esto? Simplemente para evitar el efecto Ping-Pong de los recursos del clúster yendo y viniendo con demasiada frecuencia entre nodos.
Mientras que esto sería común para alcanzar estos umbrales en las pruebas de conmutación por error, en la producción generalmente señalaría un problema que debería investigarse.
fuente
Agregar MSSQL como un recurso de servicio genérico no es la respuesta.
Eso solo pondrá al Administrador de clústeres a cargo del Servicio de SQL Server, OK, sí, se conmutará por error automáticamente, pero notará en el Administrador de configuración de SQL Server que sus servicios ahora están configurados en "Manual", lo que indica que el Administrador de clústeres está ahora en control de su servicio de servidor SQL.
Está poniendo a Cluster Manager a cargo de una aplicación NO agrupada.
Terminará en lágrimas.
El enfoque correcto es configurar correctamente los Grupos de disponibilidad de SQL Server según la documentación de MS.
Y también asegúrese de no exceder los parámetros de conmutación por error tal como se definen en el Administrador de clústeres> Roles> pestaña de conmutación por error.
Si excede estos límites, el clúster no fallará sus recursos y se publicará un error en el registro de eventos de la aplicación.
fuente