SAP ASCS/SCS exemplo multi-SID alta disponibilidade com Windows Server Failover Clustering e disco compartilhado em Azure

O WINDOWS OS Janelas

Se tiver uma implementação SAP, deve utilizar um equilibrador de carga interno para criar uma configuração de cluster Windows para casos de Serviços Centrais SAP (ASCS/SCS).

Este artigo centra-se em como passar de uma única instalação ASCS/SCS para uma configuração MULTI-SID SAP, instalando instâncias adicionais agrupadas SAP ASCS/SCS num cluster existente do Windows Server Failover Clustering (WSFC) com disco partilhado, utilizando o SIOS para simular o disco partilhado. Quando este processo estiver concluído, configurar um cluster SAP multi-SID.

Nota

Esta funcionalidade encontra-se disponível apenas no modelo de implementação Azure Resource Manager.

Existe um limite para o número de IPs frontais privados para cada balançador interno de carga Azure.

O número máximo de casos SAP ASCS/SCS num cluster WSFC é igual ao número máximo de IPs frontais privados para cada balançador interno de carga Azure.

Para obter mais informações sobre os limites do balançador de carga, consulte a secção "IP frontal privado por balançador de carga" nos limites de rede: Azure Resource Manager.

Importante

O IP flutuante não é suportado numa configuração IP secundária do NIC em cenários de equilíbrio de carga. Para mais detalhes consulte as limitações do balançador de carga Azure. Se precisar de um endereço IP adicional para o VM, implante um segundo NIC.

Nota

Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Consulte a instalação Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Já configuraste um cluster WSFC para usar para uma instância SAP ASCS/SCS utilizando a partilha de ficheiros, como mostrado neste diagrama.

Caso SAP ASCS/SCS de alta disponibilidade

Importante

A configuração deve satisfazer as seguintes condições:

  • As instâncias SAP ASCS/SCS devem partilhar o mesmo cluster WSFC.
  • Cada sistema de gestão de bases de dados (DBMS) SID deve ter o seu próprio cluster WSFC dedicado.
  • Os servidores de aplicações SAP que pertencem a um sistema SAP SID devem ter os seus próprios VMs dedicados.
  • Não é suportada uma mistura de Enqueue Replication Server 1 e Enqueue Replication Server 2 no mesmo cluster.

Arquitetura MULTI-SID SAP ASCS/SCS com disco partilhado

O objetivo é instalar vários casos AGS ABAP ASCS ou SAP Java SCS agrupados no mesmo cluster WSFC, como ilustrado aqui:

Múltiplas instâncias agrupadas SAP ASCS/SCS em Azure

Para obter mais informações sobre os limites do balançador de carga, consulte a secção "IP frontal privado por balançador de carga" nos limites de rede: Azure Resource Manager.

A paisagem completa com dois sistemas SAP de alta disponibilidade seria assim:

Configuração multi-SID de alta disponibilidade SAP com dois SIDs de sistema SAP

Prepare a infraestrutura para um cenário SAP multi-SID

Para preparar a sua infraestrutura, pode instalar uma instância SAP ASCS/SCS adicional com os seguintes parâmetros:

Nome do parâmetro Valor
SAP ASCS/SCS SID pr1-lb-ascs
Equilibrador interno de carga SAP DBMS PR5
Nome de anfitrião virtual SAP pr5-sap-cl
Endereço IP do anfitrião virtual SAP ASCS/SCS (endereço IP adicional do balanceador de carga Azure) 10.0.0.50
Número de instância SAP ASCS/SCS 50
Porta de sonda ILB para instância ADICIONAL SAP ASCS/SCS 62350

Nota

Para as instâncias de cluster SAP ASCS/SCS, cada endereço IP requer uma porta de sonda única. Por exemplo, se um endereço IP num equilibrador interno de carga Azure utilizar a porta de sonda 62300, nenhum outro endereço IP nesse balanceador de carga pode utilizar a porta de sonda 62300.

Para os nossos propósitos, como a porta de sonda 62300 já está reservada, estamos a usar a porta de sonda 62350.

Pode instalar instâncias SAP ASCS/SCS adicionais no cluster WSFC existente com dois nós:

Papel da máquina virtual Nome do anfitrião da máquina virtual Endereço IP estático
Primeiro nó de cluster para instância ASCS/SCS pr1-ascs-0 10.0.0.10
Segundo nó de cluster para instância ASCS/SCS pr1-ascs-1 10.0.0.9

Crie um nome de anfitrião virtual para a instância SAP ASCS/SCS agrupada no servidor DNS

Pode criar uma entrada DNS para o nome de anfitrião virtual da instância ASCS/SCS utilizando os seguintes parâmetros:

Novo nome de anfitrião virtual SAP ASCS/SCS Endereço IP associado
pr5-sap-cl 10.0.0.50

O novo nome de anfitrião e endereço IP são apresentados no DNS Manager, como mostra a seguinte imagem:

Lista de DnS Manager destacando a entrada de DNS definida para o novo nome virtual do cluster SAP ASCS/SCS e endereço TCP/IP

Nota

O novo endereço IP que atribui ao nome de anfitrião virtual da instância ASCS/SCS adicional deve ser o mesmo que o novo endereço IP que atribuiu ao equilibrador de carga SAP Azure.

No nosso cenário, o endereço IP é 10.0.0.50.

Adicione um endereço IP a um equilibrador interno de carga Azure existente utilizando o PowerShell

Para criar mais de uma instância SAP ASCS/SCS no mesmo cluster WSFC, utilize o PowerShell para adicionar um endereço IP a um equilibrador interno de carga Azure existente. Cada endereço IP requer as suas próprias regras de equilíbrio de carga, porta sonda, piscina IP frontal e piscina traseira.

O seguinte script adiciona um novo endereço IP a um equilibrador de carga existente. Atualize as variáveis PowerShell para o seu ambiente. O script cria todas as regras de equilíbrio de carga necessárias para todas as portas SAP ASCS/SCS.


# 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

Após a execução do script, os resultados são apresentados no portal do Azure, como mostra a seguinte imagem:

Novo pool IP frontal no portal do Azure

Adicione discos a máquinas de cluster e configuure o disco de partilha de cluster SIOS

Deve adicionar um novo disco de partilha de cluster para cada instância SAP ASCS/SCS adicional. Para Windows Server 2012 R2, o disco de partilha de cluster WSFC atualmente em uso é a solução de software SIOS DataKeeper.

Faça o seguinte:

  1. Adicione um disco ou discos adicionais do mesmo tamanho (que precisa de riscar) a cada um dos nós do cluster e formate-os.
  2. Configure a replicação do armazenamento com o SIOS DataKeeper.

Este procedimento pressupõe que já instalou o SIOS DataKeeper nas máquinas de cluster WSFC. Se o instalou, tem agora de configurar a replicação entre as máquinas. O processo é descrito em detalhe na Instalação SIOS DataKeeper Cluster Edition para o disco de partilha de cluster SAP ASCS/SCS.

DataKeeper espelhamento sincronizado para o novo disco de partilha SAP ASCS/SCS

Implementar VMs para servidores de aplicações SAP e o cluster DBMS

Para completar a preparação da infraestrutura para o segundo sistema SAP, faça o seguinte:

  1. Implemente VMs dedicados para os servidores de aplicações SAP e coloque cada um no seu próprio grupo de disponibilidade dedicado.
  2. Implementar VMs dedicados para o cluster DBMS, e colocar cada um no seu próprio grupo de disponibilidade dedicado.

Instale um sistema MULTI-SID SAP NetWeaver

Para obter uma descrição do processo completo de instalação de um segundo sistema SAP SID2, consulte a instalação SAP NetWeaver HA no Windows Failover Cluster e o disco partilhado para uma instância SAP ASCS/SCS.

O procedimento de alto nível é o seguinte:

  1. Instale o SAP com uma instância ASCS/SCS de alta disponibilidade.
    Neste passo, está a instalar o SAP com uma instância ASCS/SCS de alta disponibilidade no nó de cluster WSFC 1 existente.

  2. Modifique o perfil SAP da instância ASCS/SCS.

  3. Configurar uma porta de sonda.
    Neste passo, está a configurar uma porta de sonda SAP-SID2-IP de recurso SAP-SID2-IP utilizando o PowerShell. Execute esta configuração num dos nós de cluster SAP ASCS/SCS.

  4. Instale a placa da base de dados.
    Para instalar o segundo cluster, siga os passos no guia de instalação SAP.

  5. Instale o segundo nó de cluster.
    Neste passo, está a instalar o SAP com uma instância ASCS/SCS de alta disponibilidade no nó de cluster WSFC existente 2. Para instalar o segundo cluster, siga os passos no guia de instalação SAP.

  6. Abra as portas do Windows Firewall para a instância SAP ASCS/SCS e a porta de sonda.
    Em ambos os nós de cluster que são utilizados para casos SAP ASCS/SCS, está a abrir todas as portas do Windows Firewall que são utilizadas pelo SAP ASCS/SCS. Estas portas de instância SAP ASCS/SCS estão listadas no capítulo SAP ASCS/SCS Ports.

    Para obter uma lista de todas as outras portas SAP, consulte as portas TCP/IP de todos os produtos SAP.

    Abra também a porta de sonda de carga interna Azure, que é 62350 no nosso cenário. É descrito neste artigo.

  7. Instale o servidor de aplicação primária SAP no novo VM dedicado, conforme descrito no guia de instalação SAP.

  8. Instale o servidor de aplicações adicionais SAP no novo VM dedicado, conforme descrito no guia de instalação SAP.

  9. Teste a falha de falha da instância SAP ASCS/SCS e a replicação do SIOS.

Passos seguintes