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

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

Para novas implementações no SLES for SAP Applications 15, recomendamos a implantação de alta disponibilidade para SAP ASCS/ERS em 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 SAP, descrita neste artigo, ainda é suportada.

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. Esta solução oferece armazenamento redundante de zona síncrona (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
ABAP SAP Serviços Centrais (ASCS) 00
ERS 01
Servidor de aplicativos primário (PAS) 02
Servidor de aplicativos adicional (AAS) 03
Identificador do sistema SAP NW1

SAP NetWeaver High Availability with NFS on Azure Files

Este diagrama mostra uma arquitetura HA 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 SAP são protegidos por um cluster Pacemaker. As VMs clusterizadas estão atrás de um balanceador de carga do Azure. As ações NFS são montadas através de um ponto final privado.

Preparar a infraestrutura

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

Implantar VMs Linux manualmente por meio do portal do Azure

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

Implante máquinas virtuais com a imagem SLES for SAP Applications. Escolha uma versão adequada da imagem SLES que seja suportada para o sistema SAP. Você pode implantar a 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 detalhes, consulte Limitações do balanceador de carga do Azure. Se você precisar de um endereço IP adicional para a VM, implante uma segunda NIC.

Nota

Quando VMs sem endereços IP públicos são colocadas no pool de back-end do balanceador de carga interno (sem endereço IP público) Standard do Azure, não haverá conectividade de saída com a Internet, a menos que uma configuração adicional seja executada para permitir o roteamento para pontos finais públicos. Para obter detalhes sobre como obter conectividade de saída, consulte Conectividade de ponto de extremidade público para máquinas virtuais usando o Azure Standard Load Balancer em cenários de alta disponibilidade SAP.

Importante

  • Não habilite carimbos de data/hora TCP em VMs do Azure colocadas atrás do Balanceador de Carga do Azure. Habilitar carimbos de data/hora TCP fará com que as sondas de integridade falhem. Defina o net.ipv4.tcp_timestamps parâmetro como 0. Para obter detalhes, consulte Sondas de integridade do balanceador de carga.
  • Para evitar que o saptune altere o valor definido net.ipv4.tcp_timestamps manualmente de 0 volta para , atualize a versão do saptune para 13.1.1 ou superior. Para obter mais detalhes, consulte saptune 3.1.1 – Preciso atualizar?.

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

O NFS nos Arquivos do Azure é executado sobre o armazenamento do Azure Files Premium. 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 Arquivo Premium com o ZRS são suportados 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. 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 VNet do Azure ou VNets do Azure emparelhadas.

  1. Implante uma conta de armazenamento de arquivos 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 VNet e a sub-rede a serem usadas. Novamente, você pode usar a VNet onde estão suas VMs SAP ou uma VNet 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, selecione Compartilhamentos de arquivos em Armazenamento de dados.

  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, 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 acima é apenas um exemplo. Certifique-se de dimensionar suas ações adequadamente. Tamanho não apenas com base no tamanho dos dados armazenados no compartilhamento, mas também com base nos requisitos de IOPS e taxa de transferência. Para obter detalhes, 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 detalhes, 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 nos Arquivos do Azure, consulte Solucionar problemas de desempenho de compartilhamentos 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 detalhes, 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 da conta de armazenamento. Tenha cuidado para não exceder os limites para a conta de armazenamento também.
  • Em geral, não consolide as ações de mais de 5 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 ações como sapmnt para sistemas SAP de não produção e produção na mesma conta de armazenamento.
  • Recomendamos a implantação no SLES 15 SP2 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 a conta de armazenamento com o ZRS nas regiões do Azure que dão 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.

Configurando o (A)SCS

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

Criar cluster de marcapasso

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

Instalação

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

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

    sudo zypper install sap-suse-cluster-connector
    

    Nota

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

    Certifique-se de ter instalado a nova versão do conector de cluster SAP SUSE. O antigo chamava-se sap_suse_cluster_connector e o novo chama-se sap-suse-cluster-connector.

  2. [A] Atualizar agentes de recursos SAP

    Um patch para o pacote de agentes de recursos é necessário para usar a nova configuração descrita neste artigo. Você pode verificar se o patch já está instalado com o seguinte comando

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

    A saída deve ser semelhante a

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

    Se o comando grep não encontrar 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 de host

    Você pode usar um servidor DNS ou modificar o /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 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
    
  4. [1] Crie os diretórios SAP no compartilhamento NFS.
    Monte temporariamente o NFS compartilhar sapnw1 uma das VMs e criar 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
    

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] Monte os sistemas de arquivos que não serão controlados pelo cluster 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 SWAP

    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
    

    Reinicie o Agente para ativar a alteração

    sudo service waagent restart
    

Instalação do SAP NetWeaver ASCS/ERS

  1. [1] Criar um recurso IP virtual e uma sonda de integridade para a instância ASCS

    Importante

    Recomendamos o uso do azure-lb resource agent, que faz parte dos agentes de recursos do pacote, com os seguintes requisitos de versão do pacote:

    • Para SLES 12 SP4/SP5, a versão deve ser pelo menos resource-agents-4.3.018.a7fb5035-3.30.1.
    • Para 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 está ok e se todos os recursos foram iniciados. Não é importante 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 SAP NetWeaver ASCS

    Instale o SAP NetWeaver ASCS como raiz no primeiro nó usando um nome de 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 que você usou para a sonda 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-root se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome do 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/ASCS 00, tente definir o proprietário e o grupo da pasta ASCS00 e tente novamente.

    chown nw1adm /usr/sap/NW1/ASCS00
    chgrp sapsys /usr/sap/NW1/ASCS00
    
  3. [1] Criar um recurso IP virtual e uma sonda de integridade para a instância 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 está ok e se todos os recursos foram iniciados. Não é importante 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 SAP NetWeaver ERS

    Instale o SAP NetWeaver ERS como raiz no segundo nó usando um nome de host virtual que mapeia para o endereço IP da configuração de frontend 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 sonda 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-root se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome do host virtual.

    <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Nota

    Use SWPM SP 20 PL 05 ou superior. As versões inferiores não definem as permissões corretamente e a instalação falhará.

    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.

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [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 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, 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)
    
    # 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 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 isso, você precisa definir um parâmetro no perfil SAP NetWeaver ASCS/SCS, se estiver usando ENSA1. Altere as configurações do sistema keepalive Linux em todos os servidores SAP para ENSA1/ENSA2. Leia SAP Note 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 SAP após a instalação

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

    Adicione a entrada de serviço ASCS ao segundo nó e copie a entrada de serviço 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 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 obter suporte a ENSA2, consulte SAP Note 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 enfileira 2, consulte a nota 2641019 do SAP.

Verifique se o status do cluster está ok e se todos os recursos foram iniciados. Não é importante 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 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 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 ASCS/SCS e HANA. Caso contrário, algumas das etapas abaixo (como configurar a resolução de nomes de host) não são necessárias.

Os itens a seguir são prefixados com [A] - aplicável a PAS e AAS, [P] - aplicável apenas a PAS ou [S] - aplicável apenas a AAS.

  1. [A] Configurar o sistema operativo

    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 de host

    Você pode usar um servidor DNS ou modificar o /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 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
    
  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] Monte os sistemas 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 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 banco 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 máquinas virtuais (VMs) do Azure. Para obter uma lista de bancos de dados suportados, consulte SAP Note 1928533.

Instale a instância do banco de dados SAP NetWeaver como root usando um nome de 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 sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não-root se conecte ao sapinst.

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] Preparar servidor de aplicativos Siga as etapas no capítulo Preparação do servidor de aplicativos SAP NetWeaver acima 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 parâmetro sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não-root se conecte ao sapinst.

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] Atualizar 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

    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 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. Execute os testes de failover típicos.

Próximos passos