Preparación de la infraestructura de Azure para alta disponibilidad de SAP con un clúster de conmutación por error de Windows y un disco compartido para ASCS/SCS de SAP

SO Windows Windows

Este artículo describe los pasos que debe seguir para preparar la infraestructura de Azure para instalar y configurar una instancia de ASCS/SCS de SAP de alta disponibilidad en un clúster de conmutación por error de Windows mediante el uso de un disco compartido de clúster como una opción de agrupación en clústeres de una instancia de ASCS de SAP. En la documentación se presentan dos alternativas para el disco compartido de clúster:

La documentación no abarca el nivel de base de datos.

Requisitos previos

Antes de comenzar la instalación, consulte este artículo:

Creación de las máquinas virtuales de ASCS

Para el clúster de ASCS/SCS de SAP, implemente dos máquinas virtuales en el conjunto de disponibilidad de Azure o en las zonas de disponibilidad de Azure según el tipo de implementación que tenga. Si utiliza grupos con ubicación por proximidad de Azure (PPG), asegúrese de que todas las máquinas virtuales que comparten un disco formen parte del mismo PPG. Una vez implementadas las máquinas virtuales:

  • Cree el equilibrador de carga interno de Azure para la instancia de ASCS/SCS de SAP.
  • Agregue máquinas virtuales de Windows al dominio de AD.

En función del tipo de implementación, los nombres de host y las direcciones IP del escenario serían las siguientes:

Implementación de SAP en el conjunto de disponibilidad de Azure

Rol de nombre de host Nombre de host Dirección IP estática Conjunto de disponibilidad SkuName de disco
Primer clúster ASCS/SCS de nodo de clúster pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
Segundo clúster ASCS/SCS de nodo de clúster pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Nombre de red del clúster pr1clust 10.0.0.42 (solo para el clúster de Win 2016) N/D
Nombre de red del clúster de ASCS pr1-ascscl 10.0.0.43 N/D
Nombre de red del clúster de ERS (solo para ERS2) pr1-erscl 10.0.0.44 N/D

Implementación de SAP en zonas de disponibilidad de Azure

Rol de nombre de host Nombre de host Dirección IP estática Zona de disponibilidad SkuName de disco
Primer clúster ASCS/SCS de nodo de clúster pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
Segundo clúster ASCS/SCS de nodo de clúster pr1-ascs-11 10.0.0.5 AZ02
Nombre de red del clúster pr1clust 10.0.0.42 (solo para el clúster de Win 2016) N/D
Nombre de red del clúster de ASCS pr1-ascscl 10.0.0.43 N/D
Nombre de red del clúster de ERS (solo para ERS2) pr1-erscl 10.0.0.44 N/D

Los pasos mencionados en el documento siguen siendo los mismos para ambos tipos de implementación. Pero si el clúster se ejecuta en un conjunto de disponibilidad, debe implementar LRS para el disco compartido prémium de Azure (Premium_LRS) y, si el clúster se ejecuta en la zona de disponibilidad, implemente ZRS para el disco compartido prémium de Azure (Premium_ZRS).

Nota

Al usar grupos con ubicación por proximidad de Azure para el sistema SAP, todas las máquinas virtuales que comparten un disco deben formar parte del mismo PPG.

Creación de un equilibrador de carga interno de Azure

ASCS de SAP, SCS de SAP y el nuevo ERS2 de SAP usan direcciones IP virtuales y un nombre de host virtual. En Azure, se requiere un equilibrador de carga para usar una dirección IP virtual. Se recomienda encarecidamente usar Standard Load Balancer.

Importante

La dirección IP flotante no se admite en una configuración de IP secundaria de NIC en escenarios de equilibrio de carga. Para ver detalles, consulte Limitaciones de Azure Load Balancer. Si necesita una dirección IP adicional para la VM, implemente una segunda NIC.

En la lista siguiente se muestra la configuración del equilibrador de carga (A)SCS/ERS. La configuración de ASCS de SAP y ERS2 se realiza en el mismo equilibrador de carga de Azure.

(A)SCS

  • Configuración de front-end
    • Dirección IP estática de ASCS/SCS 10.0.0.43
  • Configuración de back-end
    Agregue todas las máquinas virtuales que deben formar parte del clúster de (A)SCS/ERS. En este ejemplo, las máquinas virtuales pr1-ascs-10 y pr1-ascs-11.
  • Puerto de sondeo
    • Puerto 620 nr Deje la opción predeterminada para Protocolo (TCP), Intervalo (5), Umbral incorrecto (2)
  • Reglas de equilibrio de carga.
    • Si usa Standard Load Balancer, seleccione Puertos HA

    • Si usa Load Balancer Básico, cree reglas de equilibrio de carga para los puertos siguientes

      • 32 nr TCP
      • 36 nr TCP
      • 39 nr TCP
      • 81 nr TCP
      • 5 nr 13 TCP
      • 5 nr 14 TCP
      • 5 nr 16 TCP
    • Asegúrese de que el tiempo de expiración de inactividad (minutos) esté establecido en el valor máximo de 30, y que la dirección IP flotante (Direct Server Return) esté habilitada.

ERS2

Como Enqueue Replication Server 2 (ERS2) también es un clúster, la dirección IP virtual de ERS2 también debe estar configurada en Azure ILB además de la IP de ASCS/SCS de SAP anterior. Esta sección solo se aplica si se usa la arquitectura de Enqueue Replication Server 2.

  • Segunda configuración de front-end

    • Dirección IP de ERS2 de SAP estática 10.0.0.44
  • Configuración de back-end
    Las máquinas virtuales ya se han agregado al grupo de back-end de ILB.

  • Segundo puerto de sondeo

    • Puerto 621 nr
      Deje la opción predeterminada para Protocolo (TCP), Intervalo (5), Umbral incorrecto (2)
  • Segundas reglas de equilibrio de carga

    • Si usa Standard Load Balancer, seleccione Puertos HA

    • Si usa Load Balancer Básico, cree reglas de equilibrio de carga para los puertos siguientes

      • 32 nr TCP
      • 33 nr TCP
      • 5 nr 13 TCP
      • 5 nr 14 TCP
      • 5 nr 16 TCP
    • Asegúrese de que el tiempo de expiración de inactividad (minutos) esté establecido en el valor máximo de 30, por ejemplo, y que la dirección IP flotante (Direct Server Return) esté habilitada.

Sugerencia

Con la plantilla de Azure Resource Manager para WSFC para la instancia de ASCS/SCS de SAP con un disco compartido de Azure, puede automatizar la preparación de la infraestructura mediante el uso del disco compartido de Azure para un SID de SAP con ERS1.
La plantilla de Resource Manager de Azure creará dos máquinas virtuales Windows 2019 o 2016, creará un disco compartido de Azure y se conectará a las máquinas virtuales. También se creará y configurará el equilibrador de carga interno de Azure. Para obtener más información, consulte la plantilla de Resource Manager.

Incorporación de entradas del registro en ambos nodos de la instancia de ASCS/SCS

Azure Load Balancer pueden cerrar conexiones, si las conexiones están inactivas durante un período y superan el tiempo de espera de inactividad. Los proceso de trabajo de SAP abren conexiones con el proceso de puesta en cola de SAP tan pronto como se deba enviar la primera solicitud para poner en cola y para quitar de la cola. Para evitar interrumpir estas conexiones, cambie los valores de KeepAliveTime y KeepAliveInterval de TCP/IP en ambos nodos del clúster. Si usa ERS1, también es necesario agregar parámetros de perfil de SAP, como se describe más adelante en este artículo. Se deben cambiar las siguientes entradas del registro en ambos nodos del clúster:

  • KeepAliveTime
  • KeepAliveInterval
Ruta de acceso Nombre de la variable Tipo de variable Value Documentación
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime REG_DWORD (Decimal) 120000 KeepAliveTime
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval REG_DWORD (Decimal) 120000 KeepAliveInterval

Para aplicar los cambios, reinicie ambos nodos del clúster.

Incorporación de las máquinas virtuales de Windows al dominio

Después de asignar direcciones IP estáticas a las máquinas virtuales, agregue las máquinas virtuales al dominio.

Instalación y configuración de un clúster de conmutación por error de Windows

Instalación de la característica del clúster de conmutación por error de Windows

Ejecute este comando en uno de los nodos del clúster:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# Install Windows features.
# After the feature installs, manually reboot both nodes
Invoke-Command $ClusterNodes {Install-WindowsFeature Failover-Clustering, FS-FileServer -IncludeAllSubFeature -IncludeManagementTools }

Una vez completada la instalación de la característica, reinicie ambos nodos del clúster.

Prueba y configuración de un clúster de conmutación por error de Windows

En Windows 2019, el clúster reconocerá automáticamente que se ejecuta en Azure y, como opción predeterminada para la dirección IP de administración de clústeres, usará el nombre de red distribuida. Por lo tanto, usará cualquiera de las direcciones IP locales de los nodos del clúster. Como resultado, no es necesario un nombre de red dedicado (virtual) para el clúster, y no es necesario configurar esta dirección IP en el equilibrador de carga interno de Azure.

Para más información, consulte Windows Server 2019 Failover Clustering New features (Nuevas características de clústeres de conmutación por error de Windows Server 2019). Ejecute este comando en uno de los nodos del clúster:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# IP adress for cluster network name is needed ONLY on Windows Server 2016 cluster
$ClusterStaticIPAddress = "10.0.0.42"

# Test cluster
Test-Cluster –Node $ClusterNodes -Verbose

$ComputerInfo = Get-ComputerInfo

$WindowsVersion = $ComputerInfo.WindowsProductName

if($WindowsVersion -eq "Windows Server 2019 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2019 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes -Verbose
}elseif($WindowsVersion -eq "Windows Server 2016 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2016 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes –StaticAddress $ClusterStaticIPAddress -Verbose 
}else{
    Write-Error "Not supported Windows version!"
}

Configuración del cuórum de nube del clúster

A medida que use Windows Server 2016 o 2019, se recomienda configurar el testigo en la nube de Azure como cuórum del clúster.

Ejecute este comando en uno de los nodos del clúster:

$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose

Ajuste de los umbrales del clúster de conmutación por error de Windows

Después de instalar correctamente el clúster de conmutación por error de Windows, debe ajustar algunos umbrales para que sea adecuado para los clústeres implementados en Azure. Los parámetros que se van a cambiar se documentan en Ajuste de los umbrales de la red en clúster de conmutación por error. Suponiendo que las dos máquinas virtuales que forman la configuración del clúster de Windows para ASCS/SCS están en la misma subred, los parámetros siguientes deben cambiarse a estos valores:

  • SameSubNetDelay = 2000
  • SameSubNetThreshold = 15
  • RoutingHistoryLength = 30

Esta configuración se ha probado con clientes y ofrece un buen compromiso. Es lo suficientemente resistente y también proporciona una conmutación por error que es lo suficientemente rápida en condiciones de error real en cargas de trabajo de SAP o en el error de una máquina virtual.

Configuración de un disco compartido de Azure

Esta sección solo es aplicable si usa el disco compartido de Azure.

Creación y conexión de un disco compartido de Azure con PowerShell

Ejecute este comando en uno de los nodos del clúster. Tendrá que ajustar los valores para el grupo de recursos, la región de Azure, SAPSID, etc.

#############################
# Create Azure Shared Disk
#############################

$ResourceGroupName = "MyResourceGroup"
$location = "MyAzureRegion"
$SAPSID = "PR1"

$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"

# With parameter '-MaxSharesCount', we define the maximum number of cluster nodes to attach the shared disk
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in availability set, use below storage SkuName
$SkuName = "Premium_LRS"
# For SAP deployment in availability zone, use below storage SkuName
$SkuName = "Premium_ZRS"
            
$diskConfig = New-AzDiskConfig -Location $location -SkuName $SkuName  -CreateOption Empty  -DiskSizeGB $DiskSizeInGB -MaxSharesCount $NumberOfWindowsClusterNodes
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $diskConfig

##################################
## Attach the disk to cluster VMs
##################################
# ASCS Cluster VM1
$ASCSClusterVM1 = "$SAPSID-ascs-10"

# ASCS Cluster VM2
$ASCSClusterVM2 = "$SAPSID-ascs-11"

# Add the Azure Shared Disk to Cluster Node 1
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM1 
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

# Add the Azure Shared Disk to Cluster Node 2
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM2
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

Formato del disco compartido con PowerShell

  1. Obtenga el número de disco. Ejecute los comandos de PowerShell en uno de los nodos del clúster:

     Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
     # Example output
     # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
     # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
     # 2      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
    
  2. Aplique formato al disco. En este ejemplo, el número de disco es 2.

     # Format SAP ASCS Disk number '2', with drive letter 'S'
     $SAPSID = "PR1"
     $DiskNumber = 2
     $DriveLetter = "S"
     $DiskLabel = "$SAPSID" + "SAP"
    
     Get-Disk -Number $DiskNumber | Where-Object PartitionStyle -Eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru |  New-Partition -DriveLetter $DriveLetter -UseMaximumSize | Format-Volume  -FileSystem ReFS -NewFileSystemLabel $DiskLabel -Force -Verbose
     # Example outout
     # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
     # ----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
     # S           PR1SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. Compruebe que el disco esté ahora visible como disco de clúster.

     # List all disks
     Get-ClusterAvailableDisk -All
     # Example output
     # Cluster    : pr1clust
     # Id         : 88ff1d94-0cf1-4c70-89ae-cbbb2826a484
     # Name       : Cluster Disk 1
     # Number     : 2
     # Size       : 549755813888
     # Partitions : {\\?\GLOBALROOT\Device\Harddisk2\Partition2\}
    
  4. Registre el disco en el clúster.

     # Add the disk to cluster 
     Get-ClusterAvailableDisk -All | Add-ClusterDisk
     # Example output     
     # Name           State  OwnerGroup        ResourceType 
     # ----           -----  ----------        ------------ 
     # Cluster Disk 1 Online Available Storage Physical Disk
    

SIOS DataKeeper Cluster Edition para un disco compartido de clúster de ASCS/SCS de SAP

Esta sección solo es aplicable si usa el software de terceros SIOS DataKeeper Cluster Edition para crear un almacenamiento reflejado que simula el disco compartido de clúster.

Ahora tiene una configuración de clústeres de conmutación por error de Windows Server activa en Azure. Para instalar una instancia de ASCS/SCS de SAP, necesita un recurso de disco compartido. SIOS DataKeeper Cluster Edition es una solución de terceros que puede usar para crear recursos de disco compartido.

Para instalar SIOS DataKeeper Cluster Edition en un disco compartido de clúster de ASCS/SCS de SAP, siga estos pasos:

  • Agregue Microsoft .NET Framework, si se necesita. Consulte la documentación de SIOS para ver los requisitos de .NET Framework más actualizados.
  • Instalación de SIOS DataKeeper
  • Configuración de SIOS DataKeeper

Instalación de SIOS DataKeeper

Instale SIOS DataKeeper Cluster Edition en cada nodo del clúster. Con SIOS DataKeeper, para crear el almacenamiento compartido virtual, cree un reflejo sincronizado y, luego, simule el almacenamiento compartido de clúster.

Antes de instalar el software de SIOS, cree el usuario de dominio DataKeeperSvc.

Nota

Agregue el usuario DataKeeperSvc al grupo de administradores locales en ambos nodos del clúster.

  1. Instale el software SIOS en ambos nodos del clúster.

    Instalador de SIOS

    Figura 31: Primera página de la instalación de SIOS DataKeeper

    Primera página de la instalación de SIOS DataKeeper

  2. En el cuadro de diálogo, seleccione .

    Figura 32: DataKeeper le informa que se deshabilitará un servicio

    Información de DataKeeper de la próxima deshabilitación de un servicio

  3. En el cuadro de diálogo, se recomienda seleccionar Cuenta de dominio o de servidor.

    Figura 33: Selección del usuario para SIOS DataKeeper

    Selección del usuario para SIOS DataKeeper

  4. Escriba el nombre de usuario y la contraseña de la cuenta de dominio que creó para SIOS DataKeeper.

    Figura 34: Introducción del nombre de usuario y contraseña de dominio para la instalación de SIOS DataKeeper

    Introducción del nombre de usuario y contraseña de dominio para la instalación de SIOS DataKeeper

  5. Instale la clave de licencia para la instancia de SIOS DataKeeper, tal como aparece en la figura 35.

    Figura 35: Especificación de la licencia de SIOS DataKeeper

    Especificación de la clave de licencia de SIOS DataKeeper

  6. Cuando se le solicite, reinicie la máquina virtual.

Configuración de SIOS DataKeeper

Después de instalar SIOS DataKeeper en ambos nodos, inicie la configuración. El objetivo de la configuración es conseguir la replicación sincrónica de datos entre los discos adicionales conectados a cada una de las máquinas virtuales.

  1. Inicie la herramienta de configuración y administración de DataKeeper y, luego, seleccione Servidor de conexión.

    Figura 36: Herramienta de configuración y administración de SIOS DataKeeper

    Herramienta de configuración y administración de SIOS DataKeeper

  2. Escriba el nombre o la dirección TCP/IP del primer nodo al que se debe conectar la herramienta de configuración y administración y, en un segundo paso, el segundo nodo.

    Figura 37: Inserte el nombre o la dirección TCP/IP del primer nodo al que se debe conectar la herramienta de configuración y administración y, en un segundo paso, el segundo nodo

    Inserción del nombre o la dirección TCP/IP del primer nodo al que se debe conectar la herramienta de configuración y administración y, en un segundo paso, el segundo nodo.

  3. Cree el trabajo de replicación entre los dos nodos.

    Figura 38: Creación de un trabajo de replicación

    Creación de un trabajo de replicación

    Un asistente le guía por el proceso de crear un trabajo de replicación.

  4. Defina el nombre del trabajo de replicación.

    Figura 39: Definición del nombre del trabajo de replicación

    Definición del nombre del trabajo de replicación

    Figura 40: Definición de los datos básicos para el nodo que debe ser el nodo de origen actual

    Definición de los datos básicos para el nodo que debe ser el nodo de origen actual

  5. Defina el nombre, la dirección TCP/IP y el volumen de disco del nodo de destino.

    Figura 41: Definición del nombre, la dirección TCP/IP y el volumen de disco del nodo de destino actual

    Definición del nombre, la dirección TCP/IP y el volumen de disco del nodo de destino actual

  6. Defina los algoritmos de compresión. En el ejemplo, se recomienda comprimir el flujo de replicación. Especialmente en situaciones de resincronización, la compresión del flujo de replicación reduce considerablemente el tiempo que se tarda en resincronizar. La compresión usa los recursos de CPU y RAM de una máquina virtual. A medida que aumenta la tasa de compresión, también aumenta el volumen de los recursos de CPU usados. Puede ajustar esta configuración más adelante.

  7. Otra configuración que debe comprobar es si la replicación se ejecuta de forma sincrónica o asincrónica. Cuando proteja configuraciones de ASCS/SCS de SAP, debe usar la replicación sincrónica.

    Figura 42: Definición de los detalles de la replicación

    Definición de los detalles de la replicación

  8. Defina si el volumen que el trabajo de replicación replica se debe representar en una configuración de clúster de conmutación por error de Windows Server como disco compartido. Para la configuración de ASCS/SCS de SAP, seleccione de manera que el clúster de Windows vea el volumen replicado como un disco compartido que puede usar como volumen de clúster.

    Figura 43: Selección de Sí para establecer el volumen replicado como volumen de clúster

    Selección de para establecer el volumen replicado como volumen de clúster

    Una vez creado el volumen, la herramienta de configuración y administración de DataKeeper muestra que el trabajo de replicación está activo.

    Figura 44: El reflejo sincrónico de DataKeeper para el disco compartido de ASCS/SCS de SAP está activo

    El reflejo sincrónico de DataKeeper para el disco compartido de ASCS/SCS de SAP está activo

    Ahora, el Administrador de clústeres de conmutación por error muestra el disco como un disco de DataKeeper, tal como aparece en la figura 45:

    Figura 45: El Administrador de clústeres de conmutación por error muestra el disco que DataKeeper replicó

    El Administrador de clústeres de conmutación por error muestra el disco que DataKeeper replicó

Pasos siguientes