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
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:
- Discos compartidos de Azure
- Uso de SIOS DataKeeper Cluster Edition para crear un almacenamiento reflejado, que simulará el disco compartido en 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)
- Puerto 621 nr
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
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 RAWAplique 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 GBCompruebe 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\}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.
Instale el software SIOS en ambos nodos del clúster.


Primera página de la instalación de SIOS DataKeeper
En el cuadro de diálogo, seleccione Sí.

Información de DataKeeper de la próxima deshabilitación de un servicio
En el cuadro de diálogo, se recomienda seleccionar Cuenta de dominio o de servidor.

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

Introducción del nombre de usuario y contraseña de dominio para la instalación de SIOS DataKeeper
Instale la clave de licencia para la instancia de SIOS DataKeeper, tal como aparece en la figura 35.

Especificación de la clave de licencia de SIOS DataKeeper
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.
Inicie la herramienta de configuración y administración de DataKeeper y, luego, seleccione Servidor de conexión.

Herramienta de configuración y administración de SIOS DataKeeper
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.

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.
Cree el trabajo de replicación entre los dos nodos.

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

Definición del nombre del trabajo de replicación

Definición de los datos básicos para el nodo que debe ser el nodo de origen actual
Defina el nombre, la dirección TCP/IP y el volumen de disco del nodo de destino.

Definición del nombre, la dirección TCP/IP y el volumen de disco del nodo de destino actual
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.
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.

Definición de los detalles de la replicación
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 Sí de manera que el clúster de Windows vea el volumen replicado como un disco compartido que puede usar como volumen de clúster.

Selección de Sí 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.

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:

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