Alta disponibilidade para SAP NetWeaver em VMs no RHEL com NFS no Azure Files

Este artigo descreve como implantar e configurar máquinas virtuais (VMs), instalar a estrutura de cluster e instalar um sistema SAP NetWeaver de alta disponibilidade (HA) usando NFS em Arquivos do Azure. As configurações de exemplo usam VMs que são executadas no Red Hat Enterprise Linux (RHEL).

Pré-requisitos

Descrição geral

Para implantar a camada de aplicativos SAP NetWeaver, você precisa de diretórios compartilhados como /sapmnt/SID e /usr/sap/trans no ambiente. Além disso, ao implantar um sistema HA SAP, você precisa proteger e tornar sistemas de arquivos altamente disponíveis como /sapmnt/SID e /usr/sap/SID/ASCS.

Agora você pode colocar esses sistemas de arquivos em NFS nos Arquivos do Azure. O NFS no Azure Files é uma solução de armazenamento HA. Essa solução oferece armazenamento síncrono com redundância de zona (ZRS) e é adequada para instâncias SAP ASCS/ERS implantadas em zonas de disponibilidade. Você ainda precisa de um cluster Pacemaker para proteger componentes de ponto único de falha, como os serviços centrais do SAP NetWeaver (ASCS/SCS).

As configurações de exemplo e os comandos de instalação usam os seguintes números de instância:

Nome da instância Número da instância
Serviços centrais ABAP SAP (ASCS) 00
ERS 01
Serviços centrais ABAP SAP (ASCS) 02
Servidor de aplicativos adicional (AAS) 03
Identificador do sistema SAP NW1

Diagram that shows SAP NetWeaver high availability with NFS on Azure Files.

Este diagrama mostra uma arquitetura típica do SAP NetWeaver HA. Os sistemas de arquivos 'sapmnt' e 'saptrans' são implantados em compartilhamentos NFS nos Arquivos do Azure. Os serviços centrais SAP são protegidos por um cluster Pacemaker. As VMs clusterizadas estão atrás de uma instância do Balanceador de Carga do Azure. As ações NFS são montadas através de terminais privados.

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.

  1. 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.
  2. Pool de back-end: crie pool de back-end e adicione VMs ASCS e ERS.
  3. 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 .

Importante

O IP flutuante não é suportado em uma configuração de IP secundário da NIC em cenários de balanceamento de carga. Para obter mais informações, consulte Limitações do balanceador de carga. Se você precisar de outro endereço IP para a VM, implante uma segunda NIC.

Nota

Quando VMs sem endereços IP públicos são colocadas no pool de back-end de uma instância padrão interna (sem endereço IP público) do Load Balancer, 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 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. 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.

Implantar a conta de armazenamento de Arquivos do Azure e compartilhamentos NFS

O NFS nos Arquivos do Azure é executado sobre o armazenamento premium dos Arquivos do Azure. Antes de configurar o NFS nos Arquivos do Azure, consulte Como criar um compartilhamento NFS.

Há duas opções de redundância em uma região do Azure:

Verifique se a região do Azure selecionada oferece NFS 4.1 nos Arquivos do Azure com a redundância apropriada. Analise a disponibilidade dos Arquivos do Azure por região do Azure em Armazenamento de Arquivos Premium. Se o seu cenário se beneficiar do ZRS, verifique se os compartilhamentos de arquivos premium com o ZRS são suportados em sua região do Azure.

Recomendamos que você acesse sua conta de Armazenamento do Azure por meio de um ponto de extremidade privado do Azure. Certifique-se de implantar o ponto de extremidade da conta de armazenamento do Azure Files e as VMs, onde você precisa montar os compartilhamentos NFS, na mesma rede virtual do Azure ou redes virtuais emparelhadas do Azure.

  1. Implantar uma conta de armazenamento do Azure Files chamada sapafsnfs. Neste exemplo, usamos o ZRS. Se você não estiver familiarizado com o processo, consulte Criar uma conta de armazenamento para o portal do Azure.

  2. Na guia Noções básicas, use estas configurações:

    1. Em Nome da conta de armazenamento, digite sapafsnfs.
    2. Em Desempenho, selecione Premium.
    3. Para Tipo de conta Premium, selecione FileStorage.
    4. Em Replicação, selecione redundância de zona (ZRS).
  3. Selecione Seguinte.

  4. Na guia Avançado, desmarque Exigir transferência segura para operações de API REST. Se você não desmarcar essa opção, não poderá montar o compartilhamento NFS em sua VM. A operação de montagem atingirá o tempo limite.

  5. Selecione Seguinte.

  6. Na seção Rede, defina estas configurações:

    1. Em Conectividade de rede, para Método de conectividade, selecione Ponto de extremidade privado.
    2. Em Ponto de extremidade privado, selecione Adicionar ponto de extremidade privado.
  7. No painel Criar ponto de extremidade privado, selecione sua Assinatura, Grupo de recursos e Local. Em Nome, digite sapafsnfs_pe. Para Subrecurso de armazenamento, selecione arquivo. Em Rede, para Rede virtual, selecione a rede virtual e a sub-rede a serem usadas. Novamente, você pode usar a rede virtual onde suas VMs SAP estão ou uma rede virtual emparelhada. Em Integração de DNS privado, aceite a opção padrão Sim para Integrar com zona DNS privada. Certifique-se de que seleciona a sua Zona DNS Privada. Selecione OK.

  8. Na guia Rede novamente, selecione Avançar.

  9. Na guia Proteção de dados , mantenha todas as configurações padrão.

  10. Selecione Rever + criar para validar a sua configuração.

  11. Aguarde a validação terminar. Corrija quaisquer problemas antes de continuar.

  12. No separador Rever + criar, selecione Criar.

Em seguida, implante os compartilhamentos NFS na conta de armazenamento que você criou. Neste exemplo, há dois compartilhamentos NFS sapnw1 e saptrans.

  1. Inicie sessão no portal do Azure.
  2. Selecione ou pesquise contas de armazenamento.
  3. Na página Contas de armazenamento, selecione sapafsnfs.
  4. No menu de recursos para sapafsnfs, em Armazenamento de dados, selecione Compartilhamentos de arquivos.
  5. Na página Compartilhamentos de arquivos, selecione Compartilhamento de arquivos.
    1. Em Nome, digite sapnw1, saptrans.
    2. Selecione um tamanho de compartilhamento apropriado. Por exemplo, 128 GB. Considere o tamanho dos dados armazenados no compartilhamento e IOPS e requisitos de taxa de transferência. Para obter mais informações, consulte Destinos de compartilhamento de arquivos do Azure.
    3. Selecione NFS como o protocolo.
    4. Selecione No root Squash. Caso contrário, quando você monta os compartilhamentos em suas VMs, não poderá ver o proprietário ou grupo do arquivo.

Importante

O tamanho da ação anterior é apenas um exemplo. Certifique-se de dimensionar suas ações adequadamente. O tamanho não se baseia apenas no tamanho dos dados armazenados no compartilhamento, mas também nos requisitos de IOPS e taxa de transferência. Para obter mais informações, consulte Destinos de compartilhamento de arquivos do Azure.

Os sistemas de arquivos SAP que não precisam ser montados via NFS também podem ser implantados no armazenamento em disco do Azure. Neste exemplo, você pode implantar /usr/sap/NW1/D02 e /usr/sap/NW1/D03 no armazenamento em disco do Azure.

Considerações importantes para NFS em compartilhamentos de Arquivos do Azure

Ao planejar sua implantação com NFS nos Arquivos do Azure, considere os seguintes pontos importantes:

  • O tamanho mínimo da ação é de 100 GiB. Você paga apenas pela capacidade das ações provisionadas.
  • Dimensione seus compartilhamentos NFS não apenas com base nos requisitos de capacidade, mas também nos requisitos de IOPS e taxa de transferência. Para obter mais informações, consulte Destinos de compartilhamento de arquivos do Azure.
  • Teste a carga de trabalho para validar seu dimensionamento e garantir que ela atenda às suas metas de desempenho. Para saber como solucionar problemas de desempenho com NFS em Arquivos do Azure, consulte Solucionar problemas de desempenho de compartilhamento de arquivos do Azure.
  • Para sistemas SAP J2EE, não há suporte para colocar /usr/sap/<SID>/J<nr> NFS em Arquivos do Azure.
  • Se o seu sistema SAP tiver uma carga pesada de trabalhos em lote, você pode ter milhões de logs de trabalho. Se os logs de trabalho em lote SAP estiverem armazenados no sistema de arquivos, preste especial atenção ao dimensionamento do sapmnt compartilhamento. A partir de SAP_BASIS 7.52, o comportamento padrão para os logs de trabalho em lote deve ser armazenado no banco de dados. Para obter mais informações, consulte Log de tarefas no banco de dados.
  • Implante um compartilhamento separado sapmnt para cada sistema SAP.
  • Não use o sapmnt compartilhamento para qualquer outra atividade, como interfaces ou saptrans.
  • Não use o saptrans compartilhamento para qualquer outra atividade, como interfaces ou sapmnt.
  • Evite consolidar os compartilhamentos de muitos sistemas SAP em uma única conta de armazenamento. Há também metas de escala de desempenho de conta de armazenamento. Tenha cuidado para não exceder os limites para a conta de armazenamento também.
  • Em geral, não consolide os compartilhamentos de mais de cinco sistemas SAP em uma única conta de armazenamento. Essa diretriz ajuda a evitar exceder os limites da conta de armazenamento e simplifica a análise de desempenho.
  • Em geral, evite misturar compartilhamentos, como para sistemas SAP de não produção e produção, sapmnt na mesma conta de armazenamento.
  • Recomendamos que você implante no RHEL 8.4 ou superior para se beneficiar das melhorias do cliente NFS.
  • Use um ponto de extremidade privado. No caso improvável de uma falha zonal, suas sessões NFS redirecionam automaticamente para uma zona íntegra. Não é necessário remontar os compartilhamentos NFS em suas VMs.
  • Se você estiver implantando suas VMs em zonas de disponibilidade, use uma conta de armazenamento com o ZRS nas regiões do Azure que oferecem suporte ao ZRS .
  • Atualmente, o Azure Files não oferece suporte à replicação automática entre regiões para cenários de recuperação de desastres.

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 uma 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
  1. [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
     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
    
  2. [A] Instale o cliente NFS e outros requisitos.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [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 que serão usados como pontos de montagem aninhados.

    # 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 sapmntNW1
    sudo mkdir -p usrsapNW1ascs
    sudo mkdir -p usrsapNW1ers
    sudo mkdir -p usrsapNW1sys
    # unmount the volume and delete the temporary directory
    cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  4. [A] Crie os diretórios compartilhados.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    sudo mkdir -p /usr/sap/NW1/SYS
    sudo mkdir -p /usr/sap/NW1/ASCS00
    sudo mkdir -p /usr/sap/NW1/ERS01
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    sudo chattr +i /usr/sap/NW1/SYS
    sudo chattr +i /usr/sap/NW1/ASCS00
    sudo chattr +i /usr/sap/NW1/ERS01
    
  5. [A] Verifique a versão do resource-agents-sap.

    Certifique-se de que a versão do pacote instalado resource-agents-sap é pelo menos 3.9.5-124.el7.

    sudo yum info resource-agents-sap
    
  6. [A] Adicionar entradas de montagem.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  7. [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 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
    

    Reinicie o agente para ativar a alteração.

    sudo service waagent restart
    
  8. [A] Configurar o RHEL.

    Configure o RHEL conforme descrito no SAP Note 2002167 para RHEL 7.x, SAP Note 2772999 para RHEL 8.x ou SAP Note 3108316 para RHEL 9.x.

Instalar o SAP NetWeaver ASCS/ERS

  1. [1] Configure as propriedades padrão do cluster.

    # If using RHEL 7.x
    pcs resource defaults resource-stickiness=1
    pcs resource defaults migration-threshold=3
    # If using RHEL 8.x or later
    pcs resource defaults update resource-stickiness=1
    pcs resource defaults update migration-threshold=3
    
  2. [1] Crie um recurso IP virtual e uma sonda de integridade para a instância ASCS.

    sudo pcs node standby sap-cl2
    
    sudo pcs resource create fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' \
      directory='/usr/sap/NW1/ASCS00' 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_ASCS
    
    sudo pcs resource create vip_NW1_ASCS IPaddr2 \
      ip=10.90.90.10 \
      --group g-NW1_ASCS
    
    sudo pcs resource create nc_NW1_ASCS azure-lb port=62000 \
      --group g-NW1_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 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
    
  3. [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, sapascs e 10.90.90.10, 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âmetro SAPINST_REMOTE_ACCESS_USER 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=<virtual_hostname>
    

    Se a instalação não conseguir criar uma subpasta em /usr/sap/NW1/ASCS 00, tente definir o proprietário e o grupo da pasta ASCS00 e tente novamente.

    sudo chown nw1adm /usr/sap/NW1/ASCS00
    sudo chgrp sapsys /usr/sap/NW1/ASCS00
    
  4. [1] Criar um recurso IP virtual e uma sonda de integridade para a instância ERS.

    sudo pcs node unstandby sap-cl2
    sudo pcs node standby sap-cl1
    
    sudo pcs resource create fs_NW1_AERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' \
      directory='/usr/sap/NW1/ERS01' 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_AERS
    
    sudo pcs resource create vip_NW1_AERS IPaddr2 \
      ip=10.90.90.9 \
     --group g-NW1_AERS
    
    sudo pcs resource create nc_NW1_AERS azure-lb port=62101 \
     --group g-NW1_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 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
    #  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
    
  5. [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, sapers e 10.90.90.9, 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âmetro SAPINST_REMOTE_ACCESS_USER 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=<virtual_hostname>
    

    Se a instalação não conseguir criar uma subpasta em /usr/sap/NW1/ERS 01, tente definir o proprietário e o grupo da pasta ERS01 e tente novamente.

    sudo chown qaadm /usr/sap/NW1/ERS01
    sudo chgrp sapsys /usr/sap/NW1/ERS01
    
  6. [1] Adaptar os perfis das instâncias ASCS/SCS e ERS.

    • Perfil ASCS/SCS:

      sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs
      
      # 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/NW1/profile/NW1_ERS01_sapers
      
      # 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
      
  7. [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 ASCS/SCS do SAP NetWeaver, se estiver usando ENSA1. Altere as configurações do sistema keepalive Linux em todos os servidores SAP para ENSA1 e ENSA2. Para obter mais informações, consulte SAP Note 1410736.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  8. [A] Atualize o /usr/sap/sapservices arquivo.

    Para impedir o início das instâncias pelo script de inicialização, todas as instâncias gerenciadas pelo sapinit 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/NW1/ASCS00/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ASCS00/exe/sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ASCS00_sapascs
    
    # Depending on whether the SAP Startup framework is integrated with systemd, you will observe one of the two entries on the ERS node. You should comment out the line(s). 
    # LD_LIBRARY_PATH=/usr/sap/NW1/ERS01/exe:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; /usr/sap/NW1/ERS01/exe/sapstartsrv pf=/usr/sap/NW1/ERS01/profile/NW1_ERS01_sapers -D -u nw1adm
    # systemctl --no-ask-password start SAPNW1_00 # sapstartsrv pf=/usr/sap/NW1/SYS/profile/NW1_ERS01_sapers
    

    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.

  9. [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
    
    sudo pcs resource create rsc_sap_NW1_ASCS00 SAPInstance \
     InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     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-NW1_ASCS
    
    sudo pcs resource meta g-NW1_ASCS resource-stickiness=3000
    
    sudo pcs resource create rsc_sap_NW1_ERS01 SAPInstance \
     InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \
     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-NW1_AERS
    
    sudo pcs constraint colocation add g-NW1_AERS with g-NW1_ASCS -5000
    sudo pcs constraint location rsc_sap_NW1_ASCS00 rule score=2000 runs_ers_NW1 eq 1
    sudo pcs constraint order start g-NW1_ASCS then stop g-NW1_AERS kind=Optional symmetrical=false
    
    sudo pcs node unstandby sap-cl1
    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 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: [ 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
    
  10. [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 um atraso adicional 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 você configurar priority-fencing-delay em um cluster existente, certifique-se de limpar a pcmk_delay_max configuração no dispositivo de esgrima.

    sudo pcs resource defaults update priority=1
    sudo pcs resource update rsc_sap_NW1_ASCS00 meta priority=10
    
    sudo pcs property set priority-fencing-delay=15s
    
  11. [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
  1. [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.

    10.90.90.7    sap-cl1
    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
    10.90.90.12   sapa01
    10.90.90.13   sapa02
    
  2. [A] Crie o sapmnt diretório.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  3. [A] Instale o cliente NFS e outros requisitos.

    sudo yum -y install nfs-utils uuidd
    
  4. [A] Adicionar entradas de montagem.

    vi /etc/fstab
    # Add the following lines to fstab, save and exit
    sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0
    
    # Mount the file systems
    mount -a 
    
  5. [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 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
    

    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.

Instale a instância do banco de dados SAP NetWeaver como uma 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âmetro SAPINST_REMOTE_ACCESS_USER 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

Instalação do servidor de aplicativos SAP NetWeaver

Siga estas etapas para instalar um servidor de aplicativos SAP.

  1. [A] 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.

  2. [A] Instale o servidor de aplicativos SAP NetWeaver.

    Instale um servidor de aplicativos SAP NetWeaver primário ou adicional.

    Você pode usar o sapinst parâmetro SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] 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/nw1adm/.hdb/sapa01/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY
    
    KEY DEFAULT
      ENV : 10.90.90.5:30313
      USER: SAPABAP1
      DATABASE: NW1
    

    Neste exemplo, o endereço IP da entrada padrão aponta para a VM, não para o balanceador de carga. Altere a entrada para apontar para o nome do host virtual do balanceador de carga. Certifique-se de usar a mesma porta e o mesmo nome do banco de dados. Por exemplo, use 30313 e NW1 na saída da amostra.

    su - nw1adm
    hdbuserstore SET DEFAULT nw1db:30313@NW1 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