Implementación de un testigo en la nube para un clúster de conmutación por error

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

El testigo en la nube es un tipo de testigo de cuórum de clúster de conmutación por error que usa Microsoft Azure para proporcionar un voto en el cuórum de clúster. En este tema se proporciona información general sobre la característica Testigo en la nube, los escenarios que admite e instrucciones sobre cómo configurar un testigo en la nube para un clúster de conmutación por error. Para más información, consulte Configuración de un testigo de clúster.

Introducción al testigo en la nube

En la ilustración siguiente se muestra una configuración de cuórum de clúster de conmutación por error extendido de varios sitios con Windows Server 2016. En esta configuración de ejemplo (figura 1), hay 2 nodos en 2 centros de datos (denominados Sitios). Tenga en cuenta que es posible que un clúster abarque más de 2 centros de datos. Además, cada centro de datos puede tener más de 2 nodos. Una configuración típica del cuórum de clúster en esta configuración (Acuerdo de Nivel de Servicio de conmutación automática por error) da a cada nodo un voto. Se da un voto adicional al testigo de cuórum para permitir que el clúster siga ejecutándose aunque uno de los centros de datos experimente una interrupción del suministro eléctrico. Las matemáticas son sencillas: hay 5 votos totales y necesita 3 votos para que el clúster lo mantenga en ejecución.

File Share Witness in a third separate site with 2 nodes in 2 other sitesUso de un testigo de recurso compartido de archivos como testigo de cuórum

Si hay una interrupción de energía en un centro de datos, para dar la misma oportunidad al clúster en otro centro de datos para mantenerlo en ejecución, se recomienda hospedar el testigo de cuórum en una ubicación distinta de los dos centros de datos. Normalmente, esto significa requerir un tercer centro de datos independiente (sitio) para hospedar un servidor de archivos que respalda el recurso compartido de archivos, que se usa como testigo de cuórum (testigo de recurso compartido de archivos).

La mayoría de las organizaciones no tienen un tercer centro de datos independiente que hospedará el servidor de archivos que respalda el testigo del recurso compartido de archivos. Esto significa que las organizaciones hospedan principalmente el servidor de archivos en uno de los dos centros de datos, que, por extensión, convierten ese centro de datos en el centro de datos principal. En un escenario en el que hay una interrupción del suministro eléctrico en el centro de datos principal, el clúster dejaría de funcionar, ya que el otro centro de datos solo tendría 2 votos que se encuentra por debajo de la mayoría del cuórum de 3 votos necesarios. Para los clientes que tienen un tercer centro de datos independiente para hospedar el servidor de archivos, es una sobrecarga mantener el servidor de archivos de alta disponibilidad que respalda el testigo de recurso compartido de archivos. Hospedar máquinas virtuales en la nube pública que tienen el servidor de archivos para el testigo de recurso compartido de archivos que se ejecuta en el sistema operativo invitado es una sobrecarga significativa en términos de instalación y mantenimiento.

El testigo en la nube es un nuevo tipo de testigo de cuórum de clúster de conmutación por error que usa Microsoft Azure como punto de arbitraje (consulte la figura siguiente). Usa Azure Blob Storage para leer y escribir un archivo de blob que, a continuación, se usa como punto de arbitraje en caso de resolución de cerebro dividido.

Hay importantes ventajas que este enfoque:

  • Usa Microsoft Azure (no es necesario un tercer centro de datos independiente).
  • Usa Azure Blob Storage estándar disponibles (sin sobrecarga de mantenimiento adicional de las máquinas virtuales hospedadas en la nube pública).
  • La misma cuenta Azure Storage se puede usar para varios clústeres (un archivo de blob por clúster; identificador único de clúster que se usa como nombre de archivo de blob).
  • Baja $cost en curso a la cuenta de Storage (datos pequeños escritos por archivo de blob, archivo de blob actualizado solo una vez cuando cambia el estado de los nodos del clúster).
  • Tipo de recurso testigo en la nube integrado.

Diagram illustrating a multi-site stretched cluster with Cloud Witness as a quorum witnessClústeres extendidos de varios sitios con testigo en la nube como testigo de cuórum

Como se muestra en la ilustración anterior, no hay ningún tercer sitio independiente que sea necesario. Testigo en la nube, al igual que cualquier otro testigo de cuórum, obtiene un voto y puede participar en cálculos de cuórum.

Testigo en la nube: escenarios admitidos para el tipo de testigo único

Si tiene una implementación de clúster de conmutación por error, donde todos los nodos pueden acceder a Internet (por extensión de Azure), se recomienda configurar un testigo en la nube como recurso testigo de cuórum.

Algunos de los escenarios que se admiten en el uso del testigo en la nube como testigo de cuórum son los siguientes:

  • Recuperación ante desastres de clústeres multisitio extendidos (consulte la figura anterior).
  • Clústeres de conmutación por error sin almacenamiento compartido (SQL Always On, etc.).
  • Clústeres de conmutación por error que se ejecutan dentro del sistema operativo invitado hospedado en Microsoft Azure rol de máquina virtual (o cualquier otra nube pública).
  • Clústeres de conmutación por error que se ejecutan dentro del sistema operativo invitado de Virtual Machines hospedados en nubes privadas.
  • Storage clústeres con o sin almacenamiento compartido, como clústeres de servidores de archivos de escalabilidad horizontal.
  • Clústeres de sucursales pequeñas (incluso clústeres de 2 nodos)

A partir de Windows Server 2012 R2, se recomienda configurar siempre un testigo, ya que el clúster administra automáticamente el voto del testigo y los nodos votan con cuórum dinámico.

Configuración de un testigo en la nube para un clúster

Para configurar un testigo en la nube como testigo de cuórum para el clúster, complete los pasos siguientes:

  1. Creación de una cuenta de Azure Storage para su uso como testigo en la nube
  2. Configure el testigo en la nube como testigo de cuórum para el clúster.

Creación de una cuenta de Azure Storage para su uso como testigo en la nube

En esta sección se describe cómo crear una cuenta de almacenamiento y cómo ver y copiar las direcciones URL del punto de conexión y las claves de acceso de esa cuenta.

Para configurar el testigo en la nube, debe tener una cuenta de uso general de Azure válida Storage que se puede usar para almacenar el archivo de blob (que se usa para el arbitraje). El testigo en la nube crea un contenedor conocido msft-cloud-witness en la cuenta de almacenamiento de Microsoft. El testigo en la nube 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 este contenedor msft-cloud-witness. Esto significa que puede usar la misma cuenta de Microsoft Azure Storage para configurar un testigo en la nube para varios clústeres diferentes.

Cuando se usa la misma cuenta de Azure Storage para configurar el testigo en la nube para varios clústeres diferentes, se crea automáticamente un solo contenedor msft-cloud-witness. Este contenedor contendrá un archivo de un blob por clúster.

Para crear una cuenta de Azure Storage

  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.
      No se puede usar una cuenta de almacenamiento de blobs para un testigo en la nube.

    3. En Rendimiento, seleccione Estándar.
      No se puede usar Azure Premium Storage para un testigo en la nube.

    4. En Replicación, seleccione Almacenamiento con redundancia local (LRS) o Almacenamiento con redundancia de zona (ZRS) según corresponda.
      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 lo tanto, debe seleccionar Almacenamiento con redundancia local para Tipo de replicación cuando el testigo en la nube es para un clúster que reside en el entorno local o es un clúster de Azure que no se implementa en distintas zonas de disponibilidad de la misma región. Cuando los nodos del clúster están en la misma región pero en una zona de disponibilidad diferente, use almacenamiento con redundancia de zona como tipo de replicación .

Visualización y copia de las claves de acceso de almacenamiento de la cuenta de Azure Storage

Cuando se crea una cuenta de Microsoft Azure Storage, esta se asocia a dos claves de acceso que se generan automáticamente: la clave de acceso primaria y la secundaria. Para crear por primera vez un testigo en la nube, use la clave de acceso primaria. No hay ninguna restricción respecto a la clave que se va a usar para el testigo en la nube.

Visualización y copia de las claves de acceso de almacenamiento

En Azure Portal, vaya a su cuenta de almacenamiento, haga clic en Toda la configuración y luego en Claves de acceso para ver, copiar y volver a generar las claves de acceso de la cuenta. La hoja Claves de acceso también incluye cadenas de conexión preconfiguradas mediante las claves principales y secundarias que puede copiar para usarlas en las aplicaciones (consulte la figura 4).

Snapshot of the Manage Access Keys dialog in Microsoft AzureFigura 4: claves de acceso de Storage

Al crear una cuenta de almacenamiento, se generan las siguientes direcciones URL con el formato: https://<Storage Account Name>.<Storage Type>.<Endpoint>

El testigo en la nube siempre usa Blob como tipo de almacenamiento de archivos en una cuenta de almacenamiento de uso general. Azure usa .core.windows.net como punto de conexión. Al configurar el testigo de la nube, es posible que se configure con un punto de conexión diferente según el escenario (por ejemplo, el centro de datos de Microsoft Azure en China tiene un punto de conexión diferente).

Nota

El recurso Testigo en la nube genera automáticamente la dirección URL del punto de conexión. Asegúrese de que el puerto 443 está abierto en los firewalls y de que se incluye *.core.windows.net en las listas de permitidos de firewall que usa entre el clúster y Azure Storage.

En el Azure Portal, vaya a la cuenta de almacenamiento, haga clic en Toda la configuración y, a continuación, haga clic en Propiedades para ver y copiar las direcciones URL del punto de conexión (consulte la figura 5).

Snapshot of the Cloud Witness endpoint linksFigura 5: Vínculos de dirección URL del punto de conexión del testigo en la nube

Para obtener más información sobre cómo crear y administrar cuentas de Azure Storage, consulte Acerca de las cuentas de Azure Storage.

Configuración del testigo en la nube como testigo de cuórum para el clúster

La configuración del testigo en la nube está bien integrada en el Asistente para configuración de cuórum existente integrado en el Administrador de clústeres de conmutación por error.

Para configurar el testigo en la nube como testigo de quórum

  1. Inicie Administrador de clústeres de conmutación por error.

  2. Haga clic con el botón derecho en el clúster ->Más acciones ->Configurar Configuración de cuórum de clúster (consulte la figura 6). Esto inicia el asistente para configurar el cuórum de clúster.

    Snapshot of the menu path to Configure Cluster Quorum Settings in the Failover Cluster Manager UIFigura 6. Configuración de cuórum de clúster

  3. En la página Seleccionar configuraciones de cuórum , seleccione Seleccionar el testigo de cuórum (consulte la figura 7).

    Snapshot of the 'select the quorum witness' radio button in the Cluster Quorum wizardFigura 7. Seleccione la configuración de cuórum.

  4. En la página Seleccionar testigo de cuórum , seleccione Configurar un testigo en la nube (consulte la figura 8).

    Snapshot of the appropriate radio button to select a cloud witnessFigura 8. Selección del testigo de cuórum

  5. En la página Configurar testigo en la nube, escriba la información siguiente:

    1. (Parámetro obligatorio) Nombre de la cuenta de Azure Storage.

    2. (Parámetro obligatorio) Clave de acceso correspondiente a la cuenta de almacenamiento.

      1. Al crear por primera vez, use la clave de acceso principal.
      2. Al rotar la clave de acceso principal, use la clave de acceso secundaria.
    3. (Parámetro opcional) Si piensa usar otro punto de conexión de servicio de Azure (por ejemplo, el servicio Microsoft Azure en China), actualice el nombre del servidor del punto de conexión.

      Snapshot of the Cloud Witness configuration pane in the Cluster Quorum wizardFigura 9: Configuración del testigo en la nube

  6. Tras una configuración correcta del testigo en la nube, puede ver el recurso testigo recién creado en el complemento Administrador de clústeres de conmutación por error (consulte la figura 10).

    Successful configuration of Cloud WitnessFigura 10: Configuración correcta del testigo en la nube

Configuración del testigo en la nube mediante PowerShell

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

Puede configurar Cloud Witness con el cmdlet Set-ClusterQuorum mediante el siguiente comando de PowerShell:

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

En caso de que tenga que usar otro punto de conexión (poco frecuente):

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

consideraciones de Azure Storage cuenta con testigo en la nube

Al configurar un testigo en la nube como testigo de quórum 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.

Consideraciones sobre el proxy con el testigo en la nube

El testigo en la nube usa HTTPS (puerto predeterminado 443) para establecer la comunicación saliente con Azure Blob Service. Asegúrese de que el puerto de salida HTTPS sea accesible a través del proxy de red. Azure usa .core.windows.net como punto de conexión. Debe asegurarse de que se incluye en cualquier lista de permitidos de firewall que use entre el clúster y Azure Storage.

Consulte también