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 OS 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.

Importante

La dirección IP flotante no se admite en una configuración de IP secundaria de NIC para los 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.

Nota

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. 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.

High-availability SAP ASCS/SCS instance

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:

Multiple SAP ASCS/SCS clustered instances in 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.

La visión global con la perspectiva completa con dos sistemas SAP de alta disponibilidad sería esta:

SAP high-availability multi-SID setup with two SAP system SIDs

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:

DNS Manager list highlighting the defined DNS entry for the new SAP ASCS/SCS cluster virtual name and TCP/IP address

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:

New front-end IP pool in the Azure portal

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:

  1. 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.
  2. 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.

DataKeeper synchronous mirroring for the new SAP ASCS/SCS share disk

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:

  1. Implementar máquinas virtuales dedicadas para servidores de aplicaciones de SAP y colocarlas en su propio grupo de disponibilidad dedicado.
  2. 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:

  1. 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.

  2. Modifique el perfil SAP de la instancia de ASCS/SCS.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. Pruebe la conmutación por error de la instancia de ASCS/SCS de SAP y de la replicación de SIOS.

Pasos siguientes