Compartilhar via


Prepare a infraestrutura do Azure para alta disponibilidade do SAP usando o cluster de failover do Windows e o disco compartilhado para a instância SAP ASCS/SCS

Windows OS Windows

Este artigo descreve as etapas para preparar a infraestrutura do Azure para instalar e configurar uma instância de ASCS/SCS SAP de alta disponibilidade em um cluster de failover do Windows usando um disco compartilhado de cluster como uma opção para clustering de um Instância SAP ASCS. Duas alternativas para o disco compartilhado do cluster são apresentadas na documentação:

A documentação não cobre a camada de banco de dados.

Pré-requisitos

Antes de iniciar a instalação, revise esse artigo:

Criar as VMs do ASCS

Para o cluster do SAP ASCS/SCS, implante duas VMs no conjunto de disponibilidade do Azure ou zonas de disponibilidade do Azure com base no tipo de implantação. Assim que as VMs forem implantadas:

  • Crie o Azure Load Balancer interno para a instância do SAP ASCS/SCS.
  • Adicionar VMs do Windows ao domínio do AD.

Com base no seu tipo de implantação, os nomes de host e os endereços IP do cenário seriam como:

Implantação do SAP no conjunto de disponibilidade do Azure

Função de nome de host Nome do host Endereço IP estático Conjunto de disponibilidade SkuName de disco
Primeiro cluster ASCS/SCS do nó de cluster pr1-ascs-10 10.0.0.4 pr1-ascs-avset Premium_LRS
Segundo cluster ASCS/SCS do nó de cluster pr1-ascs-11 10.0.0.5 pr1-ascs-avset
Nome da rede de clusters pr1clust 10.0.0.42 (somente para cluster do Win 2016) N/D
Nome da rede do cluster de ASCS pr1-ascscl 10.0.0.43 N/D
Nome de rede de cluster de ERS (somente para ERS2) pr1-erscl 10.0.0.44 N/D

Implantação do SAP em zonas de disponibilidade do Azure

Função de nome de host Nome do host Endereço IP estático Zona de disponibilidade SkuName de disco
Primeiro cluster ASCS/SCS do nó de cluster pr1-ascs-10 10.0.0.4 AZ01 Premium_ZRS
Segundo cluster ASCS/SCS do nó de cluster pr1-ascs-11 10.0.0.5 AZ02
Nome da rede de clusters pr1clust 10.0.0.42 (somente para cluster do Win 2016) N/D
Nome da rede do cluster de ASCS pr1-ascscl 10.0.0.43 N/D
Nome de rede de cluster de ERS (somente para ERS2) pr1-erscl 10.0.0.44 N/D

As etapas mencionadas no documento permanecem as mesmas para ambos os tipos de implantação. Mas se o cluster estiver em execução no conjunto de disponibilidade, você precisará implantar o LRS para o disco compartilhado premium (Premium_LRS) do Azure e se o cluster estiver em execução na zona de disponibilidade, implante o ZRS para disco compartilhado premium (Premium_ZRS) do Azure.

Observação

O grupo de posicionamento por proximidade do Azure não é necessário para o disco compartilhado do Azure. No entanto, para implantação do SAP com PPG, siga as diretrizes abaixo:

  • Se você estiver usando o sistema PPG para SAP implantado em uma região, todas as máquinas virtuais que compartilham um disco devem fazer parte do mesmo PPG.
  • Se você estiver usando o PPG para o sistema SAP implantado entre zonas, como descrito no documento Grupos de posicionamento por proximidade com implantações zonais, você poderá anexar Premium_ZRS armazenamento a máquinas virtuais que compartilham um disco.

Criar um balanceador de carga interno do Azure

Durante a configuração da VM, você pode criar ou selecionar o balanceador de carga existente na seção de rede. Para a arquitetura ENSA1 no Windows, você precisaria apenas de um endereço IP virtual para SAP ASCS/SCS. Por outro lado, a arquitetura ENSA2 necessita de dois endereços IP virtuais - um para SAP ASCS/SCS e outro para ERS2. Ao configurar um balanceador de carga interno padrão para a configuração de alta disponibilidade do SAP ASCS/SCS no Windows, siga as diretrizes abaixo.

  1. Configuração de IP frontend: Crie IP frontend (exemplo: 10.0.0.43). Selecione a mesma rede virtual e sub-rede que suas máquinas virtuais ASCS/ERS.
  2. Pool de Back-end: Criar um pool de back-end e adicionar VMs ASCS e ERS. Nesse exemplo, as VMs são pr1-ascs-10 e pr1-ascs-11.
  3. Regras de entrada: criar regras de balanceamento de carga.
    • Endereço IP de front-end: Selecionar o IP de front-end
    • Pool de back-end: Selecionar o pool de back-end
    • Verifique "Portas de alta disponibilidade"
    • Protocolo: TCP
    • Investigação de integridade: Crie uma investigação de integridade com os detalhes abaixo
      • Protocolo: TCP
      • Porta: [por exemplo: 620<Instance-no.> para ASCS]
      • Intervalo: 5
      • Limite de Investigação: 2
    • Tempo limite ocioso (minutos): 30
    • Verificar "Habilitar IP Flutuante"
  4. Aplicável apenas à arquitetura ENSA2: Crie IP de front-end adicional (10.0.0.44), regra de balanceamento de carga (use 621<Instance-no.> para porta de investigação de integridade do ERS2) conforme descrito nos pontos 1 e 3.

Observação

A propriedade de configuração Investigação de integridade, também conhecida como "Limite não íntegro" no portal, não é respeitada. Portanto, para controlar o número de investigações consecutivas bem-sucedidas ou com falha, defina a propriedade "probeThreshold" como 2. No momento, não é possível definir essa propriedade usando o portal do Azure, portanto, use o comando da CLI do Azure ou do PowerShell.

Observação

Quando as VMs sem endereços IP públicos forem colocadas no pool de back-end de um balanceador de carga Standard interno do Azure (sem endereço IP público), não haverá nenhuma conectividade de saída com a Internet, a menos que você execute configurações adicionais a fim de permitir o roteamento para pontos de extremidade públicos. Para obter detalhes sobre como alcançar conectividade de saída, veja Conectividade de ponto de extremidade público para máquinas virtuais usando um Standard Load Balancer do Azure em cenários de alta disponibilidade do SAP.

Dica

Com o Modelo do Azure Resource Manager para WSFC para instância SAP ASCS/SCS com o Disco Compartilhado do Azure, você pode automatizar a preparação da infraestrutura, usando o Disco Compartilhado do Azure para um SAP SID com ERS1.
O modelo do ARM do Azure criará duas VMs do Windows 2019 ou 2016, criará um disco compartilhado do Azure e anexará às VMs. O Azure Load Balance interno será criado e configurado também. Para mais informações, confira o modelo do ARM.

Adicione entradas de registro em ambos os nós de cluster da instância ASCS/SCS

O Azure Load Balancer pode fechar conexões ociosas por um período e que excederem o tempo limite de ociosidade. Os processos de trabalho do SAP abrem conexões com o processo de enfileiramento do SAP assim que a primeira solicitação para enfileirar/desenfileirar precisa ser enviada. Para evitar a interrupção dessas conexões, altere os valores KeepAliveTime e KeepAliveInterval do TCP/IP em ambos os nós de cluster. Se estiver usando o ERS1, também será necessário adicionar parâmetros de perfil SAP, conforme descrito posteriormente nesse artigo. As seguintes entradas de registro devem ser alteradas em ambos os nós de cluster:

  • KeepAliveTime
  • KeepAliveInterval
Caminho Nome da variável Tipo de variável Valor Documentação
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime REG_DWORD (Decimal) 120000 KeepAliveTime
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval REG_DWORD (Decimal) 120000 KeepAliveInterval

Para aplicar as alterações, reinicie os dois nós do cluster.

Adicionar as VMs Windows ao domínio

Depois de atribuir endereços IP estáticos às máquinas virtuais, adicione as máquinas virtuais ao domínio.

Instalar e configurar o cluster de failover do Windows

Instalar o recurso de cluster de failover do Windows

Execute o comando em um dos nós do cluster:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# Install Windows features.
# After the feature installs, manually reboot both nodes
Invoke-Command $ClusterNodes {Install-WindowsFeature Failover-Clustering, FS-FileServer -IncludeAllSubFeature -IncludeManagementTools }

Depois de concluir a instalação do recurso, reinicialize os dois nós do cluster.

Testar e configurar o cluster de failover do Windows

No Windows 2019, o cluster reconhecerá automaticamente que está em execução no Azure e, como opção padrão para IP de gerenciamento de cluster, usa o nome da Rede Distribuída. Portanto, ele usa qualquer um dos endereços IP locais dos nós do cluster. Como resultado, não há necessidade de um nome de rede dedicado (virtual) para o cluster e não há necessidade de configurar esse endereço IP no Azure Internal Load Balancer.

Para mais informações, confira Novos recursos de cluster de failover do Windows Server 2019. Execute este comando em um dos nós de cluster:

# Hostnames of the Win cluster for SAP ASCS/SCS
$SAPSID = "PR1"
$ClusterNodes = ("pr1-ascs-10","pr1-ascs-11")
$ClusterName = $SAPSID.ToLower() + "clust"

# IP adress for cluster network name is needed ONLY on Windows Server 2016 cluster
$ClusterStaticIPAddress = "10.0.0.42"

# Test cluster
Test-Cluster –Node $ClusterNodes -Verbose

$ComputerInfo = Get-ComputerInfo

$WindowsVersion = $ComputerInfo.WindowsProductName

if($WindowsVersion -eq "Windows Server 2019 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2019 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes -Verbose
}elseif($WindowsVersion -eq "Windows Server 2016 Datacenter"){
    write-host "Configuring Windows Failover Cluster on Windows Server 2016 Datacenter..."
    New-Cluster –Name $ClusterName –Node  $ClusterNodes –StaticAddress $ClusterStaticIPAddress -Verbose 
}else{
    Write-Error "Not supported Windows version!"
}

Configurar quorum de cluster de nuvem

Como você usa o Windows Server 2016 ou 2019, recomendamos configurar a testemunha de nuvem do Azure, como quorum de cluster.

Execute o comando em um dos nós do cluster:

$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose

Ajustar os limites do cluster de failover do Windows

Depois de instalar o cluster de failover do Windows, você precisa ajustar alguns limites para serem adequados aos clusters implantados no Azure. Os parâmetros a serem alterados estão documentados no blog Ajustar os limites de rede de cluster de failover. Supondo que as duas VMs que criam a configuração de Cluster do Windows para ASCS/SCS estejam na mesma sub-rede, os parâmetros a seguir precisam ser alterados para estes valores:

  • SameSubNetDelay = 2000
  • SameSubNetThreshold = 15
  • RouteHistoryLength = 30

Essas configurações foram testadas com clientes e oferecem um bom compromisso. Eles são suficientemente resilientes, mas também fornecem failover rápido o suficiente para condições de erro reais em cargas de trabalho SAP ou falhas de VM.

Configurar o disco compartilhado do Azure

Essa seção só é aplicável se você estiver usando o disco compartilhado do Azure.

Criar e anexar o disco compartilhado do Azure com o PowerShell

Execute o comando em um dos nós do cluster. Terá de ajustar os valores do seu grupo de recursos, região de Azure, SAPSID e assim por diante.

#############################
# Create Azure Shared Disk
#############################

$ResourceGroupName = "MyResourceGroup"
$location = "MyAzureRegion"
$SAPSID = "PR1"

$DiskSizeInGB = 512
$DiskName = "$($SAPSID)ASCSSharedDisk"

# With parameter '-MaxSharesCount', we define the maximum number of cluster nodes to attach the shared disk
$NumberOfWindowsClusterNodes = 2

# For SAP deployment in availability set, use below storage SkuName
$SkuName = "Premium_LRS"
# For SAP deployment in availability zone, use below storage SkuName
$SkuName = "Premium_ZRS"
   
$diskConfig = New-AzDiskConfig -Location $location -SkuName $SkuName  -CreateOption Empty  -DiskSizeGB $DiskSizeInGB -MaxSharesCount $NumberOfWindowsClusterNodes
$dataDisk = New-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $DiskName -Disk $diskConfig

##################################
## Attach the disk to cluster VMs
##################################
# ASCS Cluster VM1
$ASCSClusterVM1 = "$SAPSID-ascs-10"

# ASCS Cluster VM2
$ASCSClusterVM2 = "$SAPSID-ascs-11"

# Add the Azure Shared Disk to Cluster Node 1
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM1 
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

# Add the Azure Shared Disk to Cluster Node 2
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ASCSClusterVM2
$vm = Add-AzVMDataDisk -VM $vm -Name $DiskName -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
Update-AzVm -VM $vm -ResourceGroupName $ResourceGroupName -Verbose

Formatar o disco compartilhado com o PowerShell

  1. Obtenha o número do disco. Execute esses comandos do PowerShell em um dos nós do cluster:

    Get-Disk | Where-Object PartitionStyle -Eq "RAW"  | Format-Table -AutoSize 
    # Example output
    # Number Friendly Name     Serial Number HealthStatus OperationalStatus Total Size Partition Style
    # ------ -------------     ------------- ------------ ----------------- ---------- ---------------
    # 2      Msft Virtual Disk               Healthy      Online                512 GB RAW            
    
  2. Formate o disco. Nesse exemplo, é o disco número 2.

    # Format SAP ASCS Disk number '2', with drive letter 'S'
    $SAPSID = "PR1"
    $DiskNumber = 2
    $DriveLetter = "S"
    $DiskLabel = "$SAPSID" + "SAP"
    
    Get-Disk -Number $DiskNumber | Where-Object PartitionStyle -Eq "RAW" | Initialize-Disk -PartitionStyle GPT -PassThru |  New-Partition -DriveLetter $DriveLetter -UseMaximumSize | Format-Volume  -FileSystem ReFS -NewFileSystemLabel $DiskLabel -Force -Verbose
    # Example outout
    # DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining      Size
    # ----------- --------------- ---------- --------- ------------ ----------------- -------------      ----
    # S           PR1SAP          ReFS       Fixed     Healthy      OK                    504.98 GB 511.81 GB
    
  3. Verifique se o disco agora está visível como um disco de cluster.

    # List all disks
    Get-ClusterAvailableDisk -All
    # Example output
    # Cluster    : pr1clust
    # Id         : 88ff1d94-0cf1-4c70-89ae-cbbb2826a484
    # Name       : Cluster Disk 1
    # Number     : 2
    # Size       : 549755813888
    # Partitions : {\\?\GLOBALROOT\Device\Harddisk2\Partition2\}
    
  4. Registre o disco no cluster.

    # Add the disk to cluster 
    Get-ClusterAvailableDisk -All | Add-ClusterDisk
    # Example output  
    # Name           State  OwnerGroup        ResourceType 
    # ----           -----  ----------        ------------ 
    # Cluster Disk 1 Online Available Storage Physical Disk
    

SIOS DataKeeper Cluster Edition para disco de compartilhamento de cluster do SAP ASCS/SCS

Essa seção só será aplicável se você estiver usando o software de terceiros SIOS DataKeeper Cluster Edition para criar um armazenamento espelhado que simula o disco compartilhado do cluster.

Agora, você tem uma configuração de clustering de failover do Windows Server em funcionamento no Azure. Mas para instalar uma instância do SAP ASCS/SCS, você precisa de um recurso de disco compartilhado. Uma das opções é usar o SIOS DataKeeper Cluster Edition, uma solução de terceiros para criar recursos de disco compartilhados.

Instalar o SIOS DataKeeper Cluster Edition para o disco de compartilhamento de cluster do SAP ASCS/SCS envolve as seguintes tarefas:

  • Adicione o Microsoft .NET Framework se necessário. Confira a documentação do SIOS para ver os requisitos de estrutura .NET mais atualizados
  • Instalar SIOS DataKeeper
  • Configurar o SIOS DataKeeper

Instalar SIOS DataKeeper

Instale o SIOS DataKeeper Cluster Edition em cada nó no cluster. Para criar um armazenamento compartilhado virtual com o SIOS DataKeeper, crie um espelho sincronizado e simule o armazenamento compartilhado do cluster.

Antes de instalar o software SIOS, crie o usuário de domínio DataKeeperSvc.

Observação

Adicione esse usuário DataKeeperSvc ao grupo Administradores locais em ambos os nós do cluster.

  1. Instale o software SIOS em ambos os nós do cluster.

    Instalador do SIOS

    Figura 31: Primeira página da instalação do SIOS DataKeeper

    Primeira página da instalação do SIOS DataKeeper

  2. Na caixa de diálogo, selecione Sim.

    Figura 32: O DataKeeper informa a você que um serviço será desabilitado

    O DataKeeper informa a você que um serviço será desabilitado

  3. Na caixa de diálogo, recomendamos que você selecione Conta de domínio ou servidor.

    Figura 33: Seleção do usuário para o SIOS DataKeeper

    Seleção do usuário para o SIOS DataKeeper

  4. Insira o nome de usuário da conta de domínio e senhas que você criou para o SIOS DataKeeper.

    Figura 34: Inserir o nome de usuário de domínio e a senha para a instalação do SIOS DataKeeper

    Inserir o nome de usuário de domínio e a senha para a instalação do SIOS DataKeeper

  5. Instale a chave de licença para o SIOS DataKeeper conforme mostrado na Figura 35.

    Figura 35: insira a chave da licença do SIOS DataKeeper

    Insira a chave da licença do SIOS DataKeeper

  6. Quando solicitado, reinicie a máquina virtual.

Configurar o SIOS DataKeeper

Depois de instalar o SIOS DataKeeper em ambos os nós, você precisará iniciar a configuração. O objetivo da configuração é ter a replicação de dados síncrona entre os discos adicionais anexados a cada uma das máquinas virtuais.

  1. Inicie a ferramenta de Configuração e Gerenciamento de DataKeeper e selecione Conectar Servidor.

    Figura 36: Ferramenta de Gerenciamento e Configuração do SIOS DataKeeper

    Ferramenta de Gerenciamento e Configuração do SIOS DataKeeper

  2. Insira o nome ou endereço TCP/IP do primeiro nó ao qual a ferramenta de Gerenciamento e Configuração deve se conectar e, em uma segunda etapa, as informações do segundo nó.

    Figura 37: inserir o nome ou endereço TCP/IP do primeiro nó ao qual a ferramenta de gerenciamento deve se conectar e, em uma segunda etapa, o segundo nó

    Inserir o nome ou endereço TCP/IP do primeiro nó ao qual a ferramenta de Gerenciamento e Configuração deve se conectar e, em uma segunda etapa, as informações do segundo nó

  3. Crie o trabalho de replicação entre os dois nós.

    Figura 38: Criar trabalho de replicação

    Criar trabalho de replicação

    Um assistente orienta você pelo processo de criação de um trabalho de replicação.

  4. Definir o nome do trabalho de replicação.

    Figura 39: Definir o nome do trabalho de replicação

    Definir o nome do trabalho de replicação

    Figura 40: Definir os dados de base do nó que deve ser o nó de origem atual

    Definir os dados de base para o nó, que deve ser o nó de origem atual

  5. Defina o nome, o endereço TCP/IP e o volume de disco do nó de destino.

    Figura 41: Defina o nome, o endereço TCP/IP e o volume de disco do nó de destino

    definir o nome, o endereço TCP/IP e o volume de disco do nó de destino

  6. Defina os algoritmos de compactação. Em nosso exemplo, recomendamos que você compacte o fluxo de replicação. Particularmente em situações de ressincronização, a compactação do fluxo de replicação reduz consideravelmente o tempo de ressincronização. A compactação utiliza os recursos de CPU e RAM de uma máquina virtual. Conforme aumenta a taxa de compactação, aumenta o volume de recursos de CPU usados. Você pode ajustar essa configuração mais tarde.

  7. Outra configuração que precisa ser verificada é se a replicação é executada de modo síncrono ou assíncrono. Quando você protege configurações SAP ASCS/SCS, deve usar a replicação síncrona.

    Figura 42: Definir detalhes de replicação

    Definir detalhes de replicação

  8. Defina se o volume que é replicado pelo trabalho de replicação deve ser representado em uma configuração de cluster Clustering de Failover do Windows Server como um disco compartilhado. Para a configuração do SAP ASCS/SCS, escolha Sim para que o cluster do Windows veja o volume replicado como disco compartilhado que pode ser usado como volume de cluster.

    Figura 43: Selecionar Sim para definir o volume replicado como um volume de cluster

    Selecionar Sim para definir o volume replicado como um volume de cluster

    Depois que o volume é criado, a ferramenta de Configuração e Gerenciamento do DataKeeper mostra que o trabalho de replicação está ativo.

    Figura 44: O espelhamento síncrono do DataKeeper para o disco de compartilhamento do SAP ASCS/SCS está ativo

    O espelhamento síncrono do DataKeeper para o disco de compartilhamento do SAP ASCS/SCS está ativo

    O Gerenciador de Cluster de Failover agora mostra o disco como um disco do DataKeeper, conforme ilustrado na Figura 45:

    Figura 45: O Gerenciador de Cluster de Failover mostra o disco do DataKeeper replicado

    O Gerenciador de Cluster de Failover mostra o disco do DataKeeper replicado

Próximas etapas