Alta disponibilidade para SAP NetWeaver em VMs do Azure no RHEL com NFS nos Arquivos do Azure

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

Pré-requisitos

Visão geral

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

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

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

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

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

Este diagrama mostra uma arquitetura de alta disponibilidade típica do SAP Netweaver. Os sistemas de arquivos "sapmnt" e "saptrans" são implantados em compartilhamentos NFS nos Arquivos do Azure. Os serviços centrais do SAP são protegidos por um cluster do Pacemaker. As VMs clusterizadas estão por trás de uma instância do Azure Load Balancer. Os compartilhamentos NFS são montados por meio de pontos de extremidade 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 do Linux manualmente por meio do portal do Azure

Este documento presume que você já tenha implantado uma Rede Virtual do Azure, uma sub-rede e um grupo de recursos.

Implantar VMs para servidores SAP ASCS, ERS e Aplicativos. Escolha uma imagem RHEL adequada com suporte para o sistema SAP. Você pode implantar uma VM em qualquer uma das opções de disponibilidade: conjunto de dimensionamento de máquinas virtuais, zona de disponibilidade ou conjunto de disponibilidade.

Configurar o Azure Load Balancer

Durante a configuração da VM, você tem a opção de criar ou selecionar o balanceador de carga existente 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 do SAP ERS.

Siga o guia criar 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 instalação do balanceador de carga, considere os pontos a seguir.

  1. Configuração de IP de Front-end: Criar dois protocolos IP de front-end, 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: Criar um pool de back-end e adicionar VMs ASCS e ERS.
  3. Regras de Entrada: Criar duas regras de balanceamento de carga, uma para o ASCS e outra para o ERS. Siga as mesmas etapas para ambas as regras de balanceamento de carga.
    • Endereço IP de front-end: Selecionar o IP de front-end
    • Pool de back-end: Selecionar o pool de back-end
    • Verifique "Portas de alta disponibilidade"
    • Protocolo: TCP
    • Investigação de integridade: Criar uma investigação de integridade com os detalhes abaixo (aplica-se tanto ao ASCS quanto ao ERS)
      • Protocolo: TCP
      • Porta: [por exemplo: 620<Instance-no.> para ASCS, 621<Instance-no.> para ERS]
      • Intervalo: 5
      • Limite de Investigação: 2
    • Tempo limite ocioso (minutos): 30
    • Verificar "Habilitar IP Flutuante"

Observação

A propriedade de configuração Investigação de integridade, também conhecida como "Limite não íntegro" no portal, não é respeitada. Portanto, para controlar o número de investigações consecutivas bem-sucedidas ou com falha, defina a propriedade "probeThreshold" como 2. No momento, não é possível definir essa propriedade usando o portal do Azure, portanto, use a CLI do Azure ou o comando do PowerShell.

Importante

Não há suporte para IP flutuante em uma configuração de IP de adaptador de rede secundário em cenários de balanceamento de carga. Para saber mais, confira Limitações do Load Balancer. Se você precisar de um endereço IP adicional para a VM, implante um segunda NIC.

Observação

Quando as VMs sem endereços IP públicos forem colocadas no pool de back-end na instância Standard do Load Balancer (sem endereço IP público), não haverá nenhuma conectividade de saída com a Internet se não houver configuração adicional a fim de permitir o roteamento para pontos de extremidade públicos. Para obter informações sobre como alcançar conectividade de saída, veja Conectividade de ponto de extremidade público para máquinas virtuais usando o Azure Standard Load Balancer em cenários de alta disponibilidade do SAP.

Importante

Não habilite carimbos de data/hora de TCP em VMs do Azure posicionadas de forma subjacente em relação ao Azure Load Balancer. Habilitar carimbos de data/hora de TCP faz as investigações de integridade falharem. Defina o parâmetro net.ipv4.tcp_timestampscomo 0. Para saber mais, confira Investigações de integridade do Load Balancer.

Implantar conta de armazenamento dos 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, confira 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 os NFS 4.1 nos Arquivos do Azure com a redundância apropriada. Examine a disponibilidade de Arquivos do Azure por região do Azure em Armazenamento de Arquivos Premium. Se o seu cenário se beneficia com o ZRS, verifique se há suporte para os compartilhamentos de arquivos premium com ZRS na sua região do Azure.

Recomendamos que você acesse a sua conta do Armazenamento do Azure por meio de um ponto de extremidade privado do Azure. Não deixe de implantar o ponto de extremidade da conta de armazenamento dos Arquivos do Azure e as VMs em que você precisa montar os compartilhamentos NFS na mesma rede virtual do Azure ou em redes virtuais do Azure emparelhadas.

  1. Implante uma conta de armazenamento dos Arquivos do Azure com o nome sapafsnfs. Neste exemplo, usamos o ZRS. Se você não está familiarizado com esse processo, confira Criar uma conta de armazenamento para o portal do Azure.

  2. Na guia Básico, use estas configurações:

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

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

  5. Selecione Avançar.

  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, seu Grupo de recursos e sua Localização. Para Nome, insira sapafsnfs_pe. Para Sub-recurso 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 na qual estão as suas VMs do SAP ou usar uma rede virtual emparelhada. Em Integração do DNS privado, aceite a opção padrão Sim para Integrar com zona DNS privada. Não deixe de selecionar sua Zona DNS privada. Selecione OK.

  8. Novamente na guia Rede, selecione Avançar.

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

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

  11. Aguarde a conclusão da validação. Corrija os problemas antes de continuar.

  12. Na guia Revisar + 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. Entre no portal do Azure.
  2. Selecione ou pesquise por Contas de armazenamento.
  3. Na página Contas de armazenamento, selecione sapafsnfs.
  4. No menu de recursos de sapafsnfs, em Armazenamento de dados, selecione Compartilhamentos de arquivo.
  5. Na página Compartilhamentos de arquivo, selecione Compartilhamento de arquivo.
    1. Para Nome, insira sapnw1, saptrans.
    2. Selecione um tamanho de compartilhamento apropriado. Por exemplo, 128 GB. Considere o tamanho dos dados armazenados nos requisitos de compartilhamento, de IOPS e de taxa de transferência. Para saber mais, confira Destinos de compartilhamento de arquivo do Azure.
    3. Selecione NFS como o protocolo.
    4. Selecione Nenhum squash raiz. Caso contrário, quando montar os compartilhamentos em suas VMs, você não poderá ver o grupo nem o proprietário do arquivo.

Importante

O tamanho do compartilhamento anterior é apenas um exemplo. Dimensione seus compartilhamentos adequadamente. Dimensione com base não somente no tamanho dos dados armazenados no compartilhamento, mas também nos requisitos de IOPS e de taxa de transferência. Para saber mais, confira Destinos de compartilhamento de arquivo 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 sobre o NFS em compartilhamentos dos Arquivos do Azure

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

  • O tamanho mínimo do compartilhamento é de 100 GiB. Você paga somente pela capacidade dos compartilhamentos provisionados.
  • Dimensione seus compartilhamentos NFS com base não somente nos requisitos de capacidade, mas também nos requisitos de IOPS e de taxa de transferência. Para saber mais, confira Destinos de compartilhamento de arquivo do Azure.
  • Teste a carga de trabalho para validar o dimensionamento e garantir que ele atenda às suas metas de desempenho. Para saber como solucionar problemas de desempenho com o NFS nos Arquivos do Azure, confira Solucionar problemas de desempenho de compartilhamento de arquivo do Azure.
  • Para sistemas SAP J2EE, não há suporte para colocar /usr/sap/<SID>/J<nr> no NFS nos Arquivos do Azure.
  • Se o sistema SAP tiver uma carga pesada de trabalhos em lotes, você poderá ter milhões de logs de trabalhos. Se logs de trabalho em lotes do SAP forem armazenados no sistema de arquivos, preste atenção especial ao dimensionamento do compartilhamento sapmnt. Começando no SAP_BASIS 7.52, o comportamento padrão para os logs de trabalho em lotes é de serem armazenados no banco de dados. Para obter mais informações, consulte Log de trabalhos no banco de dados.
  • Implante um compartilhamento sapmnt separado para cada sistema SAP.
  • Não use o compartilhamento sapmnt para nenhuma outra atividade, como interfaces ou saptrans.
  • Não use o compartilhamento saptrans para nenhuma outra atividade, como interfaces ou sapmnt.
  • Evite consolidar os compartilhamentos de muitos sistemas SAP em uma só conta de armazenamento. Também há Metas de escala de desempenho da conta de armazenamento. Tenha cuidado, também, para não exceder os limites da conta de armazenamento.
  • De modo geral, não consolide os compartilhamentos de mais de cinco sistemas SAP em uma só 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 sapmnt de sistemas SAP de não produção e de produção na mesma conta de armazenamento.
  • É recomendável implantar no RHEL 8.4 ou superior para aproveitar os aprimoramentos do cliente NFS.
  • Use um ponto de extremidade privado. No caso improvável de uma falha na zona, suas sessões de NFS são redirecionadas automaticamente para uma zona íntegra. Você não precisa montar novamente os compartilhamentos NFS nas VMs.
  • Se você está implantando as suas VMs em zonas de disponibilidade, use uma conta de armazenamento com ZRS nas regiões do Azure com suporte para ZRS.
  • Atualmente, os Arquivos do Azure não dão suporte à replicação automática entre regiões para cenários de recuperação de desastre.

Configurar (A)SCS

Em seguida, você preparará e instalará as instâncias do SAP ASCS e ERS.

Criar um cluster do Pacemaker

Siga as etapas em Configurando o Pacemaker no Red Hat Enterprise Linux no Azure para criar um cluster básico do Pacemaker para esse 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 somente ao nó 1
  • [2]: aplicável somente ao nó 2
  1. [A] Configurar a resolução de nome do host.

    Você pode usar um servidor DNS ou modificar o arquivo /etc/hosts em todos os nós. Este exemplo mostra como usar o arquivo /etc/hosts. Substitua o endereço IP e o nome do host nos comandos a seguir:

    sudo vi /etc/hosts
    

    Insira as seguintes linhas até /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] Instalar o cliente NFS e outros requisitos.

    sudo yum -y install nfs-utils resource-agents resource-agents-sap
    
  3. [1] Crie os diretórios do SAP no compartilhamento NFS.
    Monte temporariamente o compartilhamento NFS sapnw1 em uma das VMs e crie os diretórios do 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] Verificar a versão de resource-agents-sap.

    Verifique se a versão do pacote resource-agents-sap instalado é 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 de permuta.

    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 na Nota SAP 2002167 para o RHEL 7.x, na Nota SAP 2772999 para o RHEL 8.x ou na nota SAP 3108316 para o RHEL 9.x.

Instalar o ASCS/ERS do SAP NetWeaver

  1. [1] Configurar 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 de IP virtual e uma investigação de integridade para a instância do 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 é ok e se todos os recursos foram iniciados. Não é importante saber em qual nó os recursos estão sendo executados.

    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 ASCS do SAP NetWeaver.

    Instale o ASCS do SAP NetWeaver como raiz no primeiro nó usando um nome do host virtual que mapeia para o endereço IP da configuração de front-end do balanceador de carga para o ASCS, por exemplo, sapascs e 10.90.90.10 e o número da instância utilizado para a investigação do balanceador de carga, por exemplo, 00.

    Você pode usar o parâmetro sapinstSAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte a 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/ASCS00, tente definir o proprietário e o grupo da pasta do ASCS00 e tente novamente.

    sudo chown nw1adm /usr/sap/NW1/ASCS00
    sudo chgrp sapsys /usr/sap/NW1/ASCS00
    
  4. [1] Crie um recurso de IP virtual e uma investigação de integridade para a instância do 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 é ok e se todos os recursos foram iniciados. Não é importante saber em qual nó os recursos estão sendo executados.

    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 ERS do SAP NetWeaver.

    Instale o ERS do SAP NetWeaver como raiz no segundo nó usando um nome do host virtual que mapeia para o endereço IP da configuração de front-end do balanceador de carga para o ERS, por exemplo, sapers, 10.90.90.9 e o número da instância que você usou para a investigação do balanceador de carga, por exemplo, 01.

    Você pode usar o parâmetro sapinstSAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte a 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 falhar ao criar uma subpasta em /usr/sap/NW1/ERS01, tente definir o proprietário e o grupo da pasta 01 do ERS e tente novamente.

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

    • Perfil do 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, verifique se os parâmetros keepalive do sistema operacional estão definidos conforme descrito na nota SAP 1410736.

    • Perfil do 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] Configurar o Keep Alive.

    A comunicação entre o servidor de aplicativos do 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 isso, defina um parâmetro no perfil do ASCS/SCS do SAP NetWeaver se estiver usando o ENSA1. Altere as configurações keepalive do sistema Linux em todos os servidores do SAP para ENSA1 e ENSA2. Para saber mais, veja a nota SAP 1410736.

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

    Para impedir o início das instâncias pelo script de inicialização /usr/sap/sapservices, todas as instâncias gerenciadas pelo Pacemaker devem ser comentadas no arquivo sapinit.

    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 sistema, as instâncias do SAP agora podem ser gerenciadas pelo sistema. A versão mínima necessária do Red Hat Enterprise Linux (RHEL) é RHEL 8 para SAP. Conforme descrito na Nota 3115048 do SAP, uma nova instalação de um kernel do SAP com suporte integrado do SAP Startup Framework baseado em sistema sempre resultará em uma instância do SAP controlada pelo sistema. Após uma atualização do kernel do SAP de uma instalação do SAP existente para um kernel que tem suporte do SAP Startup Framework baseado no sistema, no entanto, algumas etapas manuais precisam ser executadas conforme documentado na Nota 3115048 do SAP, para converter o ambiente de inicialização do SAP existente em um que seja controlado pelo sistema.

    Ao utilizar os serviços de HA do Red Hat para SAP (configuração de cluster) para gerenciar instâncias do servidor de aplicativos SAP, como SAP ASCS e SAP ERS, serão necessárias modificações adicionais para garantir a compatibilidade entre o agente de recursos SAPInstance e a nova estrutura de inicialização SAP baseada em sistema. Portanto, depois que as instâncias do servidor de aplicativos SAP tiverem sido instaladas ou alternadas para um Kernel SAP habilitado para sistema, de acordo com a Nota 3115048 do SAP, as etapas mencionadas no Red Hat KBA 6884531 deverão ser concluídas com êxito em todos os nós de cluster.

  9. [1] Crie os recursos de cluster do SAP.

    Dependendo do fato de estar executando um sistema ENSA1 ou ENSA2, selecione a respectiva guia para definir os recursos. O SAP introduziu o suporte para ENSA2, incluindo replicação, no SAP NetWeaver 7.52. Da Plataforma ABAP 1809 em diante, o ENSA2 é instalado por padrão. Para suporte ao ENSA2. Confira a nota SAP 2630416 sobre o suporte ao servidor de enfileiramento 2.

    Se estiver usando a arquitetura do servidor de enfileiramento 2 (ENSA2), instale o agente de recurso resource-agents-sap-4.1.1-12.el7.x86_64 ou mais recente e defina os recursos da seguinte maneira:

    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 enfileiramento 2, confira a nota SAP 2641322.

    Observação

    Os tempos limite na configuração anterior são apenas exemplos e podem ser adaptados à configuração específica do SAP.

    Verifique se o status do cluster é ok e se todos os recursos foram iniciados. Não é importante saber em qual nó os recursos estão sendo executados.

    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 a etapa a seguir para configurar priority-fencing-delay (aplicável somente a partir do pacemaker-2.0.4-6.el8 ou superior).

    Observação

    Se você tiver um cluster de dois nós, terá a opção de configurar a propriedade priority-fencing-delay do cluster. Essa propriedade introduz um atraso adicional no isolamento de um nó que tem uma prioridade total de recursos mais alta quando ocorre um cenário de split-brain. Para obter mais informações, confira O Pacemaker pode isolar o nó de 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, desmarque a configuração pcmk_delay_max no dispositivo de isolamento.

    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 ao 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 do SAP NetWeaver

Alguns bancos de dados exigem que a instalação da instância do banco de dados seja executada em um servidor de aplicativos. Prepare as máquinas virtuais 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 do ASCS/SCS e do 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 ao PAS e ao AAS
  • [P]: aplicável somente ao PAS
  • [S]: aplicável somente ao AAS
  1. [A] Configurar a resolução de nome do host. Você pode usar um servidor DNS ou modificar o arquivo /etc/hosts em todos os nós. Este exemplo mostra como usar o arquivo /etc/hosts. Substitua o endereço IP e o nome do host nos comandos a seguir:

    sudo vi /etc/hosts
    

    Insira as seguintes linhas até /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] Criar o diretório sapmnt.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  3. [A] Instalar 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 de permuta.

    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
    

Instale o banco de dados

Neste exemplo, o SAP NetWeaver está instalado no SAP HANA. Você pode usar todos os bancos de dados com suporte para esta instalação. Para obter mais informações sobre como instalar o SAP HANA no Azure, confira Alta disponibilidade do SAP HANA em VMs do Azure no Red Hat Enterprise Linux. Para obter uma lista de bancos de dados com suporte, confira Nota SAP 1928533.

Instale a instância do banco de dados do SAP NetWeaver como raiz usando um nome do host virtual que mapeia para o endereço IP da configuração de front-end do balanceador de carga para o banco de dados.

Você pode usar o parâmetro sapinstSAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte a 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 de servidor de aplicativos do SAP NetWeaver

Siga estas etapas para instalar um servidor de aplicativos SAP.

  1. [A] Prepare o servidor de aplicativos.

    Siga as etapas no capítulo Preparação do servidor de aplicativos do SAP NetWeaver acima para preparar o servidor de aplicativos.

  2. [A] Instalar o servidor de aplicativos do SAP NetWeaver.

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

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

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] Atualizar o repositório seguro do SAP HANA.

    Atualize o repositório seguro do SAP HANA para apontar para o nome virtual do programa de instalação da replicação de sistema do SAP HANA.

    Execute o comando a seguir 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, 30313 e NW1 na saída de exemplo.

    su - nw1adm
    hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
    

Testar configuração do cluster

Teste completamente o cluster do Pacemaker. Para obter mais informações, consulte Executar os testes de failover típicos.

Próximas etapas