Implementación de un grupo de disponibilidad de SQL Server 2016 en dos entornos de Azure Stack Hub

Este artículo le guiará a lo largo de una implementación automatizada de un clúster de SQL Server 2016 Enterprise de alta disponibilidad (HA) con un sitio de recuperación ante desastres (DR) asincrónica entre dos entornos de Azure Stack Hub. Para obtener más información acerca de SQL Server 2016 y la alta disponibilidad, vea Grupos de disponibilidad Always On: una solución de alta disponibilidad y recuperación ante desastres.

En esta solución, creará un entorno de ejemplo para:

  • Organizar una implementación en dos instancias de Azure Stack Hub.
  • Usar Docker para minimizar los problemas de dependencia con los perfiles de la API de Azure.
  • Implementar un clúster de SQL Server 2016 Enterprise de alta disponibilidad básico con un sitio de recuperación ante desastres.

Sugerencia

hybrid-pillars.png
Microsoft Azure Stack Hub es una extensión de Azure. Azure Stack Hub aporta la agilidad e innovación de la informática en la nube a su entorno local, ya que habilita la única nube híbrida que permite crear e implementar aplicaciones híbridas en cualquier parte.

En el artículo Consideraciones de diseño de aplicaciones híbridas se examinan los fundamentos de calidad del software (selección de ubicación, escalabilidad, disponibilidad, resistencia, manejabilidad y seguridad) para diseñar, implementar y usar aplicaciones híbridas. Las consideraciones de diseño ayudan a optimizar el diseño de aplicaciones híbridas y reducen los desafíos en los entornos de producción.

Arquitectura para SQL Server 2016

Azure Stack Hub de SQL de alta disponibilidad de SQL Server 2016

Requisitos previos para SQL Server 2016

  • Dos sistemas integrados de Azure Stack Hub (Azure Stack Hub). Este desarrollo no funciona en el Kit de desarrollo de Azure Stack (ASDK). Para más información sobre Azure Stack Hub, consulte la introducción a Azure Stack Hub.
  • Una suscripción de inquilino en cada instancia de Azure Stack Hub.
    • Tome nota de cada identificador de suscripción y del punto de conexión de Azure Resource Manager para cada instancia de Azure Stack Hub.
  • Una entidad de servicio de Azure Active Directory (Azure AD) que tenga permisos para la suscripción del inquilino en cada instancia de Azure Stack Hub. Es posible que deba crear dos entidades de servicio si las instancias de Azure Stack Hub se implementan en diferentes inquilinos de Azure AD. Para aprender a crear una entidad de servicio para Azure Stack Hub, consulte Creación de entidades de servicio para otorgar a las aplicaciones acceso a los recursos de Azure Stack Hub.
    • Tome nota del id. de aplicación, el secreto de cliente y el nombre de inquilino (xxxxx.onmicrosoft.com) de cada entidad de servicio.
  • SQL Server 2016 Enterprise sindicado en el Marketplace de cada instancia de Azure Stack Hub. Para más información acerca de la redifusión de Marketplace, consulte Descarga de elementos de Marketplace en Azure Stack Hub. Asegúrese de que su organización disponga de las licencias de SQL correspondientes.
  • Docker para Windows instalado en la máquina local.

Obtener la imagen de Docker

Las imágenes de Docker para cada implementación eliminan los problemas de dependencia entre las distintas versiones de Azure PowerShell.

  1. Asegúrese de que Docker para Windows utiliza contenedores de Windows.

  2. Ejecute el siguiente script en un símbolo del sistema con privilegios elevados para obtener el contenedor de Docker con los scripts de implementación.

    docker pull intelligentedge/sqlserver2016-hadr:1.0.0
    

Implementar el grupo de disponibilidad

  1. Una vez extraída correctamente la imagen de contenedor, inicie la imagen.

    docker run -it intelligentedge/sqlserver2016-hadr:1.0.0 powershell
    
  2. Una vez iniciado el contenedor, se le ofrecerá un terminal de PowerShell con privilegios elevados en el contenedor. Cambie los directorios para acceder al script de implementación.

    cd .\SQLHADRDemo\
    
  3. Ejecute la implementación. Proporcione las credenciales y los nombres de los recursos cuando sea necesario. Alta disponibilidad hace referencia a la instancia de Azure Stack Hub en la que se instalará el clúster de alta disponibilidad. Recuperación ante desastres hace referencia a la instancia de Azure Stack Hub en la que se implementará el clúster de recuperación ante desastres.

    > .\Deploy-AzureResourceGroup.ps1 `
    -AzureStackApplicationId_HA "applicationIDforHAServicePrincipal" `
    -AzureStackApplicationSercet_HA "clientSecretforHAServicePrincipal" `
    -AADTenantName_HA "hatenantname.onmicrosoft.com" `
    -AzureStackResourceGroup_HA "haresourcegroupname" `
    -AzureStackArmEndpoint_HA "https://management.haazurestack.com" `
    -AzureStackSubscriptionId_HA "haSubscriptionId" `
    -AzureStackApplicationId_DR "applicationIDforDRServicePrincipal" `
    -AzureStackApplicationSercet_DR "ClientSecretforDRServicePrincipal" `
    -AADTenantName_DR "drtenantname.onmicrosoft.com" `
    -AzureStackResourceGroup_DR "drresourcegroupname" `
    -AzureStackArmEndpoint_DR "https://management.drazurestack.com" `
    -AzureStackSubscriptionId_DR "drSubscriptionId"
    
  4. Escriba Y para permitir que el proveedor de NuGet se instale, lo que iniciará los módulos "2018-03-01-hybrid" del perfil de la API que se van a instalar.

  5. Espere a que la implementación de recursos se complete.

  6. Una vez completada la implementación de recursos de DR, salga del contenedor.

    exit
    
  7. Para inspeccionar la implementación, observe los recursos del portal de cada instancia de Azure Stack Hub. Conéctese a una de las instancias de SQL en el entorno de alta disponibilidad e inspeccione el grupo de disponibilidad mediante SQL Server Management Studio (SSMS).

    Alta disponibilidad de SQL de SQL Server 2016

Pasos siguientes