Alta disponibilidad con varios identificadores de seguridad de instancia de ASCS/SCS de SAP para los clústeres de conmutación por error de Windows Server y el disco compartido en Azure
Windows
Si tiene una implementación de SAP, tiene que usar un equilibrador de carga interno para crear una configuración de clúster de Windows para las instancias de SAP Central Services (ASCS/SCS).
En este artículo nos centraremos en cómo pasar de una sola instalación ASCS/SCS a una configuración de varios identificadores de seguridad para SAP mediante la instalación de instancias en clúster ASCS/SCS de SAP adicionales en un clúster de conmutación por error de Windows Server (WSFC) existente, usando SIOS para simular un disco compartido. Cuando se complete este proceso, habrá configurado un clúster de varios identificadores de seguridad para SAP.
Nota
Esta característica solo está disponible en el modelo de implementación de Azure Resource Manager.
Hay un límite en el número de direcciones IP de front-end privadas por cada equilibrador de carga interno de Azure.
El número máximo de instancias ASCS/SCS de SAP en un clúster de WSFC es igual al número máximo de IP de front-end privadas por equilibrador de carga interno de Azure.
Para más información sobre los límites del equilibrador de carga, consulte la sección sobre la dirección IP privada de front-end por equilibrador de carga en Límites de redes: Azure Resource Manager.
Nota:
Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Requisitos previos
Ya ha configurado un clúster de WSFC que se utiliza para una instancia de ASCS/SCS de SAP con un recurso compartido de archivos, tal y como se muestra en este diagrama.
Importante
Debe cumplir las condiciones siguientes:
- Las instancias ASCS/SCS de SAP deben compartir el mismo clúster de WSFC.
- Cada SID del sistema de administración de bases de datos (DBMS) tiene que tener su propio clúster de WSFC dedicado.
- Los servidores de aplicaciones de SAP que pertenecen a un SID del sistema SAP tienen sus propias máquinas virtuales dedicadas.
- No se admite una combinación de Enqueue Replication Server 1 y Enqueue Replication Server 2 en el mismo clúster.
Arquitectura de varios identificadores de seguridad para ASCS/SCS de SAP con un disco compartido
El objetivo es poder instalar varias instancias en clúster SAP ABAP ASCS o SAP Java SCS en el mismo clúster de WSFC:
Para más información sobre los límites del equilibrador de carga, consulte la sección sobre la dirección IP privada de front-end por equilibrador de carga en Límites de redes: Azure Resource Manager.
La visión global con la perspectiva completa con dos sistemas SAP de alta disponibilidad sería esta:
Preparación de la infraestructura para un escenario de varios identificadores de seguridad de SAP
Para preparar la infraestructura, puede instalar una instancia de ASCS/SCS de SAP adicionales con los siguientes parámetros:
Nombre de parámetro | Value |
---|---|
SID de ASCS/SCS de SAP | pr1-lb-ascs |
Equilibrador de carga interno de DBMS de SAP | PR5 |
Nombre de host virtual de SAP | pr5-sap-cl |
Dirección IP del host virtual de ASCS/SCS de SAP (dirección IP adicional de Azure Load Balancer) | 10.0.0.50 |
Número de instancia de ASCS/SCS de SAP | 50 |
Puerto de sondeo de ILB para instancia adicional de ASCS/SCS de SAP | 62350 |
Nota
Para las instancias en clúster ASCS/SCS de SAP, cada dirección IP requiere un puerto de sondeo específico. Por ejemplo, si una dirección IP en un equilibrador de carga interno de Azure usa el puerto de sondeo 62300, no puede usarlo ninguna otra dirección IP de ese equilibrador de carga.
Para nuestro objetivo, dado que el puerto de sondeo 62300 está reservado, estamos usando el puerto de sondeo 62350.
Instalará la instancia adicional ASCS/SCS de SAP en el clúster de WSFC existente con dos nodos:
Rol de máquina virtual | Nombre de host de máquina virtual | Dirección IP estática |
---|---|---|
Primer nodo de clúster para la instancia de ASCS/SCS | pr1-ascs-0 | 10.0.0.10 |
Segundo nodo de clúster para la instancia de ASCS/SCS | pr1-ascs-1 | 10.0.0.9 |
Creación de un nombre de host virtual para la instancia de ASCS/SCS de SAP en clúster en el servidor DNS
Puede crear una entrada DNS para el nombre de host virtual de la instancia de ASCS/SCS con los siguientes parámetros:
Nuevo nombre de host virtual de ASCS/SCS de SAP | Dirección IP asociada |
---|---|
pr5-sap-cl | 10.0.0.50 |
El nuevo nombre de host y la dirección IP se muestran en el Administrador de DNS, como se muestra en la captura de pantalla siguiente:
Nota
La dirección IP que asigna al nombre de host virtual de la instancia de ASCS/SCS adicional debe ser la misma que la nueva dirección IP que asignó a Azure Load Balancer para SAP.
En nuestro escenario, la dirección IP es 10.0.0.50.
Adición de una dirección IP a un equilibrador de carga interno de Azure existente con PowerShell
Para crear más de una instancia de ASCS/SCS de SAP en el mismo clúster de WSFC, utilice PowerShell para agregar una dirección IP adicional a un equilibrador de carga interno de Azure existente. Cada dirección IP requiere sus propias reglas de equilibrio de carga, puerto de sondeo, grupo de IP de front-end y grupo de back-end.
El script siguiente agrega una nueva dirección IP a un equilibrador de carga existente. Actualice las variables de PowerShell de su entorno. El script crea todas las reglas de equilibrio de carga necesarias para todos los puertos de ASCS/SCS de SAP.
# Select-AzSubscription -SubscriptionId <xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>
Clear-Host
$ResourceGroupName = "SAP-MULTI-SID-Landscape" # Existing resource group name
$VNetName = "pr2-vnet" # Existing virtual network name
$SubnetName = "Subnet" # Existing subnet name
$ILBName = "pr2-lb-ascs" # Existing ILB name
$ILBIP = "10.0.0.50" # New IP address
$VMNames = "pr2-ascs-0","pr2-ascs-1" # Existing cluster virtual machine names
$SAPInstanceNumber = 50 # SAP ASCS/SCS instance number: must be a unique value for each cluster
[int]$ProbePort = "623$SAPInstanceNumber" # Probe port: must be a unique value for each IP and load balancer
$ILB = Get-AzLoadBalancer -Name $ILBName -ResourceGroupName $ResourceGroupName
$count = $ILB.FrontendIpConfigurations.Count + 1
$FrontEndConfigurationName ="lbFrontendASCS$count"
$LBProbeName = "lbProbeASCS$count"
# Get the Azure virtual network and subnet
$VNet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName
$Subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $VNet -Name $SubnetName
# Add a second front-end and probe configuration
Write-Host "Adding new front end IP Pool '$FrontEndConfigurationName' ..." -ForegroundColor Green
$ILB | Add-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -PrivateIpAddress $ILBIP -SubnetId $Subnet.Id
$ILB | Add-AzLoadBalancerProbeConfig -Name $LBProbeName -Protocol Tcp -Port $Probeport -ProbeCount 2 -IntervalInSeconds 10 | Set-AzLoadBalancer
# Get a new updated configuration
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Get an updated LP FrontendIpConfig
$FEConfig = Get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$HealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
# Add a back-end configuration into an existing ILB
$BackEndConfigurationName = "backendPoolASCS$count"
Write-Host "Adding new backend Pool '$BackEndConfigurationName' ..." -ForegroundColor Green
$BEConfig = Add-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB | Set-AzLoadBalancer
# Get an updated config
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
# Assign VM NICs to the back-end pool
$BEPool = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
foreach($VMName in $VMNames){
$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName
$NICName = ($VM.NetworkInterfaceIDs[0].Split('/') | select -last 1)
$NIC = Get-AzNetworkInterface -name $NICName -ResourceGroupName $ResourceGroupName
$NIC.IpConfigurations[0].LoadBalancerBackendAddressPools += $BEPool
Write-Host "Assigning network card '$NICName' of the '$VMName' VM to the backend pool '$BackEndConfigurationName' ..." -ForegroundColor Green
Set-AzNetworkInterface -NetworkInterface $NIC
#start-AzVM -ResourceGroupName $ResourceGroupName -Name $VM.Name
}
# Create load-balancing rules
$Ports = "445","32$SAPInstanceNumber","33$SAPInstanceNumber","36$SAPInstanceNumber","39$SAPInstanceNumber","5985","81$SAPInstanceNumber","5$SAPInstanceNumber`13","5$SAPInstanceNumber`14","5$SAPInstanceNumber`16"
$ILB = Get-AzLoadBalancer -Name $ILBname -ResourceGroupName $ResourceGroupName
$FEConfig = get-AzLoadBalancerFrontendIpConfig -Name $FrontEndConfigurationName -LoadBalancer $ILB
$BEConfig = Get-AzLoadBalancerBackendAddressPoolConfig -Name $BackEndConfigurationName -LoadBalancer $ILB
$HealthProbe = Get-AzLoadBalancerProbeConfig -Name $LBProbeName -LoadBalancer $ILB
Write-Host "Creating load balancing rules for the ports: '$Ports' ... " -ForegroundColor Green
foreach ($Port in $Ports) {
$LBConfigrulename = "lbrule$Port" + "_$count"
Write-Host "Creating load balancing rule '$LBConfigrulename' for the port '$Port' ..." -ForegroundColor Green
$ILB | Add-AzLoadBalancerRuleConfig -Name $LBConfigRuleName -FrontendIpConfiguration $FEConfig -BackendAddressPool $BEConfig -Probe $HealthProbe -Protocol tcp -FrontendPort $Port -BackendPort $Port -IdleTimeoutInMinutes 30 -LoadDistribution Default -EnableFloatingIP
}
$ILB | Set-AzLoadBalancer
Write-Host "Successfully added new IP '$ILBIP' to the internal load balancer '$ILBName'!" -ForegroundColor Green
Cuando se haya ejecutado el script, los resultados se muestran en Azure Portal, como se muestra en la captura de pantalla siguiente:
Incorporación de discos a máquinas de clúster y configuración de discos compartidos de clúster de SIOS
Para cada nueva instancia adicional de SAP ASCS/SCS tiene que agregar un nuevo disco compartido de clúster. Para Windows Server 2012 R2, el disco compartido de clúster de WSFC que se usa actualmente es la solución de software SIOS DataKeeper.
Haga lo siguiente:
- Agregue discos adicionales o del mismo tamaño (que deba seccionar) con el mismo tamaño a cada uno de los nodos del clúster y formatéelos.
- Configure la replicación de almacenamiento con SIOS DataKeeper.
Este procedimiento da por supuesto que ya ha instalado SIOS DataKeeper en los equipos del clúster WSFC. Si se ha instalado, ahora debe configurar la replicación entre las máquinas. El proceso se describe detalladamente en el capítulo sobre la instalación de SIOS DataKeeper Cluster Edition para un disco compartido de clúster de ASCS/SCS de SAP.
Implementación de máquinas virtuales para servidores de aplicaciones SAP y clústeres de DBMS
Con el fin de finalizar la preparación de la infraestructura para el segundo sistema SAP, necesita lo siguiente:
- Implementar máquinas virtuales dedicadas para servidores de aplicaciones de SAP y colocarlas en su propio grupo de disponibilidad dedicado.
- Implementar máquinas virtuales dedicadas para el clúster de DBMS y colocarlas en su propio grupo de disponibilidad dedicado.
Instalación de un sistema de varios identificadores de seguridad para SAP NetWeaver
El proceso completo de instalación de un segundo sistema SAP SID2 se describe en la guía Instalación de alta disponibilidad para SAP NetWeaver en un clúster de conmutación por error de Windows y un disco compartido para una instancia de ASCS/SCS de SAP.
El procedimiento general es el siguiente:
Instale SAP con una instancia de ASCS/SCS de alta disponibilidad.
En este paso, instalará SAP con una instancia de ASCS/SCS de alta disponibilidad en el nodo 1 del clúster de WSFC existente.Configure un puerto de sondeo.
En este paso, va a configurar un puerto de sondeo SAP-SID2-IP del recurso de clúster de SAP mediante PowerShell. Ejecute esta configuración en uno de los nodos del clúster ASCS/SCS de SAP.Instalación de la instancia de base de datos.
Para instalar el segundo clúster, siga los pasos que aparecen en la guía de instalación de SAP.Instalación del segundo nodo de clúster.
En este paso, instalará SAP con una instancia de ASCS/SCS de alta disponibilidad en el nodo 2 del clúster de WSFC existente. Para instalar el segundo clúster, siga los pasos que aparecen en la guía de instalación de SAP.Apertura de los puertos de Firewall de Windows de la instancia de ASCS/SCS de SAP y el puerto de sondeo.
En ambos nodos del clúster usados para la instancia ASCS/SCS de SAP, abra todos los puertos de Firewall de Windows usados por los puertos ASCS/SCS de SAP. Estos puertos de la instancia de ASCS/SCS de SAP se enumeran en el capítulo Puertos ASCS/SCS de SAP.Para ver una lista de los demás puertos de SAP, consulte TCP/IP Ports of All SAP Products (Puertos TCP/IP de todos los productos de SAP).
Además, abra el puerto de sondeo del equilibrador de carga interno de Azure, que en nuestro caso es 62350. Se describe en este artículo.
Instale el servidor de aplicaciones principal de SAP en la nueva máquina virtual especializada, como se describe en la guía de instalación de SAP.
Instale el servidor de aplicaciones adicional de SAP en la nueva máquina virtual especializada, como se describe en la guía de instalación de SAP.
Pruebe la conmutación por error de la instancia de ASCS/SCS de SAP y de la replicación de SIOS.