Alta disponibilidade de vários SIDs da instância do SAP ASCS/SCS com clustering de failover do Windows Server e disco compartilhado no Azure
Windows
Se tiver uma implantação do SAP, você 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 aborda como passar de uma instalação ASCS/SCS única para uma configuração de vários SIDs do SAP com a instalação de instâncias em cluster do SAP ASCS/SCS adicionais em um cluster WSFC (Clustering de Failover do Windows Server) existente com disco compartilhado, usando SIOS para simular disco compartilhado. Quando esse processo for concluído, você terá configurado um cluster multi-SID SAP.
Observação
Esse recurso está disponível apenas no modelo de implantação do Azure Resource Manager.
Há um limite para o número de IPs de front-end privado para cada balanceador de carga interno do Azure.
O número máximo de instâncias do SAP ASCS/SCS em um cluster WSFC é igual ao número máximo de IPs de front-end privado para cada balanceador de carga interno do Azure.
Para saber mais sobre limites do balanceador de carga, confira a seção "IP de front-end privado por balanceador de carga" em Limites de rede: Azure Resource Manager.
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Pré-requisitos
Você já configurou um cluster WSFC utilizado para uma instância SAP ASCS/SCS usando o compartilhamento de arquivos, conforme mostrado neste diagrama.
Importante
A instalação deve atender às seguintes condições:
- As instâncias do SAP ASCS/SCS deverão compartilhar o mesmo cluster WSFC.
- Cada SID do DBMS (sistema de gerenciamento de banco de dados) deve ter seu próprio cluster WSFC dedicado.
- Os servidores de aplicativos SAP que pertencem a um SID do sistema SAP deverão ter suas próprias VMs dedicadas.
- Não há suporte para uma combinação do Servidor de Replicação de Enfileiramento 1 e do Servidor de Replicação de Enfileiramento 2 no mesmo cluster.
Arquitetura de vários SIDs do SAP ASCS/SCS com disco compartilhado
A meta é instalar várias instâncias clusterizadas do SAP ABAP ASCS ou do SAP Java SCS no mesmo cluster WSFC, conforme ilustrado aqui:
Para saber mais sobre limites do balanceador de carga, confira a seção "IP de 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 seria assim:
Prepare a infraestrutura para um cenário de vários SIDs do SAP
Para preparar sua infra-estrutura, é possível instalar uma instância do SAP ASCS/SCS adicional com os seguintes parâmetros:
Nome do parâmetro | Valor |
---|---|
SID do SAP ASCS/SCS | pr1-lb-ascs |
Balanceador de carga interno de DBMS SAP | PR5 |
Nome do host virtual do SAP | pr5-sap-cl |
Endereço IP do host virtual do SAP ASCS/SCS (endereço IP adicional do Azure Load Balancer) | 10.0.0.50 |
Número da instância do SAP ASCS/SCS | 50 |
Porta de investigação ILB para uma instância do SAP ASCS/SCS adicional | 62350 |
Observação
Para instâncias de cluster SAP ASCS/SCS, cada endereço IP exige uma porta de investigação única. Por exemplo, se um endereço IP em um balanceador de carga interno do Azure usar a porta de investigação 62300, nenhum outro endereço IP nesse balanceador de carga poderá usar a porta de investigação 62300.
Para nosso fim, como a porta de investigação 62300 já está reservada, estamos usando a porta de investigação 62350.
É possível instalar instâncias do SAP ASCS/SCS adicionais no cluster WSFC existente com dois nós:
Função da máquina virtual | Nome do host de máquina virtual | Endereço IP estático |
---|---|---|
Primeiro nó de cluster para a instância do ASCS/SCS | pr1-ascs-0 | 10.0.0.10 |
Segundo nó de cluster para a instância do ASCS/SCS | pr1-ascs-1 | 10.0.0.9 |
Criar um nome de host virtual para a instância do SAP ASCS/SCS clusterizada no servidor DNS
É possível criar uma entrada DNS para o nome de host virtual da instância do ASCS/SCS usando os seguintes parâmetros:
Novo nome de host virtual do 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 seguinte captura de tela:
Observação
O novo endereço IP atribuído ao nome de host virtual da instância do ASCS/SCS adicional deve ser igual ao novo endereço IP atribuído ao Azure Load Balancer do SAP.
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 do 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 investigação, pool IP de front-end e pool de 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 do 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 tiver sido executado, os resultados serão exibidos no portal do Azure, conforme mostrado na seguinte captura de tela:
Adicionar discos a computadores de cluster e configurar o disco de compartilhamento do cluster SIOS
É necessário adicionar um novo disco de compartilhamento de cluster para cada nova instância do SAP ASCS/SCS adicional. Para o Windows Server 2012 R2, o disco de compartilhamento do cluster WSFC atualmente em uso é a solução de software SIOS DataKeeper.
Faça o seguinte:
- Inclua discos adicionais com o mesmo tamanho (que você precisa distribuir) para cada um dos nós de cluster e formate-os.
- Configure a replicação de armazenamento com SIOS DataKeeper.
Este procedimento pressupõe que você já tenha instalado o SIOS DataKeeper em computadores do cluster WSFC. Se você o tiver instalado, agora será necessário configurar a replicação entre os computadores. O processo é descrito em detalhes em Instalar SIOS DataKeeper Cluster Edition para o disco compartilhado do cluster do SAP ASCS/SCS.
Implantar VMs em servidores de aplicativos SAP e 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 de vários SIDs do SAP NetWeaver
Para obter uma descrição do processo de instalação de um sistema SAP SID2 segundo completa, confira Instalação de alta disponibilidade do SAP NetWeaver no Cluster de Failover do Windows e disco compartilhado para uma instância do SAP ASCS/SCS.
O procedimento de alto nível é o seguinte:
Instalar o SAP com uma instância ASCS/SCS de alta disponibilidade.
Nesta etapa, instale o SAP com uma instância do ASCS/SCS de alta disponibilidade no nó de cluster WSFC existente 1.Configurar uma porta de investigação.
Nesta etapa, você configurará uma porta de investigação SAP-SID2-IP do recurso do cluster SAP usando o PowerShell. Execute essa configuração em um dos nós do cluster SAP ASCS/SCS.Instalar a instância de banco de dados.
Para instalar o segundo cluster, siga as etapas no guia de instalação do SAP.Instalar o segundo nó de cluster.
Nesta etapa, instale o SAP com uma instância do ASCS/SCS de alta disponibilidade no nó de cluster WSFC existente 2. Para instalar o segundo cluster, siga as etapas no guia de instalação do SAP.Abra portas do Firewall do Windows para a Instância do SAP ASCS/SCS e a ProbePort.
Em ambos os nós de cluster usados para as instâncias do SAP ASCS/SCS, abra todas as portas do Firewall do Windows usadas pelo SAP ASCS/SCS. Essas portas da instância SAP ASCS/SCS são listadas no capítulo Portas do SAP ASCS/SCS.Para obter uma lista de todas as outras portas do SAP, confira Portas TCP/IP de todos os produtos SAP.
Além disso, abra a porta de investigação do balanceador de carga interno do Azure, que, neste cenário, é 62350. Ela é descrita 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 da instância do SAP ASCS/SCS e a replicação do SIOS.