Azure Virtual Machines HA for SAP NetWeaver on RHEL with Azure NetApp Files for SAP applications
Este artigo descreve como implantar máquinas virtuais (VMs), configurar as VMs, instalar a estrutura de cluster e instalar um sistema SAP NetWeaver 7.50 altamente disponível usando os Arquivos NetApp do Azure. Nas configurações de exemplo e comandos de instalação, a instância ASCS é o número 00, a instância ERS é o número 01, a instância do aplicativo primário (PAS) é 02 e a instância do aplicativo (AAS) é 03. O SAP System ID QAS é usado.
A camada de banco de dados não é abordada em detalhes neste artigo.
Pré-requisitos
Leia primeiro as seguintes notas e documentos do SAP:
Nota SAP 1928533, que tem:
- Uma lista de tamanhos de VM do Azure com suporte para a implantação do software SAP.
- Informações de capacidade importantes para tamanhos de VM do Azure.
- Software SAP suportado e combinações de sistema operacional (SO) e banco de dados.
- Versão do kernel SAP necessária para Windows e Linux no Microsoft Azure.
SAP Note 2015553 lista os pré-requisitos para implantações de software SAP suportadas pelo SAP no Azure.
O SAP Note 2002167 recomendou as configurações do sistema operacional para o Red Hat Enterprise Linux.
O SAP Note 2009879 tem as diretrizes do SAP HANA para Red Hat Enterprise Linux.
O SAP Note 2178632 tem informações detalhadas sobre todas as métricas de monitoramento relatadas para SAP no Azure.
O SAP Note 2191498 tem a versão necessária do SAP Host Agent para Linux no Azure.
O SAP Note 2243692 tem informações sobre o licenciamento SAP no Linux no Azure.
O SAP Note 1999351 tem mais informações de solução de problemas para a Extensão de Monitoramento Avançado do Azure para SAP.
O SAP Community WIKI tem todas as notas SAP necessárias para Linux.
Planejamento e implementação de Máquinas Virtuais do Azure para SAP no Linux
Implantação de DBMS de Máquinas Virtuais do Azure para SAP no Linux
Documentação geral do Red Hat Enterprise Linux (RHEL):
- Visão geral do complemento de alta disponibilidade
- Administração de complementos de alta disponibilidade
- Referência de complemento de alta disponibilidade
- Configurando ASCS/ERS para SAP NetWeaver com recursos autônomos no RHEL 7.5
- Configurar o SAP S/4HANA ASCS/ERS com o Standalone Enqueue Server 2 (ENSA2) no Pacemaker no RHEL
Documentação RHEL específica do Azure:
Aplicativos SAP da NetApp no Microsoft Azure usando Arquivos NetApp do Azure
Descrição geral
Alta disponibilidade (HA) para serviços centrais SAP NetWeaver requer armazenamento compartilhado. Até agora, para alcançar o HA no Red Hat Linux, era necessário construir um cluster GlusterFS altamente disponível separado.
Agora é possível obter o SAP NetWeaver HA usando o armazenamento compartilhado implantado nos Arquivos NetApp do Azure. Usar os Arquivos NetApp do Azure para armazenamento compartilhado elimina a necessidade de mais clusters GlusterFS. O marcapasso ainda é necessário para HA dos serviços centrais SAP NetWeaver (ASCS/SCS).
SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS e o banco de dados SAP HANA usam nome de host virtual e endereços IP virtuais. No Azure, um balanceador de carga é necessário para usar um endereço IP virtual. Recomendamos o uso do Azure Load Balancer Standard. A configuração aqui mostra um balanceador de carga com um:
- Endereço IP front-end 192.168.14.9 para ASCS.
- Endereço IP front-end 192.168.14.10 para ERS.
- Porta de sonda 62000 para ASCS.
- Porta de sonda 62101 para ERS.
Configurar a infraestrutura do Azure NetApp Files
O SAP NetWeaver requer armazenamento compartilhado para o diretório de transporte e perfil. Antes de prosseguir com a configuração da infraestrutura do Azure NetApp Files, familiarize-se com a documentação do Azure NetApp Files. Verifique se a região do Azure selecionada oferece Arquivos NetApp do Azure. Para obter a disponibilidade dos Arquivos NetApp do Azure por região do Azure, consulte Disponibilidade dos Arquivos NetApp do Azure por região do Azure.
Os Arquivos NetApp do Azure estão disponíveis em várias regiões do Azure.
Implantar recursos do Azure NetApp Files
As etapas pressupõem que você já implantou a Rede Virtual do Azure. Os recursos do Azure NetApp Files e as VMs, onde os recursos do Azure NetApp Files serão montados, devem ser implantados na mesma rede virtual do Azure ou em redes virtuais do Azure emparelhadas.
Crie a conta do Azure NetApp Files na região do Azure selecionada seguindo as instruções para criar uma conta do Azure NetApp Files.
Configure um pool de capacidade de Arquivos NetApp do Azure seguindo as instruções sobre como configurar um pool de capacidade de Arquivos NetApp do Azure. A arquitetura SAP NetWeaver apresentada neste artigo usa um único pool de capacidade do Azure NetApp Files, Premium SKU. Recomendamos o Azure NetApp Files Premium SKU para a carga de trabalho do aplicativo SAP NetWeaver no Azure.
Delegue uma sub-rede aos Arquivos NetApp do Azure conforme descrito nas instruções sobre como delegar uma sub-rede aos Arquivos NetApp do Azure.
Implante volumes de Arquivos NetApp do Azure seguindo as instruções para criar um volume para Arquivos NetApp do Azure. Implante os volumes na sub-rede designada Arquivos NetApp do Azure. Os endereços IP dos volumes NetApp do Azure são atribuídos automaticamente. Os recursos dos Arquivos NetApp do Azure e as VMs do Azure devem estar na mesma rede virtual do Azure ou em redes virtuais do Azure emparelhadas. Neste exemplo, usamos dois volumes de Arquivos NetApp do Azure: sapQAS e transSAP. Os caminhos de arquivo montados nos pontos de montagem correspondentes são /usrsapqas/sapmntQAS e /usrsapqas/usrsapQASsys.
- Volume sapQAS (nfs://192.168.24.5/usrsapQAS/sapmntQAS)
- Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASascs)
- Volume sapQAS (nfs://192.168.24.5/usrsapsistema QASqas/usrsap)
- Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASers)
- Volume transSAP (nfs://192.168.24.4/transSAP)
- Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASpas)
- Volume sapQAS (nfs://192.168.24.5/usrsapqas/usrsapQASaas)
Neste exemplo, usamos os Arquivos NetApp do Azure para todos os sistemas de arquivos SAP NetWeaver para demonstrar como você pode usar os Arquivos NetApp do Azure. Os sistemas de arquivos SAP que não precisam ser montados via NFS também podem ser implantados como armazenamento em disco do Azure. Neste exemplo, a-e deve estar nos Arquivos NetApp do Azure e f-g (ou seja, /usr/sap/QAS/D02 e /usr/sap/QAS/D03) pode ser implantado como armazenamento em disco do Azure.
Considerações importantes
Ao considerar os Arquivos NetApp do Azure para o SAP NetWeaver na arquitetura RHEL HA, esteja ciente das seguintes considerações importantes:
- A capacidade mínima da piscina é de 4 TiB. Você pode aumentar o tamanho do pool de capacidade em incrementos de 1 TiB.
- O volume mínimo é de 100 GiB.
- Os Arquivos NetApp do Azure e todas as VMs, onde os volumes dos Arquivos NetApp do Azure serão montados, devem estar na mesma rede virtual do Azure ou em redes virtuais emparelhadas na mesma região. O acesso aos Arquivos NetApp do Azure por emparelhamento de rede virtual na mesma região é suportado agora. O acesso aos Arquivos NetApp do Azure por emparelhamento global ainda não é suportado.
- A rede virtual selecionada deve ter uma sub-rede delegada aos Arquivos NetApp do Azure.
- A taxa de transferência e as características de desempenho de um volume de Arquivos NetApp do Azure são uma função da cota de volume e do nível de serviço. Para obter mais informações, consulte Nível de serviço para arquivos NetApp do Azure. Ao dimensionar os volumes do SAP Azure NetApp, verifique se a taxa de transferência resultante atende aos requisitos do aplicativo.
- O Azure NetApp Files oferece política de exportação. Você pode controlar os clientes permitidos e o tipo de acesso (como leitura/gravação e somente leitura).
- O recurso Arquivos NetApp do Azure ainda não reconhece zona. Atualmente, o recurso Arquivos NetApp do Azure não é implantado em todas as zonas de disponibilidade em uma região do Azure. Esteja ciente das possíveis implicações de latência em algumas regiões do Azure.
- Você pode implantar volumes do Azure NetApp Files como volumes NFSv3 ou NFSv4.1. Ambos os protocolos são suportados para a camada de aplicação SAP (ASCS/ERS, SAP application servers).
Preparar a infraestrutura
O Azure Marketplace contém imagens qualificadas para SAP com o complemento de Alta Disponibilidade, que você pode usar para implantar novas VMs usando várias versões do Red Hat.
Implantar VMs Linux manualmente por meio do portal do Azure
Este documento pressupõe que você já implantou uma rede virtual, uma sub-rede e um grupo de recursos do Azure.
Implante VMs para SAP ASCS, ERS e servidores de aplicativos. Escolha uma imagem RHEL adequada que seja suportada para o sistema SAP. Você pode implantar uma VM em qualquer uma das opções de disponibilidade: conjunto de escala de máquina virtual, zona de disponibilidade ou conjunto de disponibilidade.
Configurar o balanceador de carga do Azure
Durante a configuração da VM, você tem uma opção para criar ou selecionar o balanceador de carga de saída na seção de rede. Siga as etapas abaixo para configurar um balanceador de carga padrão para a configuração de alta disponibilidade do SAP ASCS e SAP ERS.
Siga o guia de criação do balanceador de carga para configurar um balanceador de carga padrão para um sistema SAP de alta disponibilidade usando o portal do Azure. Durante a configuração do balanceador de carga, considere os seguintes pontos.
- Configuração de IP Frontend: Crie dois IP frontend, um para ASCS e outro para ERS. 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.
- Regras de entrada: crie duas regras de balanceamento de carga, uma para ASCS e outra para ERS. Siga as mesmas etapas para ambas as regras 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 integridade: crie uma sonda de integridade com os detalhes abaixo (aplica-se tanto para ASCS quanto para ERS)
- Protocolo: TCP
- Porta: [por exemplo: 620<Instance-no.> para ASCS, 621<Instance-no.> para ERS]
- Intervalo: 5
- Limiar da sonda: 2
- Tempo limite de inatividade (minutos): 30
- Marque "Ativar IP flutuante"
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 padrão interno (sem endereço IP público), não há conectividade de saída com a Internet, a menos que mais configuração seja executada para permitir o roteamento para pontos de extremidade públicos. Para obter mais informações sobre como obter conectividade de saída, consulte Conectividade de ponto de extremidade público para VMs usando o Azure Standard Load Balancer em cenários de alta disponibilidade SAP.
Importante
Não habilite carimbos de data/hora TCP em VMs do Azure colocadas atrás do Balanceador de Carga do Azure. Habilitar carimbos de data/hora TCP pode fazer com que os testes de integridade falhem. Defina o parâmetro net.ipv4.tcp_timestamps como 0. Para obter mais informações, consulte Sondas de integridade do balanceador de carga.
Desabilitar mapeamento de ID (se você usar NFSv4.1)
As instruções nesta seção só são aplicáveis se você estiver usando volumes de Arquivos NetApp do Azure com o protocolo NFSv4.1. Execute a configuração em todas as VMs onde os volumes NFSv4.1 do Azure NetApp Files serão montados.
Verifique a configuração de domínio NFS. Verifique se o domínio está configurado como o domínio padrão dos Arquivos NetApp do Azure, ou seja,
defaultv4iddomain.com
e se o mapeamento está definido como ninguém.Importante
Certifique-se de definir o domínio NFS na
/etc/idmapd.conf
VM para corresponder à configuração de domínio padrão nos Arquivos NetApp do Azure:defaultv4iddomain.com
. Se houver uma incompatibilidade entre a configuração de domínio no cliente NFS (ou seja, a VM) e o servidor NFS (ou seja, a configuração do Azure NetApp), as permissões para arquivos nos volumes NetApp do Azure montados nas VMs serão exibidas comonobody
.sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
O seguinte prefixo [A] aplica-se ao PAS e ao AAS.
[A] Verificar
nfs4_disable_idmapping
. Deve ser definido como Y. Para criar a estrutura de diretórios ondenfs4_disable_idmapping
está localizado, execute o comando mount. Você não poderá criar manualmente o diretório em/sys/modules
porque o acesso é reservado para o kernel e drivers.# Check nfs4_disable_idmapping cat /sys/module/nfs/parameters/nfs4_disable_idmapping # If you need to set nfs4_disable_idmapping to Y mkdir /mnt/tmp mount 192.168.24.5:/sapQAS umount /mnt/tmp echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping # Make the configuration permanent echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
Configurar (A)SCS
Em seguida, você preparará e instalará as instâncias SAP ASCS e ERS.
Criar um cluster de marcapasso
Siga as etapas em Configurar o Pacemaker no Red Hat Enterprise Linux no Azure para criar um cluster básico do Pacemaker para este servidor (A)SCS.
Preparar para a instalação do SAP NetWeaver
Os seguintes itens são prefixados com:
- [A]: Aplicável a todos os nós
- [1]: Aplicável apenas ao nó 1
- [2]: Aplicável apenas ao nó 2
[A] Configure a resolução de nome de host.
Você pode usar um servidor DNS ou modificar o
/etc/hosts
arquivo em todos os nós. Este exemplo mostra como usar o/etc/hosts
arquivo. Substitua o endereço IP e o nome do host nos seguintes comandos:sudo vi /etc/hosts
Insira as seguintes linhas em
/etc/hosts
. Altere o endereço IP e o nome do host para corresponder ao seu ambiente.# IP address of cluster node 1 192.168.14.5 anftstsapcl1 # IP address of cluster node 2 192.168.14.6 anftstsapcl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 192.168.14.9 anftstsapvh # IP address of the load balancer frontend configuration for SAP Netweaver ERS 192.168.14.10 anftstsapers
[1] Crie diretórios SAP no volume Azure NetApp Files. Monte o volume Azure NetApp Files temporariamente em uma das VMs e crie os diretórios SAP (caminhos de arquivo).
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 192.168.24.5:/sapQAS /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntQAS sudo mkdir -p usrsapQASascs sudo mkdir -p usrsapQASers sudo mkdir -p usrsapQASsys sudo mkdir -p usrsapQASpas sudo mkdir -p usrsapQASaas # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
[A] Crie os diretórios compartilhados.
sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/QAS/SYS sudo mkdir -p /usr/sap/QAS/ASCS00 sudo mkdir -p /usr/sap/QAS/ERS01 sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/QAS/SYS sudo chattr +i /usr/sap/QAS/ASCS00 sudo chattr +i /usr/sap/QAS/ERS01
[A] Instale o cliente NFS e outros requisitos.
sudo yum -y install nfs-utils resource-agents resource-agents-sap
[A] Verifique a versão do
resource-agents-sap
.Certifique-se de que a versão do pacote instalado
resource-agents-sap
é pelo menos3.9.5-124.el7
.sudo yum info resource-agents-sap # Loaded plugins: langpacks, product-id, search-disabled-repos # Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast # Installed Packages # Name : resource-agents-sap # Arch : x86_64 # Version : 3.9.5 # Release : 124.el7 # Size : 100 k # Repo : installed # From repo : rhel-sap-for-rhel-7-server-rpms # Summary : SAP cluster resource agents and connector script # URL : https://github.com/ClusterLabs/resource-agents # License : GPLv2+ # Description : The SAP resource agents and connector script interface with # : Pacemaker to allow SAP instances to be managed in a cluster # : environment.
[A] Adicionar entradas de montagem.
Se você usar NFSv3:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
Se você usar NFSv4.1:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
Nota
Certifique-se de corresponder à versão do protocolo NFS dos volumes dos Arquivos NetApp do Azure ao montar os volumes. Se os volumes dos Arquivos NetApp do Azure forem criados como volumes NFSv3, use a configuração NFSv3 correspondente. Se os volumes dos Arquivos NetApp do Azure forem criados como volumes NFSv4.1, siga as instruções para desabilitar o mapeamento de ID e certifique-se de usar a configuração NFSv4.1 correspondente. Neste exemplo, os volumes dos Arquivos NetApp do Azure foram criados como volumes NFSv3.
Monte os novos compartilhamentos.
sudo mount -a
[A] Configure o arquivo SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Reinicie o agente para ativar a alteração.
sudo service waagent restart
[A] Execute a configuração do RHEL OS.
Com base na versão RHEL, execute a configuração mencionada no SAP Note 2002167, 2772999 ou 3108316.
Instalar o SAP NetWeaver ASCS/ERS
[1] Configure as propriedades padrão do cluster.
pcs resource defaults resource-stickiness=1 pcs resource defaults migration-threshold=3
[1] Crie um recurso IP virtual e uma sonda de integridade para a instância ASCS.
sudo pcs node standby anftstsapcl2 # If using NFSv3 sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \ directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-QAS_ASCS # If using NFSv4.1 sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \ directory='/usr/sap/QAS/ASCS00' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \ --group g-QAS_ASCS sudo pcs resource create vip_QAS_ASCS IPaddr2 \ ip=192.168.14.9 \ --group g-QAS_ASCS sudo pcs resource create nc_QAS_ASCS azure-lb port=62000 \ --group g-QAS_ASCS
Verifique se o status do cluster está correto e se todos os recursos foram iniciados. O nó em que os recursos estão sendo executados não é importante.
sudo pcs status # Node anftstsapcl2: standby # Online: [ anftstsapcl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl1 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl1 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl1 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl1
[1] Instale o SAP NetWeaver ASCS.
Instale o SAP NetWeaver ASCS como a raiz no primeiro nó usando um nome de host virtual que mapeia para o endereço IP da configuração front-end do balanceador de carga para o ASCS, por exemplo, anftstsapvh, 192.168.14.9, e o número da instância que você usou para a sonda do balanceador de carga, por exemplo, 00.
Você pode usar o
sapinst
parâmetroSAPINST_REMOTE_ACCESS_USER
para permitir que um usuário não raiz se conecte aosapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se a instalação não conseguir criar uma subpasta em /usr/sap/QAS/ASCS00, tente definir o proprietário e o grupo da pasta ASCS00 e tente novamente.
sudo chown qasadm /usr/sap/QAS/ASCS00 sudo chgrp sapsys /usr/sap/QAS/ASCS00
[1] Criar um recurso IP virtual e uma sonda de integridade para a instância ERS.
sudo pcs node unstandby anftstsapcl2 sudo pcs node standby anftstsapcl1 # If using NFSv3 sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \ directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=40 \ --group g-QAS_AERS # If using NFSv4.1 sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \ directory='/usr/sap/QAS/ERS01' fstype='nfs' force_unmount=safe options='sec=sys,nfsvers=4.1' \ op start interval=0 timeout=60 op stop interval=0 timeout=120 op monitor interval=200 timeout=105 \ --group g-QAS_AERS sudo pcs resource create vip_QAS_AERS IPaddr2 \ ip=192.168.14.10 \ --group g-QAS_AERS sudo pcs resource create nc_QAS_AERS azure-lb port=62101 \ --group g-QAS_AERS
Verifique se o status do cluster está correto e se todos os recursos foram iniciados. O nó em que os recursos estão sendo executados não é importante.
sudo pcs status # Node anftstsapcl1: standby # Online: [ anftstsapcl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl2 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl2< # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl2 # Resource Group: g-QAS_AERS # fs_QAS_AERS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_AERS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_AERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
[2] Instale o SAP NetWeaver ERS.
Instale o SAP NetWeaver ERS como a raiz no segundo nó usando um nome de host virtual que mapeia para o endereço IP da configuração front-end do balanceador de carga para o ERS, por exemplo, anftstsapers, 192.168.14.10, e o número da instância que você usou para a sonda do balanceador de carga, por exemplo, 01.
Você pode usar o
sapinst
parâmetroSAPINST_REMOTE_ACCESS_USER
para permitir que um usuário não raiz se conecte aosapinst
.# Allow access to SWPM. This rule is not permanent. If you reboot the machine, you have to run the command again. sudo firewall-cmd --zone=public --add-port=4237/tcp sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se a instalação não conseguir criar uma subpasta em /usr/sap/QAS/ERS01, tente definir o proprietário e o grupo da pasta ERS01 e tente novamente.
sudo chown qaadm /usr/sap/QAS/ERS01 sudo chgrp sapsys /usr/sap/QAS/ERS01
[1] Adaptar os perfis das instâncias ASCS/SCS e ERS.
Perfil ASCS/SCS
sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
Para ENSA1 e ENSA2, certifique-se de que os parâmetros do
keepalive
SO estão definidos conforme descrito na Nota 1410736 SAP.Perfil da ERS
sudo vi /sapmnt/QAS/profile/QAS_ERS01_anftstsapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # remove Autostart from ERS profile # Autostart = 1
[A] Configure o Keep Alive.
A comunicação entre o servidor de aplicativos SAP NetWeaver e o ASCS/SCS é roteada por meio de um balanceador de carga de software. O balanceador de carga desconecta conexões inativas após um tempo limite configurável. Para evitar essa ação, defina um parâmetro no perfil SAP NetWeaver ASCS/SCS, se você usar ENSA1, e altere as configurações do sistema
keepalive
Linux em todos os servidores SAP para ENSA1/ENSA2. Para obter mais informações, consulte SAP Note 1410736.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Atualize o
/usr/sap/sapservices
arquivo.Para impedir o início das instâncias pelo
sapinit
script de inicialização, todas as instâncias gerenciadas pelo Pacemaker devem ser comentadas a/usr/sap/sapservices
partir do arquivo.sudo vi /usr/sap/sapservices # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/QAS/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ASCS00/exe/sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh -D -u qasadm # systemctl --no-ask-password start SAPQAS_00 # sapstartsrv pf=/usr/sap/QAS/SYS/profile/QAS_ASCS00_anftstsapvh # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ASCS node. You should comment out the line(s). # LD_LIBRARY_PATH=/usr/sap/QAS/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/QAS/ERS01/exe/sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers -D -u qasadm # systemctl --no-ask-password start SAPQAS_01 # sapstartsrv pf=/usr/sap/QAS/ERS01/profile/QAS_ERS01_anftstsapers
Importante
Com o SAP Startup Framework baseado em systemd, as instâncias SAP agora podem ser gerenciadas pelo systemd. A versão mínima necessária do Red Hat Enterprise Linux (RHEL) é o RHEL 8 for SAP. Conforme descrito no SAP Note 3115048, uma nova instalação de um kernel SAP com suporte integrado ao SAP Startup Framework baseado em sistema sempre resultará em uma instância SAP controlada pelo sistema. Após uma atualização do kernel SAP de uma instalação SAP existente para um kernel que tenha suporte ao SAP Startup Framework baseado em sistema, no entanto, algumas etapas manuais devem ser executadas conforme documentado na Nota 3115048 do SAP para converter o ambiente de inicialização SAP existente em um que seja controlado pelo sistema.
Ao utilizar os serviços Red Hat HA for SAP (configuração de cluster) para gerenciar instâncias do servidor de aplicativos SAP, como SAP ASCS e SAP ERS, modificações adicionais serão necessárias para garantir a compatibilidade entre o agente de recursos SAPInstance e a nova estrutura de inicialização SAP baseada em sistema. Portanto, uma vez que as instâncias do servidor de aplicativos SAP tenham sido instaladas ou alternadas para um kernel SAP habilitado para sistema, de acordo com o SAP Note 3115048, as etapas mencionadas no Red Hat KBA 6884531 devem ser concluídas com êxito em todos os nós do cluster.
[1] Crie os recursos do cluster SAP.
Dependendo se você estiver executando um sistema ENSA1 ou ENSA2, selecione a respetiva guia para definir os recursos. A SAP introduziu o suporte para ENSA2, incluindo replicação, no SAP NetWeaver 7.52. A partir da plataforma ABAP 1809, o ENSA2 é instalado por padrão. Para suporte ENSA2. Consulte SAP Note 2630416 para obter suporte ao servidor de enfila 2.
Se você usar a arquitetura ENSA2 do servidor de enfila 2, instale o agente de recursos resource-agents-sap-4.1.1-12.el7.x86_64 ou mais recente e defina os recursos conforme mostrado aqui:
sudo pcs property set maintenance-mode=true # If using NFSv3 sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \ InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=60 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_ASCS # If using NFSv4.1 sudo pcs resource create rsc_sap_QAS_ASCS00 SAPInstance \ InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 migration-threshold=1 failure-timeout=60 \ op monitor interval=20 on-fail=restart timeout=105 \ op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_ASCS sudo pcs resource meta g-QAS_ASCS resource-stickiness=3000 # If using NFSv3 sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \ InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=60 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_AERS # If using NFSv4.1 sudo pcs resource create rsc_sap_QAS_ERS01 SAPInstance \ InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" \ AUTOMATIC_RECOVER=false IS_ERS=true \ op monitor interval=20 on-fail=restart timeout=105 op start interval=0 timeout=600 op stop interval=0 timeout=600 \ --group g-QAS_AERS sudo pcs constraint colocation add g-QAS_AERS with g-QAS_ASCS -5000 sudo pcs constraint location rsc_sap_QAS_ASCS00 rule score=2000 runs_ers_QAS eq 1 sudo pcs constraint order start g-QAS_ASCS then stop g-QAS_AERS kind=Optional symmetrical=false sudo pcs node unstandby anftstsapcl1 sudo pcs property set maintenance-mode=false
Se você estiver atualizando de uma versão mais antiga e alternando para o servidor de fila 2, consulte SAP Note 2641322.
Nota
Os tempos limite mais altos sugeridos quando você usa o NFSv4.1 são necessários devido à pausa específica do protocolo, que está relacionada às renovações de concessão do NFSv4.1. Para obter mais informações, consulte NFS nas práticas recomendadas da NetApp. Os tempos limite na configuração anterior são apenas exemplos e podem precisar ser adaptados à configuração específica do SAP.
Verifique se o status do cluster está correto e se todos os recursos foram iniciados. O nó em que os recursos estão sendo executados não é importante.
sudo pcs status # Online: [ anftstsapcl1 anftstsapcl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started anftstsapcl2 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl2 # rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance): Started anftstsapcl2 # Resource Group: g-QAS_AERS # fs_QAS_AERS (ocf::heartbeat:Filesystem): Started anftstsapcl1 # nc_QAS_AERS (ocf::heartbeat:azure-lb): Started anftstsapcl1 # vip_QAS_AERS (ocf::heartbeat:IPaddr2): Started anftstsapcl1 # rsc_sap_QAS_ERS01 (ocf::heartbeat:SAPInstance): Started anftstsapcl1
[1] Execute o seguinte passo para configurar
priority-fencing-delay
(aplicável apenas a partir do pacemaker-2.0.4-6.el8 ou superior).Nota
Se você tiver um cluster de dois nós, terá a opção de configurar a
priority-fencing-delay
propriedade do cluster. Esta propriedade introduz mais atraso na vedação de um nó que tem maior prioridade total de recursos quando ocorre um cenário de cérebro dividido. Para obter mais informações, consulte O Pacemaker pode cercar o nó do cluster com o menor número de recursos em execução?.A propriedade
priority-fencing-delay
é aplicável para a versão pacemaker-2.0.4-6.el8 ou superior. Se estiver a configurarpriority-fencing-delay
um cluster existente, certifique-se de que limpa apcmk_delay_max
definição no dispositivo de esgrima.sudo pcs resource defaults update priority=1 sudo pcs resource update rsc_sap_QAS_ASCS00 meta priority=10 sudo pcs property set priority-fencing-delay=15s
[A] Adicione regras de firewall para ASCS e ERS em ambos os nós.
# Probe Port of ASCS sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62000,3200,3600,3900,8100,50013,50014,50016}/tcp # Probe Port of ERS sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62101,3201,3301,50113,50114,50116}/tcp
Preparação do servidor de aplicativos SAP NetWeaver
Alguns bancos de dados exigem que a instalação da instância de banco de dados seja executada em um servidor de aplicativos. Prepare as VMs do servidor de aplicativos para poder usá-las nesses casos.
As etapas a seguir pressupõem que você instale o servidor de aplicativos em um servidor diferente dos servidores ASCS/SCS e HANA. Caso contrário, algumas das etapas (como configurar a resolução de nome de host) não são necessárias.
Os seguintes itens são prefixados com:
- [A]: Aplicável tanto ao PAS como ao AAS
- [P]: Aplicável apenas ao PAS
- [S]: Aplicável apenas a EAA
[A] Configure a resolução de nome de host.
Você pode usar um servidor DNS ou modificar o
/etc/hosts
arquivo em todos os nós. Este exemplo mostra como usar o/etc/hosts
arquivo. Substitua o endereço IP e o nome do host nos seguintes comandos:sudo vi /etc/hosts
Insira as seguintes linhas em
/etc/hosts
. Altere o endereço IP e o nome do host para corresponder ao seu ambiente.# IP address of the load balancer frontend configuration for SAP NetWeaver ASCS 192.168.14.9 anftstsapvh # IP address of the load balancer frontend configuration for SAP NetWeaver ASCS ERS 192.168.14.10 anftstsapers 192.168.14.7 anftstsapa01 192.168.14.8 anftstsapa02
[A] Crie o
sapmnt
diretório.sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans
[A] Instale o cliente NFS e outros requisitos.
sudo yum -y install nfs-utils uuidd
[A] Adicionar entradas de montagem.
Se você usar NFSv3:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3
Se você usar NFSv4.1:
sudo vi /etc/fstab # Add the following lines to fstab, save and exit 192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys 192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys
Monte os novos compartilhamentos.
sudo mount -a
[P] Crie e monte o diretório PAS.
Se você usar NFSv3:
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 # Mount sudo mount -a
Se você usar NFSv4.1:
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys # Mount sudo mount -a
[S] Crie e monte o diretório AAS.
Se você usar NFSv3:
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=3 # Mount sudo mount -a
Se você usar NFSv4.1:
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03 sudo vi /etc/fstab # Add the following line to fstab 92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys # Mount sudo mount -a
[A] Configure o arquivo SWAP.
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by VM size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Reinicie o agente para ativar a alteração.
sudo service waagent restart
Instalar a base de dados
Neste exemplo, o SAP NetWeaver é instalado no SAP HANA. Você pode usar todos os bancos de dados suportados para esta instalação. Para obter mais informações sobre como instalar o SAP HANA no Azure, consulte Alta disponibilidade do SAP HANA em VMs do Azure no Red Hat Enterprise Linux. Para obter uma lista de bancos de dados suportados, consulte SAP Note 1928533.
Execute a instalação da instância do banco de dados SAP.
Instale a instância do banco de dados SAP NetWeaver como raiz usando um nome de host virtual que mapeia para o endereço IP da configuração front-end do balanceador de carga para o banco de dados.
Você pode usar o
sapinst
parâmetroSAPINST_REMOTE_ACCESS_USER
para permitir que um usuário não raiz se conecte aosapinst
.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Instalação do servidor de aplicativos SAP NetWeaver
Siga estas etapas para instalar um servidor de aplicativos SAP.
Prepare o servidor de aplicativos.
Siga as etapas na seção anterior Preparação do servidor de aplicativos SAP NetWeaver para preparar o servidor de aplicativos.
Instale o servidor de aplicativos SAP NetWeaver.
Instale um servidor de aplicativos SAP NetWeaver primário ou adicional.
Você pode usar o
sapinst
parâmetroSAPINST_REMOTE_ACCESS_USER
para permitir que um usuário não raiz se conecte aosapinst
.sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Atualize o armazenamento seguro do SAP HANA.
Atualize o armazenamento seguro do SAP HANA para apontar para o nome virtual da configuração do SAP HANA System Replication.
Execute o seguinte comando para listar as entradas como <sapsid>adm.
hdbuserstore List
Todas as entradas devem ser listadas e semelhantes a:
DATA FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT KEY FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 192.168.14.4:30313 USER: SAPABAP1 DATABASE: QAS
A saída mostra que o endereço IP da entrada padrão está apontando para a VM e não para o endereço IP do balanceador de carga. Você precisa alterar essa entrada para apontar para o nome do host virtual do balanceador de carga. Certifique-se de usar a mesma porta (30313 na saída anterior) e o nome do banco de dados (QAS na saída anterior).
su - qasadm hdbuserstore SET DEFAULT qasdb:30313@QAS SAPABAP1 <password of ABAP schema>
Testar a configuração do cluster
Teste completamente o seu cluster de pacemaker. Para obter mais informações, consulte Executar os testes de failover típicos.
Próximos passos
- Para implantar um cenário de otimização de custos em que as instâncias PAS e AAS são implantadas com o cluster SAP NetWeaver HA no RHEL, consulte Instalar instância de diálogo SAP com VMs de alta disponibilidade SAP ASCS/SCS no RHEL.
- Consulte HA for SAP NW on Azure VMs on RHEL for SAP applications multi-SID guide.
- Consulte Planejamento e implementação de Máquinas Virtuais do Azure para SAP.
- Consulte Implantação de Máquinas Virtuais do Azure para SAP.
- Consulte Implantação de DBMS de Máquinas Virtuais do Azure para SAP.
- Para saber como estabelecer HA e planejar a recuperação de desastres do SAP HANA no Azure (instâncias grandes), consulte Alta disponibilidade e recuperação de desastres do SAP HANA (instâncias grandes) no Azure.
- Para saber como estabelecer HA e planejar a recuperação de desastres do SAP HANA em Máquinas Virtuais do Azure, consulte Alta disponibilidade do SAP HANA em Máquinas Virtuais do Azure.