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
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:
- Discos compartilhados do Azure
- Usando SIOS DataKeeper Cluster Edition para criar armazenamento espelhado, que simula disco compartilhado em cluster
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.
- 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: 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.
- 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"
- 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
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
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
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 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.
Instale o software SIOS em ambos os nós do cluster.
Primeira página da instalação do SIOS DataKeeper
Na caixa de diálogo, selecione Sim.
O DataKeeper informa a você que um serviço será desabilitado
Na caixa de diálogo, recomendamos que você selecione Conta de domínio ou servidor.
Seleção do usuário para o SIOS DataKeeper
Insira o nome de usuário da conta de domínio e senhas que você criou para o SIOS DataKeeper.
Inserir o nome de usuário de domínio e a senha para a instalação do SIOS DataKeeper
Instale a chave de licença para o SIOS DataKeeper conforme mostrado na Figura 35.
Insira a chave da licença do SIOS DataKeeper
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.
Inicie a ferramenta de Configuração e Gerenciamento de DataKeeper e selecione Conectar Servidor.
Ferramenta de Gerenciamento e Configuração do SIOS DataKeeper
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ó.
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ó
Crie o trabalho de replicação entre os dois nós.
Criar trabalho de replicação
Um assistente orienta você pelo processo de criação de um trabalho de replicação.
Definir o nome do trabalho de replicação.
Definir o nome do trabalho de replicação
Definir 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 de disco do nó de destino.
definir o nome, o endereço TCP/IP e o volume de disco do nó de destino
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.
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.
Definir detalhes de replicação
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.
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.
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:
O Gerenciador de Cluster de Failover mostra o disco do DataKeeper replicado