Preparar a infraestrutura do Azure para SAP HA usando um cluster de failover do Windows e um disco compartilhado para SAP ASCS/SCS
Mac OS
Este artigo descreve as etapas que você executa para preparar a infraestrutura do Azure para instalar e configurar uma instância SAP ASCS/SCS de alta disponibilidade em um cluster de failover do Windows usando um disco compartilhado de cluster como uma opção para clusterizar uma instância do SAP ASCS. Duas alternativas para disco compartilhado de cluster são apresentadas na documentação:
- Discos partilhados do Azure
- Usando o SIOS DataKeeper Cluster Edition para criar armazenamento espelhado, que simula disco compartilhado clusterizado
A documentação não cobre a camada de banco de dados.
Pré-requisitos
Antes de começar a instalação, revise este artigo:
Criar as VMs ASCS
Para o cluster SAP ASCS / SCS, implante duas VMs no conjunto de disponibilidade do Azure ou nas zonas de disponibilidade do Azure com base no tipo de sua implantação. Depois que as VMs forem implantadas:
- Crie o Azure Internal Load Balancer para instância SAP ASCS /SCS.
- Adicione 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 do host | Nome do anfitrião | Endereço IP estático | Conjunto de disponibilidade | SkuName do disco |
---|---|---|---|---|
Primeiro cluster ASCS/SCS do nó do cluster | PR1-ASCS-10 | 10.0.0.4 | PR1-ASCS-Avset | Premium_LRS |
Segundo cluster ASCS/SCS do nó do cluster | PR1-ASCS-11 | 10.0.0.5 | PR1-ASCS-Avset | |
Nome da rede de cluster | PR1CLUSt | 10.0.0.42(apenas para cluster do Win 2016) | n/d | |
Nome da rede do cluster ASCS | PR1-ASCSCL | 10.0.0.43 | n/d | |
Nome da rede do cluster ERS (apenas para ERS2) | PR1-ERSCL | 10.0.0.44 | n/d |
Implantação do SAP em zonas de disponibilidade do Azure
Função de nome do host | Nome do anfitrião | Endereço IP estático | Availability zone | SkuName do disco |
---|---|---|---|---|
Primeiro cluster ASCS/SCS do nó do cluster | PR1-ASCS-10 | 10.0.0.4 | AZ01 | Premium_ZRS |
Segundo cluster ASCS/SCS do nó do cluster | PR1-ASCS-11 | 10.0.0.5 | AZ02 | |
Nome da rede de cluster | PR1CLUSt | 10.0.0.42(apenas para cluster do Win 2016) | n/d | |
Nome da rede do cluster ASCS | PR1-ASCSCL | 10.0.0.43 | n/d | |
Nome da rede do cluster ERS (apenas 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 sendo executado no conjunto de disponibilidade, você precisará implantar o LRS para o disco compartilhado premium (Premium_LRS) do Azure e, se o cluster estiver sendo executado na zona de disponibilidade, implantar o ZRS para o disco compartilhado premium (Premium_ZRS) do Azure.
Nota
O grupo de posicionamento de proximidade do Azure não é necessário para o disco compartilhado do Azure. Mas para a implantação do SAP com PPG, siga as diretrizes abaixo:
- Se você estiver usando o PPG para o sistema 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 sistema PPG for SAP implantado em zonas, como descrito no documento Grupos de posicionamento de proximidade com implantações zonais, poderá anexar Premium_ZRS armazenamento a máquinas virtuais que compartilham um disco.
Criar balanceador de carga interno do Azure
Durante a configuração da VM, você pode criar ou selecionar o balanceador de carga de saída na seção de rede. Para a arquitetura ENSA1 no Windows, você precisaria de apenas um endereço IP virtual para SAP ASCS/SCS. Por outro lado, a arquitetura ENSA2 requer 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 HA do SAP ASCS/SCS no Windows, siga as diretrizes abaixo.
- 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.
- Pool de back-end: crie pool de back-end e adicione VMs ASCS e ERS. Neste exemplo, as VMs são pr1-ascs-10 e pr1-ascs-11.
- Regras de entrada: crie uma regra de balanceamento de carga.
- Endereço IP frontend: Selecione frontend IP
- Pool de back-end: selecione pool de back-end
- Marque "Portas de alta disponibilidade"
- Protocolo: TCP
- Sonda de saúde: crie uma sonda de saúde com os detalhes abaixo
- Protocolo: TCP
- Porta: [por exemplo: 620<Instance-no.> for ASCS]
- Intervalo: 5
- Limiar da sonda: 2
- Tempo limite de inatividade (minutos): 30
- Marque "Ativar IP flutuante"
- Aplicável apenas à arquitetura ENSA2: Crie IP de frontend adicional (10.0.0.44), regra de balanceamento de carga (use 621<Instance-no.> para a porta de sonda de integridade ERS2), conforme descrito nos pontos 1 e 3.
Nota
O número da propriedade de configuração da sonda de integridadeOfProbes, também conhecido como "Limite não íntegro" no Portal, não é respeitado. Portanto, para controlar o número de testes consecutivos bem-sucedidos ou com falha, defina a propriedade "probeThreshold" como 2. Atualmente, não é possível definir essa propriedade usando o portal do Azure, portanto, use o comando CLI do Azure ou PowerShell .
Nota
Quando VMs sem endereços IP públicos são colocadas no pool de back-end de um balanceador de carga Standard do Azure interno (sem endereço IP público), não haverá conectividade de saída com a Internet, a menos que você execute uma configuração adicional para permitir o roteamento para pontos de extremidade públicos. Para obter detalhes sobre como obter conectividade de saída, consulte Conectividade de ponto de extremidade pública para máquinas virtuais usando o Azure Standard Load Balancer em cenários de alta disponibilidade SAP.
Gorjeta
Com o Modelo do Azure Resource Manager para WSFC para instância SAP ASCS/SCS com Disco Compartilhado do Azure, você pode automatizar a preparação da infraestrutura, usando o Disco Compartilhado do Azure para um SID SAP com ERS1.
O modelo ARM do Azure criará duas VMs do Windows 2019 ou 2016, criará o disco compartilhado do Azure e anexará às VMs. O Balanceador de Carga Interno do Azure também será criado e configurado.
Para obter detalhes - consulte o modelo ARM.
Adicionar entradas do Registro em ambos os nós de cluster da instância ASCS/SCS
O Azure Load Balancer pode fechar conexões, se as conexões estiverem ociosas por um período e excederem o tempo limite ocioso. Os processos de trabalho SAP abrem conexões com o processo de enqueue SAP assim que a primeira solicitação de enqueue/dequeue precisa ser enviada. Para evitar interromper essas conexões, altere os valores TCP/IP KeepAliveTime e KeepAliveInterval em ambos os nós do cluster. Se estiver usando ERS1, também é necessário adicionar parâmetros de perfil SAP, conforme descrito mais adiante neste artigo. As seguintes entradas do Registro devem ser alteradas em ambos os nós do cluster:
- KeepAliveTime
- KeepAliveInterval
Caminho | Nome da variável | Tipo de variável | Value | 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 ambos os nós do cluster.
Adicionar as VMs do 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 este 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 }
Quando a instalação do recurso for concluída, reinicialize ambos os nós do cluster.
Testar e configurar o cluster de failover do Windows
No Windows 2019, o cluster reconhecerá automaticamente que está sendo executado 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 nós de cluster endereços IP locais. 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 Balanceador de Carga Interno do Azure.
Para obter mais informações, consulte Clustering de failover do Windows Server 2019 Novos recursos Execute este 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"
# 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 o quorum da nuvem de cluster
Como você usa o Windows Server 2016 ou 2019, recomendamos configurar o Azure Cloud Witness como quórum de cluster.
Execute este comando em um dos nós do cluster:
$AzureStorageAccountName = "cloudquorumwitness"
Set-ClusterQuorum –CloudWitness –AccountName $AzureStorageAccountName -AccessKey <YourAzureStorageAccessKey> -Verbose
Ajustando os limites do cluster de failover do Windows
Depois de instalar com êxito o cluster de failover do Windows, você precisa ajustar alguns limites para ser adequado para clusters implantados no Azure. Os parâmetros a serem alterados estão documentados em Ajustando limites de rede de cluster de failover. Supondo que suas duas VMs que compõem a configuração de cluster do Windows para ASCS/SCS estejam na mesma sub-rede, altere os seguintes parâmetros para esses valores:
- SameSubNetDelay = 2000
- SameSubNetThreshold = 15
- RouteHistoryLength = 30
Essas configurações foram testadas com os clientes e oferecem um bom compromisso. Eles são resilientes o suficiente, mas também fornecem failover rápido o suficiente para condições reais de erro em cargas de trabalho SAP ou falha de VM.
Configurar o disco compartilhado do Azure
Esta 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 este comando em um dos nós do cluster. Você precisará ajustar os valores para seu grupo de recursos, região do 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
Obtenha o número do disco. Execute estes 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
Formate o disco. Neste 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
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\}
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 o disco de compartilhamento de cluster SAP ASCS/SCS
Esta seção só é aplicável se você estiver usando o software de terceiros SIOS DataKeeper Cluster Edition para criar um armazenamento espelhado que simule o disco compartilhado do cluster.
Agora, você tem uma configuração de cluster de failover do Windows Server em funcionamento no Azure. Para instalar uma instância 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 que você pode usar para criar recursos de disco compartilhados.
A instalação do SIOS DataKeeper Cluster Edition para o disco de compartilhamento de cluster SAP ASCS/SCS envolve estas tarefas:
- Adicione o Microsoft .NET Framework, se necessário. Consulte a documentação do SIOS para obter os requisitos mais atualizados do .NET Framework
- Instalar o SIOS DataKeeper
- Configurar o SIOS DataKeeper
Instalar o SIOS DataKeeper
Instale o SIOS DataKeeper Cluster Edition em cada nó do cluster. Para criar armazenamento virtual compartilhado com o SIOS DataKeeper, crie um espelho sincronizado e simule o armazenamento compartilhado em cluster.
Antes de instalar o software SIOS, crie o usuário de domínio DataKeeperSvc.
Nota
Adicione o usuário do domínio DataKeeperSvc ao grupo Administrador Local em ambos os nós do cluster.
Instale o software SIOS em ambos os nós de cluster.
Primeira página da instalação do SIOS DataKeeper
Na caixa de diálogo, selecione Sim.
O DataKeeper informa que um serviço será desativado
Na caixa de diálogo, recomendamos que você selecione Domínio ou Conta de servidor.
Seleção de usuários para SIOS DataKeeper
Insira o nome de usuário e a senha da conta de domínio que você criou para o SIOS DataKeeper.
Insira o nome de usuário e a senha do domínio para a instalação do SIOS DataKeeper
Instale a chave de licença para sua instância do SIOS DataKeeper, como mostra a Figura 35.
Insira sua chave de licença SIOS DataKeeper
Quando solicitado, reinicie a máquina virtual.
Configurar o SIOS DataKeeper
Depois de instalar o SIOS DataKeeper em ambos os nós, inicie a configuração. O objetivo da configuração é ter replicação de dados síncrona entre os discos adicionais conectados a cada uma das máquinas virtuais.
Inicie a ferramenta de gerenciamento e configuração do DataKeeper e selecione Conectar servidor.
Ferramenta de gerenciamento e configuração do SIOS DataKeeper
Insira o nome ou o endereço TCP/IP do primeiro nó ao qual a ferramenta de Gerenciamento e Configuração deve se conectar e, em uma segunda etapa, o segundo nó.
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, o segundo nó
Crie o trabalho de replicação entre os dois nós.
Criar um trabalho de replicação
Um assistente orienta você pelo processo de criação de um trabalho de replicação.
Defina o nome do trabalho de replicação.
Definir o nome do trabalho de replicação
Defina os dados de base para o nó, que deve ser o nó de origem atual
Defina o nome, o endereço TCP/IP e o volume do disco do nó de destino.
Defina o nome, o endereço TCP/IP e o volume do disco do nó de destino atual
Defina os algoritmos de compressão. Em nosso exemplo, recomendamos que você compacte o fluxo de replicação. Especialmente em situações de ressincronização, a compactação do fluxo de replicação reduz drasticamente o tempo de ressincronização. A compactação usa os recursos de CPU e RAM de uma máquina virtual. À medida que a taxa de compressão aumenta, aumenta também o volume de recursos da CPU que são usados. Você pode ajustar essa configuração mais tarde.
Outra configuração que você precisa verificar é se a replicação ocorre de forma assíncrona ou síncrona. Ao proteger as configurações do SAP ASCS/SCS, você deve usar a replicação síncrona.
Definir detalhes de replicação
Defina se o volume replicado pelo trabalho de replicação deve ser representado para uma configuração de cluster de failover do Windows Server como um disco compartilhado. Para a configuração SAP ASCS/SCS, selecione Sim para que o cluster do Windows veja o volume replicado como um disco compartilhado que ele pode usar como um volume de cluster.
Selecione Sim para definir o volume replicado como um volume de cluster
Depois que o volume é criado, a ferramenta de Gerenciamento e Configuração do DataKeeper mostra que o trabalho de replicação está ativo.
O espelhamento síncrono do DataKeeper para o disco de compartilhamento SAP ASCS/SCS está ativo
O Gerenciador de Cluster de Failover agora mostra o disco como um disco do DataKeeper, como mostra a Figura 45:
O Gerenciador de Cluster de Failover mostra o disco que o DataKeeper replicou