Alta disponibilidade para SAP NetWeaver em VMs do Azure no SUSE Linux Enterprise Server com o NFS nos Arquivos do Azure

Este artigo descreve como implantar e configurar VMs, instalar a estrutura do cluster e instalar um sistema SAP NetWeaver de alta disponibilidade usando NFS nos Arquivos do Azure. As configurações de exemplo usam VMs que são executadas no SLES (SUSE Linux Enterprise Server).

Para novas implementações no SLES para Aplicativos SAP 15, recomendamos implantar a alta disponibilidade para SAP ASCS/ERS na configuração de montagem simples. A configuração clássica do Pacemaker, baseada em sistemas de arquivos controlados por cluster para os diretórios de serviços centrais do SAP, descrita neste artigo, ainda tem suporte.

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 de alta disponibilidade, 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 do SAP ASCS/ERS 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
PAS (Servidor de aplicativos primário) 02
AAS (Servidor de aplicativos adicional) 03
Identificador do sistema SAP NW1

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 atrás de um balanceador de carga do Azure. Os compartilhamentos NFS são montados por meio do ponto de extremidade privado.

Preparar a infraestrutura

O agente de recursos para a instância SAP está incluído no SUSE Linux Enterprise Server para Aplicativos SAP. Uma imagem do SUSE Linux Enterprise Server para Applications SAP 12 ou 15 está disponível no Azure Marketplace. Você pode usar a imagem para implantar novas VMs.

Implantar VMs do Linux manualmente por meio do portal do Azure

Este documento pressupõe que você já implantou um grupo de recursos, uma Rede Virtual do Azure e uma sub-rede.

Implantar máquinas virtuais com imagem do SLES para Applications SAP. Escolha uma versão adequada da imagem do SLES que seja compatível com o sistema SAP. Você pode implementar a 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. Confira Limitações do Azure Load Balancer para mais detalhes. Se você precisar de um endereço IP adicional para a VM, implante um segundo adaptador de rede.

Observação

Quando as VMs sem endereços IP públicos forem colocadas no pool de back-end do Standard Azure 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 detalhes sobre como alcançar conectividade de saída, confira 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 fará com que as investigações de integridade falhem. Defina o parâmetro de net.ipv4.tcp_timestamps a 0. Para obter detalhes, veja Investigações de integridade do Load Balancer.
  • Para evitar que o saptune altere o valor net.ipv4.tcp_timestamps definido manualmente de 0 de volta para 1, você deve atualizar a versão do saptune para 3.1.1 ou superior. Para obter mais detalhes, confira saptune 3.1.1 - Preciso atualizar?.

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 compartilhamentos de Arquivos Premium com ZRS têm suporte em sua região do Azure.

É recomendável acessar sua conta de 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 VNet do Azure ou em VNets do Azure emparelhadas.

  1. Implante uma conta de Armazenamento de Arquivos chamada 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 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, Grupo de recursos e Local. Para Nome, insira sapafsnfs_pe. Para Sub-recurso de armazenamento, selecione arquivo. Em Rede, para Rede virtual, selecione a VNet e a sub-rede a serem usadas. Mais uma vez, você pode usar a VNet em que suas VMs SAP estão ou uma VNet 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 eventuais 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, selecione Compartilhamentos de arquivo em Armazenamento de dados.

  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, IOPS e 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 acima é 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 taxa de transferência. Para obter detalhes, confira Destino 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 taxa de transferência. Para obter detalhes, confira Destino 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 nos Arquivos do Azure, confira Solução de problemas de desempenho de compartilhamentos de arquivos 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 trabalho. 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 detalhes, confira Log de trabalho 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 para não exceder os limites da conta de armazenamento também.
  • 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, sapmnt como de sistemas SAP de não produção e de produção na mesma conta de armazenamento.
  • É recomendável implantar no SLES 15 SP2 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 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.

Configuração do (A)SCS

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

Criar cluster do Pacemaker

Siga as etapas em Configurar Pacemaker no SUSE Linux Enterprise Server no Azure para criar um cluster Pacemaker básico para o SAP (A)SCS.

Instalação

Os itens a seguir são prefixados com [A] – aplicável a todos os nós, [1] – aplicável somente ao nó 1 ou [2] – aplicável somente ao nó 2.

  1. [A] Instale a versão mais recente do SUSE Connector

    sudo zypper install sap-suse-cluster-connector
    

    Observação

    O problema conhecido com o uso de um travessão em nomes de host é corrigido com a versão 3.1.1 do pacote sap-suse-cluster-connector. Caso você esteja usando nós de cluster com traço no nome do host, verifique se está usando pelo menos a versão 3.1.1 do pacote sap-suse-cluster-connector. Caso contrário, seu cluster não funcionará.

    Certifique-se de que ter instalado a nova versão do conector de cluster SAP SUSE. O antigo era nomeado sap_suse_cluster_connector e o novo é nomeado sap-suse-cluster-conector.

  2. [A] Atualizar agentes de recurso SAP

    É necessário um patch para o pacote resource-agents para usar a nova configuração descrita neste artigo. Você pode verificar, se o patch já está instalado com o comando a seguir

    sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
    

    A saída deverá ser semelhante a

    <parameter name="IS_ERS" unique="0" required="0">;
    

    Se o comando grep não localizar o parâmetro IS_ERS, você precisará instalar o patch listado na página de download do SUSE

  3. [A] Configurar a resolução de nomes do host

    Você pode usar um servidor DNS ou modificar /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 para /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
    
  4. [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
    

Preparar para a instalação do SAP NetWeaver

  1. [A] Criar 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
    
  2. [A] Montar os sistemas de arquivos que não serão controlados pelo cluster do Pacemaker.

    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 
    
  3. [A] Configurar arquivo 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
    

    Reiniciar o agente para ativar a alteração

    sudo service waagent restart
    

Instalação do ASCS/ERS do SAP NetWeaver

  1. [1] Criar um recurso de IP virtual e uma investigação de integridade para a instância do ASCS

    Importante

    É recomendável usar o agente de recursos azure-lb, que faz parte do pacote resource-agents, com os seguintes requisitos de versão do pacote:

    • Para o SLES 12 SP4/SP5, a versão deve ser pelo menos resource-agents-4.3.018.a7fb5035-3.30.1.
    • Para o SLES 15 e superior, a versão deve ser pelo menos resource-agents-4.3.0184.6ee15eb2-4.13.1.
    sudo crm node standby sap-cl2
    sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.90.90.10 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \
      meta resource-stickiness=3000
    

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

    sudo crm_mon -r
    # Node sap-cl2: standby
    # Online: [ sap-cl1 ]
    #
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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
    
    
  2. [1] Instalar 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, 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 sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome de host virtual.

    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.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Criar um recurso de IP virtual e uma investigação de integridade para a instância do ERS

    sudo crm node online sap-cl2
    sudo crm node standby sap-cl1
    sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \
      op start timeout=60s interval=0 \
      op stop timeout=60s interval=0 \
      op monitor interval=20s timeout=40s
    
    sudo crm configure primitive vip_NW1_ERS IPaddr2 \
      params ip=10.90.90.9 \
      op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \
      op monitor timeout=20s interval=10
    
    sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
    

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

    sudo crm_mon -r
    
    # Node sap-cl1: standby
    # Online: [ sap-cl2 ]
    # 
    # Full list of resources:
    #
    # stonith-sbd     (stonith:external/sbd): 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_ERS
    #      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2 
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ERS  (ocf::heartbeat:IPaddr2):     Started sap-cl2
    
  4. [2] Instalar 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 sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome de host virtual.

    <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Observação

    Use SWPM SP 20 PL 05 ou superior. Versões anteriores não configurarão as permissões corretamente e a instalação falhará.

    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.

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [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 following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # Add the keep alive parameter, if using ENSA1
    enque/encni/set_so_keepalive = true
    

    Para ENSA1 e ENSA2, verifique se os keepaliveparâmetros do sistema operacional estão definidos conforme descrito na nota do 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)
    
    # Add the following lines
    service/halib = $(DIR_CT_RUN)/saphascriptco.so
    service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector
    
    # remove Autostart from ERS profile
    # Autostart = 1
    
  6. [A] Configurar 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, você precisará definir 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/ENSA2. Leia a Nota SAP 1410736 para obter mais informações.

    # Change the Linux system configuration
    sudo sysctl net.ipv4.tcp_keepalive_time=300
    
  7. [A] Configurar os usuários do SAP após a instalação

    # Add sidadm to the haclient group
    sudo usermod -aG haclient nw1adm
    
  8. [1] Adicionar os serviços SAP de ERS e ASCS ao arquivo sapservice

    Adicione a entrada de serviço do ASCS ao segundo nó e copie a entrada de serviço de ERS para o primeiro nó.

    cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices"
    sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
    
  9. [1] Criar 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 obter suporte para o ENSA2, confira a Nota SAP 2630416.

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
      operations \$id=rsc_sap_NW1_ASCS00-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
      AUTOMATIC_RECOVER=false \
      meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
      operations \$id=rsc_sap_NW1_ERS01-operations \
      op monitor interval=11 timeout=60 on-fail=restart \
      params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \
      meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01
    
    sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS
    sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1
    sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false
    
    sudo crm_attribute --delete --name priority-fencing-delay
    
    sudo crm node online sap-cl1
    sudo crm configure property maintenance-mode="false"
    

Se você estiver atualizando de uma versão mais antiga e alternando para o servidor de enfileiramento 2, confira a observação SAP 2641019.

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

sudo crm_mon -r
# Full list of resources:
# 
# stonith-sbd     (stonith:external/sbd): Started sap-cl2
#  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_ERS
#      fs_NW1_ERS (ocf::heartbeat:Filesystem):    Started sap-cl2
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started sap-cl2
#      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1

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 abaixo 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 abaixo (como configurar a resolução de nome do host) não são necessárias.

Os itens a seguir são prefixados com [A] – aplicável tanto a PAS quanto a AAS, [P] – aplicável somente a PAS ou [S] – aplicável somente a AAS.

  1. [A] Configurar o sistema operacional

    Reduza o tamanho do cache sujo. Para obter mais informações, consulte Baixo desempenho de gravação em servidores SLES 11/12 com RAM grande.

    sudo vi /etc/sysctl.conf
    # Change/set the following settings
    vm.dirty_bytes = 629145600
    vm.dirty_background_bytes = 314572800
    
  2. [A] Configurar a resolução de nomes do host

    Você pode usar um servidor DNS ou modificar /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 para /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
    
  3. [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
    
  4. [A] Montar o sistema de arquivos

    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] Configurar 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
    

    Reiniciar o agente para ativar a alteração

    sudo service waagent restart
    

Instalar 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 (Máquinas Virtuais) do Azure. Para obter uma lista de bancos de dados com suporte, confira Nota SAP 1928533.

Instale a instância de banco de dados do SAP NetWeaver como raiz usando um nome de host virtual que mapeia para o endereço IP de configuração de front-end do balanceador de carga para o banco de dados.
Você pode usar o parâmetro sapinst 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

Instalação de servidor de aplicativos do SAP NetWeaver

Siga estas etapas para instalar um servidor de aplicativos SAP.

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

    Executar o comando a seguir para listar as entradas

    hdbuserstore List
    

    O comando deve listar todas as entradas e deve ser semelhante 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. Execute os testes de failover típicos.

Próximas etapas