Alta disponibilidade de instância SAP ASCS/SCS multi-SID com Clustering de Failover do Windows Server e disco compartilhado no Azure
Mac OS
Se você tiver uma implantação SAP, deverá usar um balanceador de carga interno para criar uma configuração de cluster do Windows para instâncias do SAP Central Services (ASCS/SCS).
Este artigo se concentra em como passar de uma única instalação ASCS/SCS para uma configuração SAP multi-SID instalando instâncias clusterizadas SAP ASCS/SCS adicionais em um cluster WSFC (Windows Server Failover Clustering) existente com disco compartilhado, usando SIOS para simular disco compartilhado. Quando esse processo estiver concluído, você terá configurado um cluster SAP multi-SID.
Nota
Esse recurso está disponível somente no modelo de implantação do Azure Resource Manager.
Há um limite no número de IPs front-end privados para cada balanceador de carga interno do Azure.
O número máximo de instâncias SAP ASCS/SCS em um cluster WSFC é igual ao número máximo de IPs front-end privados para cada balanceador de carga interno do Azure.
Para obter mais informações sobre limites do balanceador de carga, consulte a seção "IP front-end privado por balanceador de carga" em Limites de rede: Azure Resource Manager.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Você já configurou um cluster WSFC para usar em uma instância SAP ASCS/SCS usando o compartilhamento de arquivos, conforme mostrado neste diagrama.
Importante
A configuração deve atender às seguintes condições:
- As instâncias SAP ASCS/SCS devem compartilhar o mesmo cluster WSFC.
- Cada SID do sistema de gerenciamento de banco de dados (DBMS) deve ter seu próprio cluster WSFC dedicado.
- Os servidores de aplicativos SAP que pertencem a um SID do sistema SAP devem ter suas próprias VMs dedicadas.
- Não há suporte para uma combinação de Enqueue Replication Server 1 e Enqueue Replication Server 2 no mesmo cluster.
Arquitetura multi-SID SAP ASCS/SCS com disco compartilhado
O objetivo é instalar várias instâncias clusterizadas SAP ABAP ASCS ou SAP Java SCS no mesmo cluster WSFC, conforme ilustrado aqui:
Para obter mais informações sobre limites do balanceador de carga, consulte a seção "IP front-end privado por balanceador de carga" em Limites de rede: Azure Resource Manager.
O cenário completo com dois sistemas SAP de alta disponibilidade ficaria assim:
Preparar a infraestrutura para um cenário SAP multi-SID
Para preparar sua infraestrutura, você pode instalar uma instância adicional do SAP ASCS/SCS com os seguintes parâmetros:
Nome do parâmetro | Value |
---|---|
SAP ASCS/SCS SID | PR1-LB-ASCs |
Balanceador de carga interno SAP DBMS | PR5 |
Nome do host virtual SAP | PR5-SAP-CL |
Endereço IP do host virtual SAP ASCS/SCS (endereço IP adicional do balanceador de carga do Azure) | 10.0.0.50 |
Número da instância SAP ASCS/SCS | 50 |
Porta de sonda ILB para instância adicional SAP ASCS/SCS | 62350 |
Nota
Para instâncias de cluster SAP ASCS/SCS, cada endereço IP requer uma porta de teste exclusiva. Por exemplo, se um endereço IP em um balanceador de carga interno do Azure usa a porta de teste 62300, nenhum outro endereço IP nesse balanceador de carga pode usar a porta de teste 62300.
Para nossos propósitos, como a porta de sonda 62300 já está reservada, estamos usando a porta de sonda 62350.
É possível instalar instâncias adicionais do SAP ASCS/SCS no cluster WSFC existente com dois nós:
Função de máquina virtual | Nome do host 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 |
Criar um nome de host virtual para a instância SAP ASCS/SCS clusterizada no servidor DNS
Você pode criar uma entrada DNS para o nome do host virtual da instância ASCS/SCS usando os seguintes parâmetros:
Novo nome de host virtual SAP ASCS/SCS | Endereço IP associado |
---|---|
PR5-SAP-CL | 10.0.0.50 |
O novo nome de host e endereço IP são exibidos no Gerenciador DNS, conforme mostrado na captura de tela a seguir:
Nota
O novo endereço IP atribuído ao nome do host virtual da instância ASCS/SCS adicional deve ser o mesmo que o novo endereço IP atribuído ao balanceador de carga do SAP Azure.
Em nosso cenário, o endereço IP é 10.0.0.50.
Adicionar um endereço IP a um balanceador de carga interno do Azure existente usando o PowerShell
Para criar mais de uma instância SAP ASCS/SCS no mesmo cluster WSFC, use o PowerShell para adicionar um endereço IP a um balanceador de carga interno do Azure existente. Cada endereço IP requer suas próprias regras de balanceamento de carga, porta de teste, pool de IP front-end e pool back-end.
O script a seguir adiciona um novo endereço IP a um balanceador de carga existente. Atualize as variáveis do PowerShell para seu ambiente. O script cria todas as regras de balanceamento 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
Depois que o script for executado, os resultados serão exibidos no portal do Azure, conforme mostrado na captura de tela a seguir:
Adicionar discos a máquinas de cluster e configurar o disco de compartilhamento de cluster SIOS
Você deve adicionar um novo disco de compartilhamento de cluster para cada instância adicional do SAP ASCS/SCS. Para o Windows Server 2012 R2, o disco de compartilhamento de cluster WSFC atualmente em uso é a solução de software SIOS DataKeeper.
Efetue o seguinte procedimento:
- Adicione um disco ou discos adicionais do mesmo tamanho (que você precisa distribuir) a cada um dos nós do cluster e formate-os.
- Configure a replicação de armazenamento com o SIOS DataKeeper.
Este procedimento pressupõe que você já tenha instalado o SIOS DataKeeper nas máquinas de cluster WSFC. Se você o tiver instalado, deverá configurar a replicação entre as máquinas. O processo é descrito em detalhes em Instalar o SIOS DataKeeper Cluster Edition para o disco de compartilhamento de cluster SAP ASCS/SCS.
Implantar VMs para servidores de aplicativos SAP e o cluster DBMS
Para concluir a preparação da infraestrutura para o segundo sistema SAP, faça o seguinte:
- Implante VMs dedicadas para os servidores de aplicativos SAP e coloque cada uma em seu próprio grupo de disponibilidade dedicado.
- Implante VMs dedicadas para o cluster DBMS e coloque cada uma em seu próprio grupo de disponibilidade dedicado.
Instalar um sistema multi-SID SAP NetWeaver
Para obter uma descrição do processo completo de instalação de um segundo sistema SAP SID2, consulte Instalação do SAP NetWeaver HA no cluster de failover do Windows e disco compartilhado para uma instância SAP ASCS/SCS.
O procedimento de alto nível é o seguinte:
Instale o SAP com uma instância ASCS/SCS de alta disponibilidade.
Nesta etapa, você está instalando o SAP com uma instância ASCS/SCS de alta disponibilidade no nó de cluster WSFC 1 existente.Modifique o perfil SAP da instância ASCS/SCS.
Configure uma porta de sonda.
Nesta etapa, você está configurando uma porta de teste SAP-SID2-IP de recurso de cluster SAP usando o PowerShell. Execute essa configuração em um dos nós de cluster SAP ASCS/SCS.Instale a instância do banco de dados.
Para instalar o segundo cluster, siga as etapas no guia de instalação do SAP.Instale o segundo nó do cluster.
Nesta etapa, você está instalando o SAP com uma instância ASCS/SCS de alta disponibilidade no nó de cluster WSFC 2 existente. Para instalar o segundo cluster, siga as etapas no guia de instalação do SAP.Abra as portas do Firewall do Windows para a instância SAP ASCS/SCS e a porta de teste.
Em ambos os nós de cluster usados para instâncias SAP ASCS/SCS, você está abrindo todas as portas do Firewall do Windows usadas pelo SAP ASCS/SCS. Essas portas de instância SAP ASCS/SCS estão listadas no capítulo Portas SAP ASCS / SCS.Para obter uma lista de todas as outras portas SAP, consulte Portas TCP/IP de todos os produtos SAP.
Abra também a porta de teste do balanceador de carga interno do Azure, que é 62350 em nosso cenário. É descrito neste artigo.
Instale o servidor de aplicativos primário SAP na nova VM dedicada, conforme descrito no guia de instalação do SAP.
Instale o servidor de aplicativos adicional SAP na nova VM dedicada, conforme descrito no guia de instalação do SAP.
Teste o failover de instância SAP ASCS/SCS e a replicação SIOS.