Configuración del cuórum de clúster para SQL Server en VM de Azure

Se aplica a:SQL Server en VM de Azure

En este artículo se enseña a configurar una de las tres opciones de cuórum para un clúster de conmutación por error de Windows Server que se ejecuta en SQL Server en máquinas virtuales (VM) de Azure: un testigo de disco, un testigo en la nube y un testigo de recurso compartido de archivos.

Información general

El cuórum de un clúster viene determinado por el número de elementos de votación que deben formar parte de la pertenencia activa al clúster para que el clúster se inicie correctamente o continúe ejecutándose. La configuración de un recurso de cuórum permite que un clúster de dos nodos continúe con un solo nodo en línea. El clúster de conmutación por error de Windows Server es la tecnología subyacente para las opciones de alta disponibilidad de SQL Server en máquinas virtuales de Azure: instancias de clúster de conmutación por error (FCI) y grupos de disponibilidad (AG).

El testigo de disco es la opción de cuórum más resistente, pero para usar un testigo de disco en SQL Server en una máquina virtual de Azure, debe usar un disco compartido de Azure que imponga algunas limitaciones a la solución de alta disponibilidad. Por lo tanto, use un testigo de disco al configurar la instancia de clúster de conmutación por error con discos compartidos de Azure; de lo contrario, use un testigo en la nube siempre que sea posible. Si usa Windows Server 2012 R2 o una versión anterior que no admita un testigo en la nube, puede usar un testigo de recurso compartido de archivos.

Las siguientes opciones de cuórum están disponibles para su uso con SQL Server en máquinas virtuales de Azure:

Testigo en la nube Testigo de disco Testigo de recurso compartido de archivos
Sistema operativo admitido Windows Server 2016+ Todo Todo

Para más información sobre el cuórum, consulte la Introducción al clúster de conmutación por error de Windows Server.

Testigo en la nube

Se trata de un tipo de testigo de cuórum de clúster de conmutación por error que usa Microsoft Azure Storage para proporcionar un voto en el quórum de clúster.

En la tabla siguiente encontrará información adicional y consideraciones sobre el testigo en la nube:

Tipo de testigo Descripción Requisitos y recomendaciones
Testigo en la nube
  • Usa Azure Storage como testigo en la nube, contiene solo la marca de tiempo.
  • Resulta ideal para implementaciones en varios sitios, en varias zonas y en varias regiones.
  • Crea un contenedor conocido msft-cloud-witness en la cuenta de almacenamiento de Microsoft.
  • Escribe un único archivo de blob con el identificador único del clúster correspondiente, que se usa como nombre de archivo del archivo de blob en el contenedor
  • El tamaño predeterminado es de 1 MB.
  • Use De uso general para el tipo de cuenta. No se admite el almacenamiento de blobs.
  • Use almacenamiento estándar. Azure Premium Storage no se admite.
  • Los clústeres de conmutación por error usan el archivo de blob como punto de arbitraje, lo cual requiere algunas garantías de coherencia al leer los datos. Por tanto, debe seleccionar Almacenamiento con redundancia local (LRS) como tipo de Replicación.
  • Debe excluirse de las copias de seguridad y de los análisis antivirus
  • No se admite un testigo de disco con Espacios de almacenamiento directo.
  • El testigo en la nube usa HTTPS (puerto predeterminado 443) para establecer la comunicación con Azure Blob Storage. Asegúrese de que se puede acceder al puerto HTTPS a través del proxy.

Al configurar un recurso de cuórum de testigo en la nube para el clúster de conmutación por error, tenga en cuenta lo siguiente:

  • En lugar de almacenar la clave de acceso, el clúster de conmutación por error generará y almacenará de forma segura un token de seguridad de acceso compartido (SAS).
  • El token de SAS generado es válido siempre que la clave de acceso siga siendo válida. Al rotar la clave de acceso principal, es importante actualizar primero el testigo en la nube (en todos los clústeres que usan esa cuenta de almacenamiento) con la clave de acceso secundaria antes de volver a generar la clave de acceso principal.
  • El testigo en la nube usa la interfaz REST HTTPS del servicio de cuentas de Azure Storage. Esto significa que requiere que el puerto HTTPS esté abierto en todos los nodos del clúster.

Un testigo en la nube requiere una cuenta de Azure Storage. Para configurar una cuenta de almacenamiento, siga estos pasos:

  1. Inicie sesión en Azure Portal.
  2. En el menú del concentrador, seleccione Nuevo -> Datos y almacenamiento -> Cuenta de almacenamiento.
  3. En la página Crear una cuenta de almacenamiento, haga lo siguiente:
    1. Escriba un nombre para la cuenta de almacenamiento. Los nombres de las cuentas de almacenamiento deben tener entre 3 y 24 caracteres, y solo pueden incluir números y letras en minúscula. El nombre de la cuenta de almacenamiento también debe ser único dentro de Azure.
    2. En Tipo de cuenta seleccione Uso general.
    3. En Rendimiento, seleccione Estándar.
    4. En Replicación, seleccione Almacenamiento con redundancia local (LRS).

Una vez creada la cuenta de almacenamiento, siga estos pasos para configurar el recurso de cuórum del testigo en la nube para el clúster de conmutación por error:

El actual comando Set-ClusterQuorum de PowerShell tiene nuevos parámetros correspondientes al testigo en la nube.

Puede configurar el testigo en la nube con el cmdlet Set-ClusterQuorum mediante el comando de PowerShell:

Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey>

En el caso excepcional de que tenga que usar un punto de conexión diferente, use este comando de PowerShell:

Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey> -Endpoint <servername>

Consulte la documentación del testigo en la nube para obtener ayuda para buscar la clave de acceso de la cuenta de almacenamiento.

Testigo de disco

Se trata de un pequeño disco agrupado en el grupo de almacenamiento disponible del clúster. Este disco presenta una alta disponibilidad y puede conmutar por error entre nodos.

El testigo de disco es la opción de cuórum recomendada cuando se usa con una solución de alta disponibilidad de almacenamiento compartido, como la instancia de clúster de conmutación por error con discos compartidos de Azure.

En la tabla siguiente encontrará información adicional y consideraciones sobre el testigo de disco de cuórum:

Tipo de testigo Descripción Requisitos y recomendaciones
Testigo de disco
  • LUN dedicado que almacena una copia de la base de datos del clúster
  • Recomendado para clústeres con almacenamiento compartido (no replicado)
  • El tamaño del LUN debe ser como mínimo de 512 MB
  • Debe ser exclusivo para el clúster y no debe asignarse a un rol en clúster
  • Debe incluirse en almacenamiento en clúster y completar sin errores las pruebas de validación de almacenamiento
  • No puede ser un disco que sea un volumen compartido de clúster (CSV)
  • Disco básico con un solo volumen
  • No necesita tener asignada una letra de unidad
  • Puede formatearse como NTFS o como ReFS
  • De manera opcional, se puede configurar con RAID de hardware para tolerancia a errores
  • Debe excluirse de las copias de seguridad y de los análisis antivirus
  • No se admite un testigo de disco con Espacios de almacenamiento directo.

Para usar un disco compartido de Azure para el testigo de disco, primero debe crear el disco y montarlo. Para ello, siga los pasos descritos en la sección Montaje de disco de la guía de creación de una instancia de clúster de conmutación por error con discos compartidos de Azure. No es necesario que el disco sea prémium.

Una vez montado el disco, siga los pasos a continuación para agregarlo al almacenamiento del clúster:

  1. Abre el Administrador de clústeres de conmutación por error.
  2. Seleccione Discos en Almacenamiento en el panel de navegación izquierdo.
  3. Seleccione Agregar disco en Acciones en el panel de navegación derecho.
  4. Seleccione la unidad compartida de Azure que acaba de montar y anote el nombre, por ejemplo, Cluster Disk 3.

Una vez que haya agregado el disco como almacenamiento en clúster, configúrelo como testigo de disco mediante PowerShell:

El actual comando Set-ClusterQuorum de PowerShell tiene nuevos parámetros correspondientes al testigo en la nube.

Use la ruta de acceso del recurso compartido de archivos como parámetro para el testigo de disco cuando use el cmdlet Set-ClusterQuorum de PowerShell:

Set-ClusterQuorum -NodeAndDiskMajority "Cluster Disk 3"

También puede usar el Administrador de clústeres de conmutación por error; siga los mismos pasos que para el testigo en la nube, pero elija el testigo de disco como opción de cuórum en su lugar.

Testigo de recurso compartido de archivos

Se trata de un recurso compartido de archivos SMB que se suele configurar en un servidor de archivos que ejecuta Windows Server. Este testigo mantiene la información de la agrupación en clústeres en un archivo witness.log, pero no almacena una copia de la base de datos del clúster. En Azure, puede configurar un recurso compartido de archivos en una máquina virtual independiente.

Configure un testigo de recurso compartido de archivos si en el entorno no hay disponible o no se admite un testigo de disco o un testigo en la nube.

En la tabla siguiente encontrará información adicional y consideraciones sobre el testigo de recurso compartido de archivos de cuórum:

Tipo de testigo Descripción Requisitos y recomendaciones
Testigo de recurso compartido de archivos
  • El recurso compartido de archivos SMB que se configura en un servidor de archivos que ejecute Windows Server
  • No almacena una copia de la base de datos del clúster
  • Mantiene toda la información del clúster en el archivo witness.log
  • Recomendado para clústeres multisitio con almacenamiento replicado
  • Debe disponer de un mínimo de 5 MB de espacio
  • Debe ser dedicado para un solo clúster y no usarse para almacenar datos de usuarios o de aplicaciones
  • Debe tener habilitados los permisos de escritura para el objeto de equipo del nombre del clúster

A continuación, encontrarás consideraciones adicionales para un servidor de archivos que hospede el testigo de recurso compartido de archivos:
  • Un solo servidor de archivos se puede configurar con testigos del recurso compartido de archivos para varios clústeres.
  • El servidor de archivos debe encontrarse en un sitio que esté separado de la carga de trabajo del clúster. Esto ofrece las mismas oportunidades de supervivencia para cualquier clúster si se pierden las comunicaciones de red de sitio a sitio. Si el servidor de archivos se encuentra en el mismo sitio, dicho sitio se convertirá en el sitio principal y será el único sitio que podrá conectarse al recurso compartido de archivos.
  • El servidor de archivos se puede ejecutar en una máquina virtual si esta no está hospedada en el mismo clúster que usa el testigo de recurso compartido de archivos.
  • Para obtener una alta disponibilidad, el servidor de archivos se puede configurar en un clúster de conmutación por error separado.

Una vez que haya creado el recurso compartido de archivos y configurado correctamente los permisos, monte el recurso compartido de archivos en los nodos en clúster. Puede seguir los mismos pasos generales para montar el recurso compartido de archivos, tal y como se describe en la sección Montaje del recurso compartido de archivos de la guía paso a paso de creación de una instancia de clúster de conmutación por error con un recurso compartido de archivos prémium.

Una vez que el recurso compartido de archivos se haya configurado y montado correctamente, use PowerShell para agregar el recurso compartido de archivos como recurso del testigo de cuórum:

Set-ClusterQuorum -FileShareWitness <UNC path to file share> -Credential $(Get-Credential)

Se le pedirá una cuenta y una contraseña para una cuenta local (para el recurso compartido de archivos) que no sea de administrador, y que tenga derechos de administrador completos para el recurso compartido. El clúster mantendrá el nombre y la contraseña cifrados, y nadie podrá acceder a ellos.

También puede usar el Administrador de clústeres de conmutación por error; siga los mismos pasos que para el testigo en la nube, pero elija el testigo de recurso compartido de archivos como opción de cuórum en su lugar.

Cambio de la votación de cuórum

Es posible cambiar el voto de cuórum de un nodo que participa en un clúster de conmutación por error de Windows Server.

Al modificar la configuración de voto de nodo, siga estas instrucciones:

Guía de votación de cuórum
Comience con los nodos que no tengan ningún voto de manera predeterminada. Cada nodo solo debe tener un voto con justificación explícita.
Habilite los votos para los nodos de clúster que hospedan la réplica principal de un grupo de disponibilidad o los propietarios preferidos de una instancia de clúster de conmutación por error.
Habilite los votos para los propietarios de conmutación automática por error. Cada uno de los nodos que puede hospedar una réplica principal o FCI, como resultado de una conmutación automática por error, debe tener un voto.
Si un grupo de disponibilidad tiene más de una réplica secundaria, habilite votos solo para las réplicas que tienen conmutación automática por error.
Deshabilite los votos para los nodos que se encuentren en sitios secundarios de recuperación ante desastres. Los nodos de los sitios secundarios no deben contribuir a la decisión de desconectar un clúster si no hay ningún problema con el sitio primario.
Tenga un número impar de votos, con un mínimo de tres votos de quórum. Si es necesario, agregue un testigo de cuórum para un voto adicional cuando un clúster tenga dos nodos.
Vuelva a valorar las asignaciones de votos después de la conmutación por error. No es conveniente realizar la conmutación por error en una configuración de clúster que no admita un quórum correcto.

Pasos siguientes

Para obtener más información, consulte: