Creación de una FCI con Espacios de almacenamiento directo (SQL Server en Azure VM)

Se aplica a:SQL Server en VM 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 artículo se explica cómo crear una instancia de clúster de conmutación por error (FCI) mediante Espacios de almacenamiento directo con SQL Server en Azure Virtual Machines (VM). Espacios de almacenamiento directo actúa como una red de área de almacenamiento virtual (VSAN) basada en software que sincroniza el almacenamiento (discos de datos) entre los nodos (máquinas virtuales de Azure) en un clúster de Windows.

Para más información, consulte la información general de FCI con SQL Server en VM de Azure y los procedimientos recomendados de clúster.

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.

Información general

Espacios de almacenamiento directo (S2D) admite dos tipos de arquitecturas: convergidas e hiperconvergidas. Una infraestructura hiperconvergida coloca el almacenamiento en los mismos servidores que hospedan la aplicación en clúster, de modo que el almacenamiento se encuentra en cada nodo de FCI de SQL Server.

En el diagrama siguiente se muestra la solución completa, que usa Espacios de almacenamiento directo hiperconvergidos con SQL Server en VM de Azure:

Diagram of the complete solution, using hyperconverged Storage Spaces Direct

En el diagrama anterior se muestran los siguientes recursos en el mismo grupo de recursos:

  • Dos máquinas virtuales en un clúster de conmutación por error de Windows Server. Cuando una máquina virtual está en un clúster de conmutación por error también se denomina un nodo de clúster o nodos.
  • Cada máquina virtual tiene dos, o más, discos de datos.
  • Espacios de almacenamiento directo sincroniza los datos del disco de datos y presenta el almacenamiento sincronizado como grupo de almacenamiento.
  • El grupo de almacenamiento presenta un volumen compartido de clúster (CSV) al clúster de conmutación por error.
  • El rol de clúster de FCI de SQL Server usa el CSV para las unidades de datos.
  • Una instancia de Azure Load Balancer que almacene la dirección IP para la FCI de SQL Server para un escenario de una única subred.
  • Un conjunto de disponibilidad de Azure contiene todos los recursos.

Nota:

Puede crear toda la solución en Azure a partir de una plantilla. Un ejemplo de plantilla está disponible en la página de plantillas de inicio rápido de Azure de GitHub. Este ejemplo no se ha diseñado para ninguna carga de trabajo específica ni se ha probado para ella. Puede ejecutar la plantilla para crear una FCI de SQL Server con almacenamiento de Espacios de almacenamiento directo conectado a su dominio. Puede evaluar la plantilla y modificarla para adecuarla a sus fines.

Requisitos previos

Antes de completar las instrucciones de este artículo, ya debe tener:

Creación de un clúster de conmutación por error de Windows

Los pasos necesarios para crear un clúster de conmutación por error de Windows Server varían en función de si se han implementado las máquinas virtuales con SQL Server en una sola subred o en varias. Para crear el clúster, siga los pasos del tutorial de un escenario de varias subredes o un escenario de una sola subred. Aunque estos tutoriales son para crear un grupo de disponibilidad, los pasos para crear el clúster son los mismos.

Configuración de un cuórum

Aunque el testigo de disco es la opción de cuórum más resistente, no se admite para las instancias de clúster de conmutación por error configuradas con Espacios de almacenamiento directo. Por lo tanto, la opción de testigo en la nube es la solución de cuórum recomendada para este tipo de configuración del clúster de SQL Server en máquinas virtuales de Azure.

Si tiene un número par de votos en el clúster, configure la solución de cuórum que mejor se adapte a sus necesidades empresariales. Para más información, consulte Cuórum con VM con SQL Server.

Validación del clúster

Valide el clúster en la interfaz de usuario del Administrador de clústeres de conmutación por error usuario o mediante PowerShell.

Para validar el clúster con la interfaz de usuario, realice los pasos siguientes en una de las máquinas virtuales:

  1. En Administrador del servidor, seleccione Herramientas y, después, seleccione Administrador de clústeres de conmutación por error.

  2. En Administrador de clústeres de conmutación por error, seleccione Accióny, a continuación, seleccione Validar configuración.

  3. Seleccione Next (Siguiente).

  4. En Seleccionar servidores o un clúster, escriba el nombre de ambas máquinas virtuales.

  5. En Opciones de pruebas, seleccione Ejecutar solo las pruebas que seleccione.

  6. Seleccione Next (Siguiente).

  7. En Selección de pruebas, seleccione todas las pruebas excepto Almacenamiento, como se muestra aquí:

    Select cluster validation tests

  8. Seleccione Siguiente.

  9. En Confirmación, seleccione Siguiente.

    El Asistente para validar una configuración ejecuta las pruebas de validación.

Para validar el clúster con PowerShell, ejecute el siguiente script en una sesión de PowerShell de administrador de una de las máquinas virtuales:

Test-Cluster –Node ("<node1>","<node2>") –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

Agregue almacenamiento

Los discos Premium para Espacios de almacenamiento directo deben estar vacíos. No pueden contener particiones u otros datos. Para limpiar los discos, siga las instrucciones de Implementación de Espacios de almacenamiento directo.

  1. Habilitación de Espacios de almacenamiento directo.

    El siguiente script de PowerShell habilita los Espacios de almacenamiento directo:

    Enable-ClusterS2D
    

    En Administrador de clústeres de conmutación por error, puede ver el grupo de almacenamiento.

  2. Cree un volumen.

    Espacios de almacenamiento directo crea automáticamente un grupo de almacenamiento cuando se habilita. Ya está listo para crear un volumen. El cmdlet de PowerShell New-Volume automatiza el proceso de creación de volúmenes. Este proceso incluye el formato, la incorporación del volumen al clúster y la creación de un Volumen compartido de clúster (CSV). En el ejemplo se crea un CSV de 800 gigabytes (GB):

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    Después de ejecutar el comando anterior, se monta un volumen de 800 GB como un recurso de clúster. El volumen está en C:\ClusterStorage\Volume1\.

    En esta captura de pantalla se muestra un Volumen compartido de clúster con Espacios de almacenamiento directo:

    Screenshot of a Cluster Shared Volume with Storage Spaces Direct

Conmutación por error del clúster de prueba

Pruebe la conmutación por error del clúster. En Administrador de clústeres de conmutación por error, haga clic con el botón derecho en el clúster y seleccione Más acciones>Mover principales recursos de clúster>Seleccionar nodo y, después, seleccione el otro nodo del clúster. Mueva el recurso de clúster principal a cada nodo del clúster y, después, devuélvalo al nodo principal. Si puede mover correctamente el clúster a cada nodo, está listo para instalar SQL Server.

Test cluster failover by moving the core resource to the other nodes

Crear la FCI de SQL Server

Después de haber configurado el clúster de conmutación por error y todos los componentes del clúster, incluido el almacenamiento, puede crear la FCI de SQL Server.

  1. Conéctese a la primera máquina virtual con RDP.

  2. En Administrador de clústeres de conmutación por error, asegúrese de que todos los recursos principales de clúster estén en la primera máquina virtual. Si es necesario, mueva todos los recursos a esa máquina virtual.

  3. Si la versión del sistema operativo es Windows Server 2019 y el clúster de Windows se creó con el nombre de red distribuida (DNN) predeterminado, se producirá un error en la instalación de instancia de clúster de conmutación por error para SQL Server 2017 y versiones anteriores con el error The given key was not present in the dictionary.

    Durante la instalación, el programa de instalación de SQL Server consulta el nombre de red virtual (VNN) existente y no reconoce el DNN del clúster de Windows. El problema se ha corregido en el programa de configuración de SQL Server 2019. En SQL Server 2017 y versiones anteriores, siga estos pasos para evitar el error de instalación:

    • En el Administrador de clústeres de conmutación por error, conéctese al clúster, haga clic con el botón derecho en Roles y seleccione Crear rol vacío.
    • Haga clic con el botón derecho en el rol vacío recién creado, seleccione Agregar recurso y seleccione Punto de acceso cliente.
    • Escriba cualquier nombre y complete el asistente para crear el punto de acceso cliente.
    • Una vez completada la instalación de instancia de clúster de conmutación por error de SQL Server, se puede eliminar el rol que contiene el punto de acceso cliente temporal.
  4. Localice los medios de instalación. Si la máquina virtual usa una de las imágenes de Azure Marketplace, los medios se encuentran en C:\SQLServer_<version number>_Full. Seleccione Setup (Configuración).

  5. En Centro de instalación de SQL Server, seleccione Instalación.

  6. Seleccione Nueva instalación de clúster de conmutación por error de SQL Server. Siga las instrucciones del asistente para instalar la FCI de SQL Server.

  7. En la página Configuración de red de clúster, la IP que proporcione varía en función de si las máquinas virtuales con SQL Server se implementaron en una sola subred o en varias.

    1. En el caso de un entorno de una sola subred, especifique la dirección IP que planea agregar a Azure Load Balancer
    2. En el caso de un entorno de varias subredes, especifique la dirección IP secundaria en la subred de la primera máquina virtual con SQL Server que designó anteriormente como la dirección IP del nombre de red de la instancia de clúster de conmutación por error:

    provide the secondary IP address in the subnet of the first SQL Server VM that you previously designated as the IP address of the failover cluster instance network name

  8. En Configuración del Motor de base de datos, los directorios de datos de FCI estar en el almacenamiento en clústeres. Con Espacios de almacenamiento directo, no es un disco compartido, sino un punto de montaje para un volumen en cada servidor. Espacios de almacenamiento directo sincroniza el volumen entre ambos nodos. El volumen se presenta al clúster como un CSV. Utilice el punto de montaje de CSV para los directorios de datos.

    Data directories

  9. Después de completar las instrucciones en el asistente, el programa de instalación instalará una FCI de SQL Server en el primer nodo.

  10. Tras completar correctamente la instalación de instancia de clúster de conmutación por error en el primer nodo, conéctese al segundo nodo mediante RDP.

  11. Abra Centro de instalación de SQL Server. Seleccione Instalación.

  12. Seleccione Agregar nodo a clúster de conmutación por error de SQL Server. Siga las instrucciones del asistente para instalar SQL Server y agregar el nodo a la instancia de clúster de conmutación por error.

  13. En el caso de un escenario de varias subredes, en Configuración de red en clúster, especifique la dirección IP secundaria en la subred de la segunda máquina virtual con SQL Server que designó anteriormente como la dirección IP del nombre de red de la instancia de clúster de conmutación por error

    enter the secondary IP address in the subnet of the second SQL Server VM subnet that you previously designated as the IP address of the failover cluster instance network name

    Después de seleccionar Siguiente en Configuración de red de clúster, el programa de instalación muestra un cuadro de diálogo que indica que el programa de instalación de SQL Server ha detectado varias subredes como en la imagen de ejemplo. Seleccione para confirmar la acción.

    Multi Subnet Confirmation

  14. Después de completar las instrucciones del asistente, el programa de instalación agrega el segundo nodo FCI de SQL Server.

  15. Repita estos pasos en cualquier otro nodo que desee agregar a la instancia de clúster de conmutación por error de SQL Server.

Nota:

Las imágenes de la galería de Azure Marketplace vienen con SQL Server Management Studio instalado. Si no ha usado una imagen de Marketplace, descargue SQL Server Management Studio (SSMS).

Registro con una extensión Agente de IaaS de SQL

Para administrar la VM con SQL Server desde el portal, regístrela con la extensión de agente de IaaS de SQL. Tenga en cuenta que solo la funcionalidad limitada estará disponible en máquinas virtuales SQL que tengan instancias de clúster de conmutación por error de SQL Server (FCI).

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, deberá anular el registro de la VM con SQL Server desde la extensión y registrarla de nuevo después de instalar la FCI.

Registre una VM con SQL Server con PowerShell ((-LicenseType puede ser PAYG o AHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>
         
# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Configuración de la conectividad

Si implementó las máquinas virtuales de SQL Server en varias subredes, omita este paso. Si implementó las máquinas virtuales de SQL Server en una sola subred, deberá configurar un componente adicional para enrutar el tráfico a la instancia de clúster de conmutación por error. Puede configurar un nombre de red virtual (VNN) con Azure Load Balancer o un nombre de red distribuida para una instancia de clúster de conmutación por error. Revise las diferencias entre los dos y, luego, implemente un nombre de red distribuida o un nombre de red virtual y Azure Load Balancer para la instancia de clúster de conmutación por error.

Limitaciones

  • 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 un equilibrador de carga estándar. Coordinador de transacciones distribuidas no es compatible con Windows Server 2016, ni con las versiones anteriores.
  • Los discos que se han conectado como discos con formato NTFS solo se pueden usar con Espacios de almacenamiento directo si la opción de elegibilidad del disco está deshabilitada o desactivada, cuando se agrega el almacenamiento al clúster.
  • 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.
  • Las instancias de clúster de conmutación por error que usan Espacios de almacenamiento directo como almacenamiento compartido no admiten el uso de un testigo de disco para el cuórum del clúster. Use un testigo en la nube en su lugar.

Pasos siguientes

Si Espacios de almacenamiento directo no es la solución de almacenamiento de FCI adecuada en su caso, considere la posibilidad de crear su FCI mediante discos compartidos de Azure o recursos compartidos de archivos Premium en su lugar.

Para obtener más información, consulte: