SAP NetWeaver de alta disponibilidade com montagem simples e NFS em VMs SLES for SAP Applications

Este artigo descreve como implantar e configurar máquinas virtuais (VMs) do Azure, instalar a estrutura de cluster e instalar um sistema SAP NetWeaver de alta disponibilidade (HA) com uma estrutura de montagem simples. Você pode implementar a arquitetura apresentada usando um dos seguintes serviços NFS (Network File System) nativos do Azure:

Espera-se que a configuração de montagem simples seja o padrão para novas implementações no SLES for SAP Applications 15.

Pré-requisitos

Os guias a seguir contêm todas as informações necessárias para configurar um sistema NetWeaver HA:

Descrição geral

Este artigo descreve uma configuração de alta disponibilidade para ASCS com uma estrutura de montagem simples. Para implantar a camada de aplicativos SAP, você precisa de diretórios compartilhados como /sapmnt/SID, e /usr/sap/trans, /usr/sap/SIDque estão altamente disponíveis. Você pode implantar esses sistemas de arquivos em NFS nos Arquivos do Azure ounos ArquivosNetApp do Azure.

Você ainda precisa de um cluster Pacemaker para ajudar a proteger componentes de ponto único de falha, como SAP Central Services (SCS) e ASCS.

Em comparação com a configuração clássica do cluster Pacemaker, com a implantação de montagem simples, o cluster não gerencia os sistemas de arquivos. Esta configuração é suportada apenas no SLES for SAP Applications 15 e posterior. Este artigo não aborda a camada de banco de dados em detalhes.

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
ASCS 00
Enqueue Replication Server (ERS) 01
Servidor de aplicativos primário (PAS) 02
Servidor de aplicativos adicional (AAS) 03
Identificador do sistema SAP NW1

Importante

A configuração com estrutura de montagem simples é suportada apenas no SLES for SAP Applications 15 e versões posteriores.

Diagram that shows SAP NetWeaver high availability with simple mount and NFS.

Este diagrama mostra uma arquitetura típica do SAP NetWeaver HA com uma montagem simples. Os sistemas de arquivos "sapmnt" e "saptrans" são implantados em NFS nativos do Azure: compartilhamentos NFS em Arquivos do Azure ou volumes NFS em Arquivos NetApp do Azure. Um cluster Pacemaker protege os serviços centrais SAP. As VMs clusterizadas estão atrás de um balanceador de carga do Azure. O cluster Pacemaker não gerencia os sistemas de arquivos, em contraste com a configuração clássica do Pacemaker.

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

Um endereço IP flutuante não é suportado em uma configuração de IP secundário de placa de interface de rede (NIC) em cenários de balanceamento de carga. Para obter detalhes, consulte Limitações do Azure Load Balancer. Se você precisar de outro endereço IP para a VM, implante uma segunda NIC.

Nota

Quando VMs sem endereços IP públicos são colocadas no pool de back-end de um balanceador de carga Standard do Azure interno (sem endereço IP público), não haverá conectividade de saída com a Internet, a menos que você execute uma configuração adicional para permitir o roteamento para pontos de extremidade públicos. Para obter detalhes sobre como obter conectividade de saída, consulte Conectividade de ponto de extremidade pública 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 NFS

Há duas opções para implantar o Azure NFS nativo para hospedar os diretórios compartilhados do SAP. Você pode implantar um compartilhamento de arquivos NFS nos Arquivos do Azure ou implantar um volume NFS nos Arquivos NetApp do Azure. O NFS nos Arquivos do Azure dá suporte ao protocolo NFSv4.1. O NFS nos Arquivos NetApp do Azure dá suporte a NFSv4.1 e NFSv3.

As próximas seções descrevem as etapas para implantar o NFS. Selecione apenas uma das opções.

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

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

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

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

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

  1. Implante uma conta de armazenamento do Azure Files chamada sapnfsafs. Este exemplo usa 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, insira sapnfsafs.
    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 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 seguida, faça as seguintes seleções:
    1. Em Nome, digite sapnfsafs_pe.
    2. Para Subrecurso de armazenamento, selecione arquivo.
    3. Em Rede, para Rede virtual, selecione a rede virtual e a sub-rede a serem usadas. Novamente, você pode usar a rede virtual onde suas VMs SAP estão ou uma rede virtual emparelhada.
    4. Em Integração DNS privada, aceite a opção padrão de Sim para integrar com zona DNS privada. Certifique-se de selecionar sua zona DNS privada.
    5. 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 sapnfsafs.
  4. No menu de recursos para sapnfsafs, selecione Compartilhamentos de arquivos em Armazenamento de dados.
  5. Na página Partilhas de ficheiros, selecione Partilha de ficheiros e, em seguida:
    1. Em Nome, digite sapnw1, saptrans.
    2. Selecione um tamanho de compartilhamento apropriado. Considere o tamanho dos dados armazenados no compartilhamento, E/S por segundo (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.

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 partilha é de 100 gibibytes (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 com NFS em Arquivos do Azure, consulte Solucionar problemas de desempenho de compartilhamento de arquivos do Azure.
  • Para sistemas SAP J2EE, não há suporte para a colocação /usr/sap/<SID>/J<nr> em NFS nos 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 nenhuma outra atividade, como interfaces.
  • Não use o saptrans compartilhamento para nenhuma outra atividade, como interfaces.
  • Evite consolidar os compartilhamentos de muitos sistemas SAP em uma única conta de armazenamento. Há também metas de escalabilidade e desempenho para contas de armazenamento. Tenha cuidado para não exceder os limites para a conta de armazenamento também.
  • Em geral, não consolide os compartilhamentos de mais de cinco sistemas SAP em uma única conta de armazenamento. Essa diretriz ajuda a evitar exceder os limites da conta de armazenamento e simplifica a análise de desempenho.
  • Em geral, evite misturar ações como sapmnt para sistemas SAP de não produção e produção na mesma conta de armazenamento.
  • Recomendamos que você implante no SLES 15 SP2 ou posterior para se beneficiar das melhorias do cliente NFS.
  • Use um ponto de extremidade privado. No caso improvável de uma falha zonal, suas sessões NFS redirecionam automaticamente para uma zona íntegra. Não é necessário remontar os compartilhamentos NFS em suas VMs.
  • Se você estiver implantando suas VMs em zonas de disponibilidade, use uma conta de armazenamento com o ZRS nas regiões do Azure que ofereça 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.

Implantar recursos do Azure NetApp Files

  1. Verifique se o serviço Azure NetApp Files está disponível na região do Azure de sua escolha.

  2. Crie a conta NetApp na região do Azure selecionada. Siga estas instruções.

  3. Configure o pool de capacidade de Arquivos NetApp do Azure. Siga estas instruções.

    A arquitetura SAP NetWeaver apresentada neste artigo usa um único pool de capacidade do Azure NetApp Files, Premium SKU. Recomendamos o Azure NetApp Files Premium SKU para cargas de trabalho de aplicativos SAP NetWeaver no Azure.

  4. Delegue uma sub-rede aos Arquivos NetApp do Azure, conforme descrito nestas instruções.

  5. Implante os volumes do Azure NetApp Files seguindo estas instruções. Implante os volumes na sub-rede designada Arquivos NetApp do Azure. Os endereços IP dos volumes NetApp do Azure são atribuídos automaticamente.

    Lembre-se de que os recursos dos Arquivos NetApp do Azure e as VMs do Azure devem estar na mesma rede virtual do Azure ou em redes virtuais do Azure emparelhadas. Este exemplo usa dois volumes de Arquivos NetApp do Azure: sapnw1 e trans. Os caminhos de arquivo que são montados nos pontos de montagem correspondentes são:

    • Volume sapnw1 (nfs://10.27.1.5/sapnw1/sapmntNW1)
    • Volume sapnw1 (nfs://10.27.1.5/sapnw1/usrsapNW1)
    • Volume trans (nfs://10.27.1.5/trans)

Os sistemas de arquivos SAP que não precisam ser compartilhados também podem ser implantados no armazenamento em disco do Azure. Por exemplo, /usr/sap/NW1/D02 e /usr/sap/NW1/D03 poderia ser implantado como armazenamento em disco do Azure.

Considerações importantes para NFS em arquivos NetApp do Azure

Ao considerar os Arquivos NetApp do Azure para a arquitetura de alta disponibilidade do SAP NetWeaver, esteja ciente das seguintes considerações importantes:

  • O pool de capacidade mínima é de 4 tebibytes (TiB). Você pode aumentar o tamanho do pool de capacidade em incrementos de 1 TiB.
  • O volume mínimo é de 100 GiB.
  • Os Arquivos NetApp do Azure e todas as máquinas virtuais nas quais os volumes dos Arquivos NetApp do Azure serão montados devem estar na mesma rede virtual do Azure ou em redes virtuais emparelhadas na mesma região. O acesso aos Arquivos NetApp do Azure por emparelhamento de rede virtual na mesma região é suportado. O acesso aos Arquivos NetApp do Azure por emparelhamento global ainda não é suportado.
  • A rede virtual selecionada deve ter uma sub-rede delegada aos Arquivos NetApp do Azure.
  • A taxa de transferência e as características de desempenho de um volume de Arquivos NetApp do Azure são uma função da cota de volume e do nível de serviço, conforme documentado em Nível de serviço para Arquivos NetApp do Azure. Ao dimensionar os volumes do Azure NetApp Files para SAP, verifique se a taxa de transferência resultante atende aos requisitos do aplicativo.
  • O Azure NetApp Files oferece uma política de exportação. Você pode controlar os clientes permitidos e o tipo de acesso (por exemplo, leitura/gravação ou somente leitura).
  • O Azure NetApp Files ainda não reconhece zonas. Atualmente, os Arquivos NetApp do Azure não são implantados em todas as zonas de disponibilidade em uma região do Azure. Esteja ciente das possíveis implicações de latência em algumas regiões do Azure.
  • Os volumes de Arquivos NetApp do Azure podem ser implantados como volumes NFSv3 ou NFSv4.1. Ambos os protocolos são suportados para a camada de aplicação SAP (ASCS/ERS, SAP application servers).

Configurar o ASCS

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

Criar um 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 ASCS.

Preparar a instalação

Os seguintes itens são prefixados com:

  • [A]: Aplicável a todos os nós.
  • [1]: Aplicável apenas ao nó 1.
  • [2]: Aplicável apenas ao nó 2.
  1. [A] Instale a versão mais recente do conector SUSE.

    sudo zypper install sap-suse-cluster-connector
    
  2. [A] Instale o agente de sapstartsrv recursos.

    sudo zypper install sapstartsrv-resource-agents
    
  3. [A] Atualizar agentes de recursos SAP.

    Para usar a configuração descrita neste artigo, você precisa de um patch para o pacote de agentes de recursos. Para verificar se o patch já está instalado, use o seguinte comando.

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

    A saída deve ser semelhante ao exemplo a seguir.

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

    Se o comando não encontrar o parâmetro, você precisará instalar o grepIS_ERS patch listado na página de download do SUSE.

    Importante

    Você precisa instalar pelo menos sapstartsrv-resource-agents as versões 0.91 e resource-agents 4.x a partir de novembro de 2021.

  4. [A] Configure a resolução de nomes de host.

    Você pode usar um servidor DNS ou modificar /etc/hosts em todos os nós. Este exemplo mostra como usar o /etc/hosts arquivo.

    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.27.0.6    sap-cl1
     # IP address of cluster node 2
     10.27.0.7     sap-cl2
     # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS
     10.27.0.9   sapascs
     # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS
     10.27.0.10    sapers
    
  5. [A] Configure o arquivo SWAP.

    sudo vi /etc/waagent.conf
    
    # Check if the ResourceDisk.Format property is already set to y, and if not, set it.
    ResourceDisk.Format=y
    
    # Set the ResourceDisk.EnableSwap property to y.
    # Create and use the SWAP file on the resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file with the ResourceDisk.SwapSizeMB property.
    # The free space of resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command.
    ResourceDisk.SwapSizeMB=2000
    

    Reinicie o agente para ativar a alteração.

    sudo service waagent restart
    

Preparar diretórios SAP se você estiver usando NFS em Arquivos do Azure

  1. [1] Crie os diretórios SAP no compartilhamento NFS.

    Monte temporariamente o compartilhamento sapnw1 NFS em uma das VMs e crie os diretórios SAP que serão usados como pontos de montagem aninhados.

    # Temporarily mount the volume.
    sudo mkdir -p /saptmp
    sudo mount -t nfs sapnfsafs.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 usrsapNW1
    # Unmount the volume and delete the temporary directory.
    cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  2. [A] Crie os diretórios compartilhados.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/NW1
    sudo chattr +i /usr/sap/trans   
    
  3. [A] Monte os sistemas de arquivos.

    Com a configuração de montagem simples, o cluster Pacemaker não controla os sistemas de arquivos.

    echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys  0  0" >> /etc/fstab
    echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1/ /usr/sap/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys  0  0" >> /etc/fstab
    echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys  0  0" >> /etc/fstab   
    # Mount the file systems.
    mount -a 
    

Prepare diretórios SAP se estiver usando NFS em Arquivos NetApp do Azure

As instruções nesta seção são aplicáveis somente se você estiver usando volumes de Arquivos NetApp do Azure com o protocolo NFSv4.1. Execute a configuração em todas as VMs onde os volumes NFSv4.1 do Azure NetApp Files serão montados.

  1. [A] Desative o mapeamento de ID.

    1. Verifique a configuração de domínio NFS. Certifique-se de que o domínio está configurado como o domínio padrão do Azure NetApp Files, defaultv4iddomain.com. Verifique também se o mapeamento está definido como nobody.

      sudo cat /etc/idmapd.conf
      # Examplepython-azure-mgmt-compute
      [General]
      Verbosity = 0
      Pipefs-Directory = /var/lib/nfs/rpc_pipefs
      Domain = defaultv4iddomain.com
      [Mapping]
      Nobody-User = nobody
      Nobody-Group = nobody
      
    2. Verificar nfs4_disable_idmapping. Deve ser definido como Y.

      Para criar a estrutura de diretórios onde nfs4_disable_idmapping está localizado, execute o mount comando. Você não poderá criar manualmente o diretório em /sys/modules, porque o acesso é reservado para o kernel e drivers.

      # Check nfs4_disable_idmapping. 
      cat /sys/module/nfs/parameters/nfs4_disable_idmapping
      # If you need to set nfs4_disable_idmapping to Y:
      mkdir /mnt/tmp
      mount 10.27.1.5:/sapnw1 /mnt/tmp
      umount  /mnt/tmp
      echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
      # Make the configuration permanent.
      echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
      
  2. [1] Monte temporariamente o volume Azure NetApp Files numa das VMs e crie os diretórios SAP (caminhos de ficheiro).

    # Temporarily mount the volume.
    sudo mkdir -p /saptmp
    # If you're using NFSv3:
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 10.27.1.5:/sapnw1 /saptmp
    # If you're using NFSv4.1:
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 10.27.1.5:/sapnw1 /saptmp
    # Create the SAP directories.
    sudo cd /saptmp
    sudo mkdir -p sapmntNW1
    sudo mkdir -p usrsapNW1
    # Unmount the volume and delete the temporary directory.
    sudo cd ..
    sudo umount /saptmp
    sudo rmdir /saptmp
    
  3. [A] Crie os diretórios compartilhados.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/NW1
    sudo chattr +i /usr/sap/trans
    
  4. [A] Monte os sistemas de arquivos.

    Com a configuração de montagem simples, o cluster Pacemaker não controla os sistemas de arquivos.

    # If you're using NFSv3:
    echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab
    echo "10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab
    echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3,hard 0 0" >> /etc/fstab
    # If you're using NFSv4.1:
    echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab
    echo "10.27.1.5:/sapnw1/usrsapNW1 /usr/sap/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab
    echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab
    # Mount the file systems.
    mount -a 
    

Instalar o SAP NetWeaver ASCS e ERS

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

    Importante

    Recomendamos o uso do agente de recursos, que faz parte do azure-lb pacote resource-agents com uma versão mínima do resource-agents-4.3.0184.6ee15eb2-4.13.1.

    sudo crm node standby sap-cl2   
    sudo crm configure primitive vip_NW1_ASCS IPaddr2 \
      params ip=10.27.0.9 \
      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 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
    #  nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl1
    #  vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
    
  2. [1] Instale o SAP NetWeaver ASCS como raiz no primeiro nó.

    Use um nome de host virtual que mapeie para o endereço IP da configuração front-end do balanceador de carga para ASCS (por exemplo, , ) e o número da instância que você usou para a sonda do balanceador de carga (por exemplo, sapascs10.27.0.900).

    Você pode usar o sapinst parâmetro SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não-root se conecte ao sapinst. Você pode usar o parâmetro para instalar o SAPINST_USE_HOSTNAME SAP usando um 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 no /usr/sap/NW1/ASCS00, defina o proprietário e o ASCS00 grupo da pasta 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 vip_NW1_ERS IPaddr2 \
      params ip=10.27.0.10 \
      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 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
    #      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl2
    #  Resource Group: g-NW1_ERS
    #      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
    #      vip_NW1_ERS  (ocf::heartbeat:IPaddr2):     Started sap-cl2
    
  4. [2] Instale o SAP NetWeaver ERS como raiz no segundo nó.

    Use um nome de host virtual que mapeie para o endereço IP da configuração front-end do balanceador de carga para ERS (por exemplo, , ) e o número da instância que você usou para a sonda do balanceador de carga (por exemplo, sapers10.27.0.1001).

    Você pode usar o SAPINST_REMOTE_ACCESS_USER parâmetro para permitir que um usuário não-root se conecte ao sapinst. Você pode usar o parâmetro para instalar o SAPINST_USE_HOSTNAME SAP usando um nome de host virtual.

    <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
    

    Nota

    Use SWPM SP 20 PL 05 ou posterior. As versões anteriores não definem as permissões corretamente e fazem com que a instalação falhe.

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

    chown nw1adm /usr/sap/NW1/ERS01
    chgrp sapsys /usr/sap/NW1/ERS01
    
  5. [1] Adaptar o perfil da instância ASCS.

    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 keepalive parameter, if you're using ENSA1.
    enque/encni/set_so_keepalive = true
    

    Para o Standalone Enqueue Server 1 e 2 (ENSA1 e ENSA2), certifique-se de que os parâmetros do keepalive SO estão definidos conforme descrito na Nota 1410736 SAP.

    Agora adapte o perfil da instância 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 the ERS profile.
    # Autostart = 1
    
  6. [A] Configurar keepalive.

    A comunicação entre o servidor de aplicativos SAP NetWeaver e o ASCS é roteada por meio de um balanceador de carga de software. O balanceador de carga desconecta conexões inativas após um tempo limite configurável.

    Para evitar essa desconexão, você precisa definir um parâmetro no perfil ASCS do SAP NetWeaver, se estiver usando ENSA1. Altere as configurações do sistema keepalive Linux em todos os servidores SAP para ENSA1 e ENSA2. Para obter mais informações, leia SAP Note1410736.

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

    # Add sidadm to the haclient group.
    sudo usermod -aG haclient nw1adm
    
  8. [1] Adicione 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. [A] Ativar sapping e sappong. O sapping agente é executado antes sapinit para ocultar o /usr/sap/sapservices arquivo. O sappong agente é executado depois sapinit para exibir o arquivo durante a inicialização da sapservices VM. SAPStartSrv não é iniciado automaticamente para uma instância SAP no momento da inicialização, porque o cluster Pacemaker a gerencia.

    sudo systemctl enable sapping
    sudo systemctl enable sappong
    
  10. [1] Crie os recursos do cluster SAP.

    Dependendo se você estiver executando um sistema ENSA1 ou ENSA2, selecione a respetiva guia para definir os recursos. A SAP introduziu o suporte para ENSA2, incluindo replicação, no SAP NetWeaver 7.52. A partir da plataforma ABAP 1809, o ENSA2 é instalado por padrão. Para obter suporte a ENSA2, consulte SAP Note 2630416.

    sudo crm configure property maintenance-mode="true"
    
    sudo crm configure primitive rsc_sapstartsrv_NW1_ASCS00 ocf:suse:SAPStartSrv \
     params InstanceName=NW1_ASCS00_sapascs
    
    sudo crm configure primitive rsc_sapstartsrv_NW1_ERS01 ocf:suse:SAPStartSrv \
     params InstanceName=NW1_ERS01_sapers
    
    # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files:
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
     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 MINIMAL_PROBE=true \
     meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    # If you're using NFS on Azure Files or NFSv3 on Azure NetApp Files:
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
     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 MINIMAL_PROBE=true \
     meta priority=1000
    
    # If you're using NFSv4.1 on Azure NetApp Files:
    sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \
     op monitor interval=11 timeout=105 on-fail=restart \
     params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \
     AUTOMATIC_RECOVER=false MINIMAL_PROBE=true \
     meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10
    
    # If you're using NFSv4.1 on Azure NetApp Files:
    sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \
     op monitor interval=11 timeout=105 on-fail=restart \
     params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" \
     AUTOMATIC_RECOVER=false IS_ERS=true MINIMAL_PROBE=true \
     meta priority=1000
    
    sudo crm configure modgroup g-NW1_ASCS add rsc_sapstartsrv_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00
    sudo crm configure modgroup g-NW1_ERS add rsc_sapstartsrv_NW1_ERS01
    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 mudando para ENSA2, consulte SAP Note 2641019.

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
#      nc_NW1_ASCS        (ocf::heartbeat:azure-lb):      Started sap-cl1
#      vip_NW1_ASCS       (ocf::heartbeat:IPaddr2):       Started sap-cl1
#      rsc_sapstartsrv_NW1_ASCS00 (ocf::suse:SAPStartSrv):        Started sap-cl1
#      rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance):   Started sap-cl1
#  Resource Group: g-NW1_ERS
#      nc_NW1_ERS (ocf::heartbeat:azure-lb):      Started sap-cl2
#      vip_NW1_ERS        (ocf::heartbeat:IPaddr2):       Started sap-cl2
#      rsc_sapstartsrv_NW1_ERS01  (ocf::suse:SAPStartSrv):        Started sap-cl2
#      rsc_sap_NW1_ERS01  (ocf::heartbeat:SAPInstance):   Started sap-cl1

Preparar o servidor de aplicativos SAP

Alguns bancos de dados exigem que você execute a instalação do banco de dados em um servidor de aplicativos. Prepare as VMs do servidor de aplicativos para poder executar a instalação do banco de dados.

As etapas comuns a seguir pressupõem que você instale o servidor de aplicativos em um servidor diferente dos servidores ASCS e HANA:

  1. Configure a resolução de nomes de host.

    Você pode usar um servidor DNS ou modificar /etc/hosts em todos os nós. Este exemplo mostra como usar o /etc/hosts arquivo.

    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.27.0.6   sap-cl1
    10.27.0.7   sap-cl2
    # IP address of the load balancer's front-end configuration for SAP NetWeaver ASCS
    10.27.0.9   sapascs
    # IP address of the load balancer's front-end configuration for SAP NetWeaver ERS
    10.27.0.10  sapers
    10.27.0.8   sapa01
    10.27.0.12  sapa02
    
  2. Configure o arquivo SWAP.

    sudo vi /etc/waagent.conf
    
    # Set the ResourceDisk.EnableSwap property to y.
    # Create and use the SWAP file on the resource disk.
    ResourceDisk.EnableSwap=y
    
    # Set the size of the SWAP file by using the ResourceDisk.SwapSizeMB property.
    # The free space of the resource disk varies by virtual machine size. Don't set a value that's too big. You can check the SWAP space by using the swapon command.
    ResourceDisk.SwapSizeMB=2000
    

    Reinicie o agente para ativar a alteração.

    sudo service waagent restart
    

Preparar diretórios SAP

Se você estiver usando NFS em Arquivos do Azure, use as seguintes instruções para preparar os diretórios SAP nas VMs do servidor de aplicativos SAP:

  1. Crie os pontos de montagem.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
  2. Monte os sistemas de arquivos.

    echo "sapnfsafs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0" >> /etc/fstab
    echo "sapnfsafs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans  nfs noresvport,vers=4,minorversion=1,sec=sys  0  0" >> /etc/fstab   
    # Mount the file systems.
    mount -a 
    

Se você estiver usando NFS nos Arquivos NetApp do Azure, use as instruções a seguir para preparar os diretórios SAP nas VMs do servidor de aplicativos SAP:

  1. Crie os pontos de montagem.

    sudo mkdir -p /sapmnt/NW1
    sudo mkdir -p /usr/sap/trans
    
    sudo chattr +i /sapmnt/NW1
    sudo chattr +i /usr/sap/trans
    
    
  2. Monte os sistemas de arquivos.

    # If you're using NFSv3:
    echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=3,hard 0 0" >> /etc/fstab
    echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=3, hard 0 0" >> /etc/fstab
    # If you're using NFSv4.1:
    echo "10.27.1.5:/sapnw1/sapmntNW1 /sapmnt/NW1 nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab    
    echo "10.27.1.5:/saptrans /usr/sap/trans nfs nfsvers=4.1,sec=sys,hard 0 0" >> /etc/fstab
    # Mount the file systems.
    mount -a 
    

Instalar a base de dados

Neste exemplo, o SAP NetWeaver é instalado no SAP HANA. Você pode usar qualquer banco de dados suportado 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 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 raiz usando um nome de host virtual que mapeia para o endereço IP da configuração front-end do balanceador de carga para o banco de dados. Você pode usar o SAPINST_REMOTE_ACCESS_USER parâmetro para permitir que um usuário não-root se conecte ao sapinst.

sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin

Instalar o servidor de aplicativos SAP NetWeaver

Siga estas etapas para instalar um servidor de aplicativos SAP:

  1. [A] Prepare o servidor de aplicativos.

    Siga as etapas em Preparação do servidor de aplicativos SAP NetWeaver.

  2. [A] Instale um servidor de aplicativos SAP NetWeaver primário ou adicional.

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

    sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
    
  3. [A] Atualize o armazenamento seguro do SAP HANA para apontar para o nome virtual da configuração de replicação do sistema SAP HANA.

    Execute o seguinte comando para listar as entradas.

    hdbuserstore List
    

    O comando deve listar todas as entradas e deve ser semelhante a este exemplo.

    DATA FILE       : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT
    KEY FILE        : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY
    
    KEY DEFAULT 
      ENV : 10.27.0.4:30313
      USER: SAPABAP1
      DATABASE: NW1
    

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

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

Testar a configuração do cluster

Teste completamente o seu cluster de pacemaker. Execute os testes de failover típicos.

Próximos passos