Instancias de clúster de conmutación por error con SQL Server en Azure Virtual Machines

Se aplica a:SQL Server en VM de Azure

En este artículo se presentan las diferencias de características cuando se trabaja con instancias de clúster de conmutación por error (FCI) para SQL Server en Azure Virtual Machines (VM).

Para empezar, prepare la máquina virtual.

Información general

SQL Server en VM de Azure usa la funcionalidad de clústeres de conmutación por error de Windows Server (WSFC) para proporcionar una alta disponibilidad local mediante redundancia en el nivel de instancia de servidor: una instancia de clúster de conmutación por error (FCI). Una FCI es una instancia única de SQL Server que se instala en los nodos WSFC (o solo en el clúster) y, posiblemente, en varias subredes. En la red, una FCI parece ser una única instancia de SQL Server que se ejecuta en un único equipo. Pero la FCI proporciona conmutación por error de un nodo de WSFC a otro si el nodo actual deja de estar disponible.

El resto del artículo se centra en las diferencias de las instancias de clúster de conmutación por error cuando se usan con SQL Server en VM de Azure. Para más información acerca de la tecnología de clústeres de conmutación por error, consulte:

Nota:

Ahora es posible migrar mediante lift and shift la solución de instancia de clúster de conmutación por error a SQL Server en máquinas virtuales de Azure mediante Azure Migrate. Consulte Migración de una instancia de clúster de conmutación por error para más información.

Quorum

Las instancias de clúster de conmutación por error con SQL Server en Azure Virtual Machines admiten el uso de un testigo de disco, un testigo en la nube o un testigo de recurso compartido de archivos para el cuórum del clúster.

Para más información, consulte Procedimientos recomendados de cuórum con VM mediante SQL Server en Azure.

Storage

En entornos en clúster tradicionales en el entorno local, un clúster de conmutación por error de Windows utiliza una red de área de almacenamiento (SAN) a la que ambos nodos pueden acceder como almacenamiento compartido. Los archivos de SQL Server se hospedan en el almacenamiento compartido y solo el nodo activo puede acceder a ellos al mismo tiempo.

SQL Server en VM de Azure ofrece varias opciones como solución de almacenamiento compartido para una implementación de instancias de clúster de conmutación por error de SQL Server:

Discos compartidos de Azure Recursos compartidos de archivos Premium Espacios de almacenamiento directo (S2D)
Versión mínima de sistema operativo All Windows Server 2012 Windows Server 2016
Versión de SQL Server mínima All SQL Server 2012 SQL Server 2016
Disponibilidad de VM admitida LRS SSD prémium: conjuntos de disponibilidad con o sin grupos con ubicación por proximidad
ZRS de SSD prémium: zonas de disponibilidad
Discos Ultra: la misma zona de disponibilidad
Conjuntos y zonas de disponibilidad Conjuntos de disponibilidad
Admite FileStream No
Caché de blobs de Azure No No

En el resto de esta sección se enumeran las ventajas y las limitaciones de cada opción de almacenamiento disponible para SQL Server en las máquinas virtuales de Azure.

Discos compartidos de Azure

Los discos compartidos de Azure son una característica de Azure Managed Disks. Los clústeres de conmutación por error de Windows Server admiten el uso de discos compartidos de Azure con una instancia de clúster de conmutación por error.

Sistema operativo compatible: All
Versión de SQL compatible: All

Ventajas

  • Resulta útil para las aplicaciones que desean migrar a Azure al tiempo que mantienen su arquitectura de alta disponibilidad y recuperación ante desastres (HADR) tal cual.
  • Puede migrar las aplicaciones en clúster a Azure tal cual gracias a la compatibilidad con las reservas persistentes de SCSI (SCSI PR).
  • Admite almacenamiento en disco Ultra de Azure y SSD Premium de Azure.
  • Puede usar un único disco compartido o seccionar varios para crear un grupo de almacenamiento compartido.
  • Admite FILESTREAM.
  • Las SSD Premium admiten conjuntos de disponibilidad.
  • El almacenamiento con redundancia de zona de los discos SSD prémium (ZRS) admite las zonas de disponibilidad. Las máquinas virtuales que forman parte de FCI se pueden colocar en distintas zonas de disponibilidad.

Nota:

Aunque los discos compartidos de Azure también admiten tamaños de SSD Estándar, no se recomienda usar discos SSD Estándar para cargas de trabajo de SQL Server debido a las limitaciones de rendimiento.

Limitaciones:

  • El almacenamiento en caché de disco SSD prémium no se admite.
  • Los discos Ultra no admiten conjuntos de disponibilidad ni almacenamiento con redundancia de zona (ZRS).
  • Las zonas de disponibilidad son compatibles con Ultra Disks, pero las máquinas virtuales deben estar en la misma zona de disponibilidad, lo que reduce la disponibilidad de la máquina virtual al 99,9 %.

Para empezar, consulte Creación de una FCI con discos compartidos de Azure (SQL Server en VM de Azure).

Espacios de almacenamiento directo

Espacios de almacenamiento directo es una característica de Windows Server compatible con los clústeres de conmutación por error en Azure Virtual Machines. Proporciona una SAN virtual basada en software.

Sistema operativo compatible: Windows Server 2016 y posteriores
Versión de SQL compatible: SQL Server 2016 y posterior

Ventajas:

  • El ancho de banda de red suficiente permite una solución de almacenamiento compartido sólida y de alto rendimiento.
  • Admite la memoria caché de blobs de Azure, por lo que las lecturas se pueden atender localmente desde ella. (Las actualizaciones se replican simultáneamente en ambos nodos).
  • Admite FileStream.

Limitaciones:

  • Solo está disponible para Windows Server 2016 y versiones posteriores.
  • No se admite Azure Availability Zones.
  • Requiere la misma capacidad de disco conectado a ambas máquinas virtuales.
  • Se requiere un ancho de banda de red alto para lograr un gran rendimiento debido a la replicación de disco en curso.
  • Necesita un tamaño de máquina virtual mayor y un doble pago por almacenamiento, ya que el almacenamiento está conectado a cada máquina virtual.

Para empezar, consulte Instancia de clúster de conmutación por error de SQL Server con Espacios de almacenamiento directo.

Recurso compartido de archivos Premium

Los recursos compartidos de archivos Premium son una característica de Azure Files. Los recursos compartidos de archivos Premium están respaldados por SSD y tienen una latencia baja constante. Son totalmente compatibles con las instancias de clúster de conmutación por error para SQL Server 2012 o posterior en Windows Server 2012 o posterior. Los recursos compartidos de archivos Premium ofrecen mayor flexibilidad, lo que le permite cambiar el tamaño y escalar un recurso compartido de archivos sin tiempo de inactividad.

Sistema operativo compatible: Windows Server 2012 y posteriores
Versión de SQL compatible: SQL Server 2012 y posterior

Ventajas:

  • Solución de almacenamiento compartido para máquinas virtuales distribuidas en varias zonas de disponibilidad.
  • Sistema de archivos totalmente administrado con latencias de un solo dígito y rendimiento de E/S que se puede aumentar.
  • No se admiten todas las características de SQL Server, como instantáneas de base de datos, secuencia de archivos y CHECKDB sin TABLOCK. Consulte Limitaciones para obtener más información.

Limitaciones:

  • Solo está disponible para Windows Server 2012 y versiones posteriores.
  • No se admite FileStream.

Para empezar, consulte Instancia de clúster de conmutación por error de SQL Server con el recurso compartido de archivos Premium.

Asociado

Hay soluciones de agrupación en clústeres de asociados con almacenamiento compatible.

Sistema operativo compatible: All
Versión de SQL compatible: All

En un ejemplo se usa SIOS DataKeeper como almacenamiento. Para más información, consulte la entrada del blog Clúster de conmutación por error y SIOS DataKeeper.

iSCSI y ExpressRoute

También puede exponer un almacenamiento en bloque compartido de destino iSCSI a través de Azure ExpressRoute.

Sistema operativo compatible: All
Versión de SQL compatible: All

Por ejemplo, NetApp Private Storage (NPS) expone un destino iSCSI a través de ExpressRoute con Equinix a las máquinas virtuales de Azure.

Para las soluciones de almacenamiento compartido y de replicación de datos de asociados de Microsoft, debe ponerse en contacto con el proveedor en caso de que surja algún problema relacionado con el acceso a los datos en la conmutación por error.

Conectividad

Para que coincida con la experiencia local para conectarse a la instancia de clúster de conmutación por error, implemente las máquinas virtuales de SQL Server en varias subredes dentro de la misma red virtual. Tener varias subredes elimina la necesidad de la dependencia adicional de una instancia de Azure Load Balancer o un nombre de red distribuida (DNN) para enrutar el tráfico al FCI.

Si implementa las máquinas virtuales de SQL Server en una sola subred, puede configurar un nombre de red virtual (VNN) y una instancia de Azure Load Balancer, o un nombre de red distribuida (DNN) para enrutar el tráfico a la instancia de clúster de conmutación por error. Revise las diferencias entre los dos y, a continuación, implemente un nombre de red distribuida o un nombre de red virtual para la instancia de clúster de conmutación por error.

Se recomienda el nombre de red distribuida, si es posible, ya que la conmutación por error es más rápida, y se eliminan la sobrecarga y el costo de administrar el equilibrador de carga.

La mayoría de las características de SQL Server funcionan de manera transparente con las FCI cuando se usa el DNN, pero hay determinadas características que pueden exigir una consideración especial. Para más información, consulte Interoperabilidad de FCI y DNN.

Limitaciones

Tenga en cuenta las limitaciones siguientes de las instancias de clúster de conmutación por error con SQL Server en Azure Virtual Machines.

Compatibilidad de extensión limitada

En este momento, las instancias de clúster de conmutación por error de SQL Server en máquinas virtuales de Azure registradas con la extensión Agente de IaaS de SQL solo admiten un número limitado de características. Consulte la tabla de ventajas.

Si la VM con SQL Server ya se registró con la extensión Agente de IaaS de SQL y se habilitaron características que requieren el agente, debe anular el registro desde la extensión; para ello, elimine el recurso de máquina virtual con SQL para las VM correspondientes y, luego, vuelva a registrarlas con la extensión Agente de IaaS de SQL. Cuando elimine el recurso Máquina virtual con SQL desde Azure Portal, desactive la casilla de la máquina virtual correcta para evitar la eliminación de la máquina virtual.

Las FCI de SQL Server registradas con la extensión no admiten características que requieran el agente, como la copia de seguridad automatizada, la aplicación de revisiones y la administración avanzada del portal. Consulte la tabla de ventajas.

MSDTC

Azure Virtual Machines admite el Coordinador de transacciones distribuidas de Microsoft (MSDTC) en Windows Server 2019 con almacenamiento en Volúmenes compartidos en clúster (CSV) y Azure Standard Load Balancer o en VM con SQL Server que usan discos compartidos de Azure.

En Azure Virtual Machines, MSDTC no se admite para Windows Server 2016 ni versiones anteriores con Volúmenes compartidos en clúster porque:

  • El recurso MSDTC en clúster no puede configurarse para usar almacenamiento compartido. En Windows Server 2016, si crea un recurso MSDTC, no muestra ningún almacenamiento compartido disponible para su uso, incluso si el almacenamiento está disponible. Este problema se ha corregido en Windows Server 2019.
  • El equilibrador de carga básico no controla los puertos RPC.