Implante instâncias de diálogo SAP com VMs de alta disponibilidade SAP ASCS/SCS no RHEL
Este artigo descreve como instalar e configurar instâncias de diálogo do Primary Application Server (PAS) e do Additional Application Server (AAS) no mesmo cluster de alta disponibilidade ABAP SAP Central Services (ASCS)/SAP Central Services (SCS) em execução no Red Hat Enterprise Linux (RHEL).
Referências
- Configurando o SAP S/4HANA ASCS/ERS com o Standalone Enqueue Server 2 (ENSA2) no Pacemaker
- Configuração do SAP NetWeaver ASCS/ERS ENSA1 com recursos autônomos no RHEL 7.5+ e RHEL 8
- SAP Note 1928533, que tem:
- Uma lista de tamanhos de máquina virtual (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 Azure.
- SAP Note 2015553 lista os pré-requisitos para implantações de software SAP suportadas pelo SAP no Azure.
- O SAP Note 2002167 lista as configurações recomendadas do sistema operacional para o Red Hat Enterprise Linux 7.x.
- O SAP Note 2772999 lista as configurações recomendadas do sistema operacional para o Red Hat Enterprise Linux 8.x.
- O SAP Note 2009879 tem as diretrizes do SAP HANA para o 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 Máquinas Virtuais do Azure para SAP no Linux
- Implantação de DBMS de Máquinas Virtuais do Azure para SAP no Linux
- SAP Netweaver no cluster Pacemaker
- Documentação geral do RHEL:
- Documentação RHEL específica do Azure:
Descrição geral
Este artigo descreve o cenário de otimização de custos em que você implanta instâncias de diálogo PAS e AAS com instâncias SAP ASCS/SCS e Enqueue Replication Server (ERS) em uma configuração de alta disponibilidade. Para minimizar o número de VMs para um único sistema SAP, você deseja instalar o PAS e o AAS no mesmo host em que o SAP ASCS/SCS e o SAP ERS estão em execução. Com o SAP ASCS/SCS sendo configurado em uma configuração de cluster de alta disponibilidade, você deseja que o PAS e o AAS também sejam gerenciados por cluster. A configuração é basicamente uma adição a uma configuração de cluster SAP ASCS/SCS já configurada. Nessa configuração, o PAS e o AAS são instalados em um nome de host virtual e seu diretório de instância é gerenciado pelo cluster.
Para essa configuração, o PAS e o AAS exigem um diretório de instância altamente disponível (/usr/sap/<SID>/D<nr>
). Você pode colocar o sistema de arquivos de diretório de instância no mesmo armazenamento de alta disponibilidade usado para a configuração de instâncias ASCS e ERS. A arquitetura apresentada apresenta NFS em Arquivos do Azure ou Arquivos NetApp do Azure para um diretório de instância altamente disponível para a instalação.
O exemplo mostrado neste artigo para descrever a implantação usa as seguintes informações do sistema:
Nome da instância | Número da instância | Nome do host virtual | IP virtual (porta de sonda) |
---|---|---|---|
ABAP SAP Serviços Centrais (ASCS) | 00 | Sapascs | 10.90.90.10 (62000) |
Enqueue Replication Server (ERS) | 01 | sapers | 10.90.90.9 (62001) |
Servidor de aplicativos primário (PAS) | 02 | Sappas | 10.90.90.30 (62002) |
Servidor de aplicativos adicional (AAS) | 03 | sapers | 10.90.90.31 (62003) |
Identificador do sistema SAP | NW1 | --- | --- |
Nota
Instale mais instâncias de aplicativos SAP em VMs separadas se quiser expandir para fora.
Considerações importantes para a solução de otimização de custos
- Apenas duas instâncias de diálogo, PAS e uma AAS, podem ser implantadas com uma configuração de cluster SAP ASCS/SCS.
- Se quiser expandir seu sistema SAP com mais servidores de aplicativos (como sapa03 e sapa04), você pode instalá-los em VMs separadas. Com o PAS e o AAS sendo instalados em nomes de host virtual, você pode instalar mais servidores de aplicativos usando um nome de host físico ou virtual em VMs separadas. Para saber mais sobre como atribuir um nome de host virtual a uma VM, consulte o blog Usar nomes de host virtual SAP com Linux no Azure.
- Com uma implantação de PAS e AAS com uma configuração de cluster SAP ASCS/SCS, os números de instância de ASCS, ERS, PAS e AAS devem ser diferentes.
- Considere dimensionar suas SKUs de VM adequadamente com base nas diretrizes de dimensionamento. Você deve considerar o comportamento do cluster em que várias instâncias SAP (ASCS, ERS, PAS e AAS) podem ser executadas em uma única VM quando outra VM no cluster não está disponível.
- As instâncias de diálogo (PAS e AAS) em execução com uma configuração de cluster SAP ASCS/SCS devem ser instaladas usando um nome de host virtual.
- Você também deve usar a mesma solução de armazenamento da configuração do cluster SAP ASCS/SCS para implantar instâncias PAS e AAS. Por exemplo, se você configurou um cluster SAP ASCS/SCS usando NFS no Azure Files, a mesma solução de armazenamento deverá ser usada para implantar PAS e AAS.
- O diretório
/usr/sap/<SID>/D<nr>
de instância do PAS e do AAS deve ser montado em um sistema de arquivos NFS e é gerenciado como um recurso pelo cluster.Nota
Para sistemas SAP J2EE, não há suporte para colocar
/usr/sap/<SID>/J<nr>
NFS em Arquivos do Azure. - Para instalar mais servidores de aplicativos em VMs separadas, você pode usar compartilhamentos NFS ou um disco gerenciado local para um sistema de arquivos de diretório de instância. Se você estiver instalando mais servidores de aplicativos para um sistema SAP J2EE,
/usr/sap/<SID>/J<nr>
não há suporte para NFS nos Arquivos do Azure. - Em uma configuração tradicional de alta disponibilidade do SAP ASCS/SCS, as instâncias do servidor de aplicativos executadas em VMs separadas não são afetadas quando há qualquer efeito nos nós de cluster SAP ASCS e ERS. Mas com a configuração de otimização de custos, a instância PAS ou AAS é reiniciada quando há um efeito em um dos nós no cluster.
- Consulte Considerações sobre NFS em Arquivos do Azure e Considerações sobre Arquivos NetApp do Azure porque as mesmas considerações se aplicam a essa configuração.
Pré-requisitos
A configuração descrita neste artigo é uma adição à configuração do cluster SAP ASCS/SCS já configurada. Nessa configuração, o PAS e o AAS são instalados em um nome de host virtual e seu diretório de instância é gerenciado pelo cluster. Com base no armazenamento, use as etapas descritas nos artigos a seguir para configurar o SAPInstance
recurso para a instância SAP ASCS e SAP ERS no cluster.
- NFS em Arquivos do Azure: alta disponibilidade de VMs do Azure para SAP NW no RHEL com NFS no Azure Files
- Arquivos NetApp do Azure: alta disponibilidade de VMs do Azure para SAP NW no RHEL com Arquivos NetApp do Azure
Depois de instalar a instância ASCS, ERS e Database usando o Software Provisioning Manager (SWPM), siga as próximas etapas para instalar as instâncias PAS e AAS.
Configurar o Azure Load Balancer para PAS e AAS
Este artigo pressupõe que você já configurou o balanceador de carga para a configuração do cluster SAP ASCS/SCS, conforme descrito em Configurar o Balanceador de Carga do Azure. Na mesma instância do Balanceador de Carga do Azure, siga estas etapas para criar mais IPs front-end e regras de balanceamento de carga para PAS e AAS.
- Abra o balanceador de carga interno que foi criado para a configuração do cluster SAP ASCS/SCS.
- Configuração de IP Frontend: Crie dois IPs front-end, um para PAS e outro para AAS (por exemplo, 10.90.90.30 e 10.90.90.31).
- Pool de back-end: esse pool permanece o mesmo porque estamos implantando PAS e AAS no mesmo pool de back-end.
- Regras de entrada: crie duas regras de balanceamento de carga, uma para PAS e outra para AAS. Siga as mesmas etapas para ambas as regras de balanceamento de carga.
- Endereço IP frontend: Selecione o IP front-end.
- Pool de back-end: selecione o pool de back-end.
- Portas de alta disponibilidade: selecione esta opção.
- Protocolo: Selecione TCP.
- Sonda de integridade: crie uma sonda de integridade com os seguintes detalhes (aplica-se a PAS e AAS):
- Protocolo: Selecione TCP.
- Porta: Por exemplo, 620<Instance-no.> para PAS e 620<Instance-no.> para AAS.
- Intervalo: Digite 5.
- Limite da sonda: Digite 2.
- Tempo limite de inatividade (minutos): Digite 30.
- Ativar IP flutuante: selecione esta opção.
A propriedade numberOfProbes
de configuração da sonda de integridade, também conhecida como Limite não íntegro no portal do Azure, não é respeitada. 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. Use a CLI do Azure ou o comando PowerShell.
Quando VMs sem endereços IP públicos são colocadas no pool de back-end de uma instância interna (sem endereço IP público) do Balanceador de Carga do Azure Padrão, 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 etapas sobre como obter conectividade de saída, consulte Conectividade de ponto de extremidade público para máquinas virtuais 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. A ativação de carimbos de data/hora TCP faz 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.
Preparar servidores para instalação de PAS e AAS
Quando as etapas neste documento são marcadas com os seguintes prefixos, elas significam:
- [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 nomes de host.
Você pode usar um servidor DNS ou modificar
/etc/hosts
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 # IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers # IP address of the load balancer frontend configuration for SAP Netweaver PAS 10.90.90.30 sappas # IP address of the load balancer frontend configuration for SAP Netweaver AAS 10.90.90.31 sapaas
[1] Crie os diretórios SAP no compartilhamento NFS. Monte o compartilhamento NFS sapnw1 temporariamente em uma das VMs e crie os diretórios SAP para serem usados como pontos de montagem aninhados.
Se você estiver usando NFS em Arquivos do Azure:
# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Se você estiver usando os Arquivos NetApp do Azure:
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 10.90.91.5:/sapnw1 /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 10.90.91.5:/sapnw1 /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p usrsapNW1D02 sudo mkdir -p usrsapNW1D03 # 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 /usr/sap/NW1/D02 sudo mkdir -p /usr/sap/NW1/D03 sudo chattr +i /usr/sap/NW1/D02 sudo chattr +i /usr/sap/NW1/D03
[A] Configure o espaço de permuta. Ao instalar uma instância de diálogo com serviços centrais, você deve configurar mais espaço de permuta.
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # 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 virtual machine 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 ResourceDisk.SwapSizeMB=10480
Reinicie o agente para ativar a alteração.
sudo service waagent restart
[A] Adicione regras de firewall para PAS e AAS.
# Probe and gateway port for PAS and AAS sudo firewall-cmd --zone=public --add-port={62002,62003,3302,3303}/tcp --permanent sudo firewall-cmd --zone=public --add-port={62002,62003,3303,3303}/tcp
Instalar uma instância do SAP Netweaver PAS
[1] Verifique o estado do cluster. Antes de configurar um recurso PAS para instalação, verifique se os recursos ASCS e ERS estão configurados e iniciados.
sudo pcs status # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2
[1] Crie recursos de sistema de ficheiros, IP virtual e teste de estado de funcionamento para a instância PAS.
sudo pcs node standby sap-cl2 sudo pcs resource create vip_NW1_PAS IPaddr2 ip=10.90.90.30 --group g-NW1_PAS sudo pcs resource create nc_NW1_PAS azure-lb port=62002 --group g-NW1_PAS # If using NFS on Azure files sudo pcs resource create fs_NW1_PAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_PAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' 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-NW1_PAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_PAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D02' \ directory='/usr/sap/NW1/D02' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_PAS
Verifique se o status do cluster está correto e se todos os recursos foram iniciados. Não é importante em qual nó os recursos estão sendo executados.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1
[1] Altere a
/usr/sap/SID/D02
propriedade da pasta após a montagem do sistema de ficheiros.sudo chown nw1adm:sapsys /usr/sap/NW1/D02
[1] Instale o SAP Netweaver PAS.
Instale o SAP NetWeaver PAS como uma 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 PAS. Por exemplo, use sappas, 10.90.90.30 e o número da instância que você usou para a sonda do balanceador de carga, por exemplo 02.
Você pode usar o parâmetro
SAPINST_REMOTE_ACCESS_USER
sapinst para permitir que um usuário não raiz se conecte ao sapinst.# 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=<pas_virtual_hostname>
Atualize o
/usr/sap/sapservices
arquivo.Para impedir o início das instâncias pelo script de inicialização sapinit, todas as instâncias gerenciadas pelo Pacemaker devem ser comentadas a partir do
/usr/sap/sapservices
arquivo.sudo vi /usr/sap/sapservices # On the node where PAS is installed, comment out the following lines. # LD_LIBRARY_PATH=/usr/sap/NW1/D02/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D02/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D02_sappas -D -u nw1adm
[1] Crie o recurso de cluster PAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=60 \ --group g-NW1_PAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_PAS02 SAPInstance InstanceName="NW1_D02_sappas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D02_sappas \ op monitor interval=20 timeout=105 \ --group g-NW1_PAS
Verifique o status do cluster.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
Configure uma restrição para iniciar o grupo de recursos do PAS somente depois que a instância ASCS for iniciada.
sudo pcs constraint order g-NW1_ASCS then g-NW1_PAS kind=Optional symmetrical=false
Instalar uma instância do SAP Netweaver AAS
[2] Verifique o estado do cluster. Antes de configurar um recurso AAS para instalação, verifique se os recursos ASCS, ERS e PAS foram iniciados.
sudo pcs status # Node List: # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1
[2] Crie recursos de sistema de arquivos, IP virtual e teste de integridade para a instância do AAS.
sudo pcs node unstandby sap-cl2 # Disable PAS resource as it will fail on sap-cl2 due to missing environment variables like hdbuserstore. sudo pcs resource disable g-NW1_PAS sudo pcs node standby sap-cl1 # Execute below command to cleanup resource, if required pcs resource cleanup rsc_sap_NW1_ERS01 sudo pcs resource create vip_NW1_AAS IPaddr2 ip=10.90.90.31 --group g-NW1_AAS sudo pcs resource create nc_NW1_AAS azure-lb port=62003 --group g-NW1_AAS # If using NFS on Azure files sudo pcs resource create fs_NW1_AAS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='noresvport,vers=4,minorversion=1,sec=sys' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=40 \ --group g-NW1_AAS # If using NFsv3 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' 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-NW1_AAS # If using NFSv4.1 on Azure NetApp Files sudo pcs resource create fs_NW1_AAS Filesystem device='10.90.91.5:/sapnw1/usrsapNW1D03' \ directory='/usr/sap/NW1/D03' fstype='nfs' force_unmount=safe options='sec=sys,vers=4.1' \ op start interval=0 timeout=60 \ op stop interval=0 timeout=120 \ op monitor interval=200 timeout=105 \ --group g-NW1_AAS
Verifique se o status do cluster está correto e se todos os recursos foram iniciados. Não é importante em qual nó os recursos estão sendo executados. Como o grupo de recursos g-NW1_PAS é interrompido, todos os recursos do PAS são interrompidos no estado (desabilitado).
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2
[2] Altere a
/usr/sap/SID/D03
propriedade da pasta após a montagem do sistema de ficheiros.sudo chown nw1adm:sapsys /usr/sap/NW1/D03
[2] Instale um SAP Netweaver AAS.
Instale um SAP NetWeaver AAS como 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 PAS. Por exemplo, use sapaas, 10.90.90.31 e o número da instância que você usou para a sonda do balanceador de carga, por exemplo, 03.
Você pode usar o parâmetro
SAPINST_REMOTE_ACCESS_USER
sapinst para permitir que um usuário não raiz se conecte ao sapinst.# 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=<aas_virtual_hostname>
Atualize o
/usr/sap/sapservices
arquivo.Para impedir o início das instâncias pelo script de inicialização sapinit, todas as instâncias gerenciadas pelo Pacemaker devem ser comentadas a partir do
/usr/sap/sapservices
arquivo.sudo vi /usr/sap/sapservices # On the node where AAS is installed, comment out the following lines. #LD_LIBRARY_PATH=/usr/sap/NW1/D03/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/NW1/D03/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_D03_sapaas -D -u nw1adm
[2] Crie um recurso de cluster AAS.
# If using NFS on Azure Files or NFSv3 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=60 \ --group g-NW1_AAS # If using NFSv4.1 on Azure NetApp Files pcs resource create rsc_sap_NW1_AAS03 SAPInstance InstanceName="NW1_D03_sapaas" \ START_PROFILE=/sapmnt/NW1/profile/NW1_D03_sapaas \ op monitor interval=120 timeout=105 \ --group g-NW1_AAS
Verifique o status do cluster.
sudo pcs status # Node List: # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Stopped (disabled) # nc_NW1_PAS (ocf::heartbeat:azure-lb): Stopped (disabled) # fs_NW1_PAS (ocf::heartbeat:Filesystem): Stopped (disabled) # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Stopped (disabled) # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Configure uma restrição para iniciar o grupo de recursos AAS somente depois que a instância ASCS for iniciada.
sudo pcs constraint order g-NW1_ASCS then g-NW1_AAS kind=Optional symmetrical=false
Pós-configuração para instâncias PAS e AAS
[1] Para que o PAS e o AAS sejam executados em qualquer nó de cluster (sap-cl1 ou sap-cl2), o conteúdo
$HOME/.hdb
de<sid>adm
ambos os nós de cluster precisa ser copiado.# Check current content of /home/nw1adm/.hdb on sap-cl1 sap-cl1:nw1adm > ls -ltr $HOME/.hdb drwx------. 2 nw1adm sapsys 66 Aug 8 19:11 sappas drwx------. 2 nw1adm sapsys 84 Aug 8 19:12 sap-cl1 # Check current content of /home/nw1adm/.hdb on sap-cl2 sap-cl2:nw1adm > ls -ltr $HOME/.hdb total 0 drwx------. 2 nw1adm sapsys 64 Aug 8 20:25 sap-cl2 drwx------. 2 nw1adm sapsys 66 Aug 8 20:26 sapaas # As PAS and AAS is installed using virtual hostname, you need to copy virtual hostname directory in /home/nw1adm/.hdb # Copy sappas directory from sap-cl1 to sap-cl2 sap-cl1:nw1adm > scp -r sappas nw1adm@sap-cl2:/home/nw1adm/.hdb # Copy sapaas directory from sap-cl2 to sap-cl1. Execute the command from the same sap-cl1 host. sap-cl1:nw1adm > scp -r nw1adm@sap-cl2:/home/nw1adm/.hdb/sapaas .
[1] Para garantir que as instâncias PAS e AAS não sejam executadas nos mesmos nós sempre que ambos os nós estiverem em execução, adicione uma restrição de colocation negativa com o seguinte comando:
sudo pcs constraint colocation add g-NW1_AAS with g-NW1_PAS score=-1000 sudo pcs node unstandby sap-cl1 sudo pcs resource enable g-NW1_PAS
A pontuação de -1000 garante que, se apenas um nó estiver disponível, ambas as instâncias continuarão a ser executadas no outro nó. Se você quiser manter a instância do AAS inativa em tal situação, poderá usar
score=-INFINITY
para impor essa condição.Verifique o status do cluster.
sudo pcs status # Node List: # Online: [ sap-cl1 sap-cl2 ] # # Full list of resources: # # rsc_st_azure (stonith:fence_azure_arm): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl2 # Resource Group: g-NW1_AERS # fs_NW1_AERS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_AERS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_AERS (ocf::heartbeat:IPaddr2): Started sap-cl1 # rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_PAS: # vip_NW1_PAS (ocf::heartbeat:IPaddr2): Started sap-cl1 # nc_NW1_PAS (ocf::heartbeat:azure-lb): Started sap-cl1 # fs_NW1_PAS (ocf::heartbeat:Filesystem): Started sap-cl1 # rsc_sap_NW1_PAS02 (ocf::heartbeat:SAPInstance): Started sap-cl1 # Resource Group: g-NW1_AAS: # vip_NW1_AAS (ocf::heartbeat:IPaddr2): Started sap-cl2 # nc_NW1_AAS (ocf::heartbeat:azure-lb): Started sap-cl2 # fs_NW1_AAS (ocf::heartbeat:Filesystem): Started sap-cl2 # rsc_sap_NW1_AAS03 (ocf::heartbeat:SAPInstance): Started sap-cl2
Testar a configuração do cluster
Teste completamente seu cluster de marcapasso executando os testes de failover típicos.