IBM Cloud Docs
Configuração de alta disponibilidade para SAP S/4HANA (ASCS e ERS) em clusters Red Hat Enterprise Linux HA Add-On em uma região de várias zonas com montagem simples

Configuração de alta disponibilidade para SAP S/4HANA (ASCS e ERS) em clusters Red Hat Enterprise Linux HA Add-On em uma região de várias zonas com montagem simples

As informações a seguir descrevem como configurar o ABAP SAP Central Services (ASCS) e o Enqueue Replication Server (ERS) em um cluster Red Hat Enterprise Linux (RHEL) High Availability Add-On. A configuração usa a Estrutura de Montagem Simples, uma abordagem simplificada para a montagem de diretórios do servidor de aplicativos SAP. O cluster é executado em instâncias de servidor virtual em IBM® Power® Virtual Server.

Este exemplo de configuração se aplica à segunda geração do Standalone Enqueue Server, também conhecido como ENSA2.

Desde SAP S/4HANA 1809, o ENSA2 é instalado por padrão e oferece suporte a configurações de cluster de dois e vários nós. Este exemplo demonstra uma configuração de cluster RHEL HA Add-On de dois nós com ENSA2. Se o serviço ASCS falhar, ele será reiniciado automaticamente no nó que hospeda a instância do ERS. As entradas de bloqueio são restauradas a partir da cópia da tabela de bloqueio da instância do ERS. Quando o nó com falha é reativado, a instância do ERS é realocada para o outro nó (anticolocação) para manter a redundância e proteger a cópia da tabela de bloqueio.

Instale o banco de dados SAP e outras instâncias do servidor de aplicativos SAP em servidores virtuais fora do cluster de dois nós usado para o ASCS e o ERS.

Antes de Iniciar

Analise os requisitos gerais, a documentação do produto, os artigos de suporte e as notas SAP listados em Implementação de alta disponibilidade para aplicativos SAP em IBM Power Virtual Server Referências.

Pré-requisitos

Os seguintes sistemas de arquivos NFS devem ser montados pelo sistema operacional em ambos os nós do cluster. Esses sistemas de arquivos não são gerenciados pelo cluster HA.

  • /usr/sap/<SID> contém diretórios para as instâncias do ASCS e do ERS.
  • /sapmnt/<SID> hospeda o compartilhamento sapmnt.
  • usr/sap/trans pode ser necessário para diretórios de transporte compartilhados (saptrans ).

Certifique-se de que um servidor NFS altamente disponível esteja configurado para fornecer esses sistemas de arquivos compartilhados. Não instale o servidor NFS em nenhum servidor virtual que faça parte do ENSA2 cluster. Este documento não abrange a configuração do armazenamento de arquivos ou a criação de recursos do sistema de arquivos do cluster.

Certifique-se de que os nomes de host virtual das instâncias do ASCS e do ERS estejam em conformidade com os requisitos descritos em Nomes de host dos servidores da plataforma ABAP SAP.

As sub-redes e os endereços IP virtuais das instâncias do ASCS e do ERS não devem existir nos espaços de trabalho do Power Virtual Server, pois são gerenciados como recursos de cluster. No entanto, é necessário registrar os endereços IP virtuais e os nomes de host das instâncias do ASCS e do ERS no DNS (Domain Name Service) e adicioná-los ao arquivo etc/hosts em todos os nós do cluster.

Preparação de nós para instalar instâncias do ASCS e do ERS

As informações a seguir descrevem como preparar os nós para a instalação das instâncias do SAP ASCS e do ERS.

Preparação de variáveis de ambiente

Para simplificar o processo de configuração, defina as seguintes variáveis de ambiente para o usuário root em ambos os nós do cluster. Essas variáveis são usadas em comandos subsequentes do sistema operacional.

Em ambos os nós, defina as seguintes variáveis de ambiente.

# General settings
export CLUSTERNAME="SAP_S01"        # Cluster name
export NODE1=<HOSTNAME_1>           # Virtual server instance 1 hostname
export NODE2=<HOSTNAME_2>           # Virtual server instance 2 hostname

export SID=<SID>                    # SAP System ID (uppercase)
export sid=<sid>                    # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO=<INSTNO>         # ASCS instance number
export ASCS_NET=<Subnet name>       # Name for the ASCS subnet in IBM Cloud
export ASCS_CIDR=<CIDR of subnet>   # CIDR of the ASCS subnet containing the service IP address
export ASCS_VH=<virtual hostname>   # ASCS virtual hostname
export ASCS_IP=<IP address>         # ASCS virtual IP address

# ERS instance
export ERS_INSTNO=<INSTNO>          # ERS instance number
export ERS_NET=<Subnet name>        # Name for the ERS subnet in IBM Cloud
export ERS_CIDR=<CIDR of subnet>    # CIDR of the ERS subnet containing the service IP address
export ERS_VH=<virtual hostname>    # ERS virtual hostname
export ERS_IP=<IP address>          # ERS virtual IP address

# Other multizone region settings
export CLOUD_REGION=<CLOUD_REGION>       # Multizone region name
export APIKEY="APIKEY or path to file"   # API key of the ServiceID for the resource agent
export API_TYPE="private or public"      # Use private or public API endpoints
export IBMCLOUD_CRN_1=<IBMCLOUD_CRN_1>   # Workspace 1 CRN
export IBMCLOUD_CRN_2=<IBMCLOUD_CRN_2>   # Workspace 2 CRN
export POWERVSI_1=<POWERVSI_1>           # Virtual server 1 instance id
export POWERVSI_2=<POWERVSI_2>           # Virtual server 2 instance id
export JUMBO="true or false"             # Enable Jumbo frames

# NFS settings
export NFS_SERVER="NFS server"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="NFS server directory"  # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"          # Sample NFS client mount options

Os comandos de exportação a seguir são um exemplo de como definir as variáveis de ambiente adicionais necessárias para a implementação de uma região com várias zonas.

# General settings
export CLUSTERNAME="SAP_S01"         # Cluster name
export NODE1="cl-s01-1"              # Virtual service instance 1 hostname
export NODE2="cl-s01-2"              # Virtual server instance 2 hostname

export SID="S01"                     # SAP System ID (uppercase)
export sid="s01"                     # SAP System ID (lowercase)

# ASCS instance
export ASCS_INSTNO="21"              # ASCS instance number
export ASCS_NET="s01-ascs-net"       # Name for the ASCS subnet in IBM Cloud
export ASCS_CIDR="10.40.21.100/30"   # CIDR of the ASCS subnet containing the service IP address
export ASCS_VH="s01ascs"             # ASCS virtual hostname
export ASCS_IP="10.40.21.102"        # ASCS virtual IP address

# ERS instance
export ERS_INSTNO="22"               # ERS instance number
export ERS_NET="s01-ers-net"         # Name for the ERS subnet in IBM Cloud
export ERS_CIDR="10.40.22.100/30"    # CIDR of the ERS subnet containing the service IP address
export ERS_VH="s01ers"               # ERS virtual hostname
export ERS_IP="10.40.22.102"         # ERS virtual IP address

# Other multizone region settings
export CLOUD_REGION="eu-de"
export IBMCLOUD_CRN_1="crn:v1:bluemix:public:power-iaas:eu-de-2:a/a1b2c3d4e5f60123456789a1b2c3d4e5:a1b2c3d4-0123-4567-89ab-a1b2c3d4e5f6::"
export IBMCLOUD_CRN_2="crn:v1:bluemix:public:power-iaas:eu-de-1:a/a1b2c3d4e5f60123456789a1b2c3d4e5:e5f6a1b2-cdef-0123-4567-a1b2c3d4e5f6::"
export POWERVSI_1="a1b2c3d4-0123-890a-f012-0123456789ab"
export POWERVSI_2="e5f6a1b2-4567-bcde-3456-cdef01234567"
export APIKEY="@/root/.apikey.json"
export API_TYPE="private"
export JUMBO="true"

# NFS settings
export NFS_SERVER="cl-nfs"           # Hostname or IP address of the highly available NFS server
export NFS_SHARE="/sapS01"           # Exported file system directory on the NFS server
export NFS_OPTIONS="rw,sec=sys"      # Sample NFS client mount options

Criação de pontos de montagem para os sistemas de arquivos da instância

Em ambos os nós do cluster, execute o seguinte comando para criar os pontos de montagem necessários para os sistemas de arquivos da instância SAP.

mkdir -p /usr/sap/${SID} /sapmnt/${SID}

Instalação e configuração do cluster do RHEL HA Add-On

Siga as instruções em Implementação de um cluster Red Hat Enterprise Linux High Availability Add-On em um ambiente de região com várias zonas para instalar e configurar o cluster RHEL HA Add-On. Após a instalação, configure e teste a vedação do cluster conforme descrito em Criação do dispositivo de vedação.

Preparação dos recursos do cluster antes da instalação do SAP

Certifique-se de que o cluster do RHEL HA Add-On esteja ativo em ambas as instâncias de servidor virtual e verifique se o node fencing funciona conforme o esperado.

Configuração das propriedades gerais do cluster

Para evitar que o cluster realoque recursos íntegros, por exemplo, quando um nó com falha anterior for reiniciado, defina os seguintes meta-atributos padrão.

  • resource-stickiness=1: Garante que os recursos permaneçam em seu nó atual.
  • migration-threshold=3: Limita o número de falhas antes que um recurso seja movido.

Em NODE1, execute o seguinte comando.

pcs resource defaults update resource-stickiness=1
pcs resource defaults update migration-threshold=3

Configuração das montagens do site NFS

O sistema operacional monta os sistemas de arquivos NFS em todos os nós do cluster. Essas montagens não são gerenciadas pelo cluster HA e devem ser configuradas manualmente na tabela do sistema de arquivos /etc/fstab.

Neste exemplo, o servidor NFS exporta os subdiretórios SAP_${SID}/sapmnt e SAP_${SID}/usrsap${sid}. Ajuste os caminhos conforme necessário para corresponder à configuração de seu servidor NFS.

Execute os seguintes comandos em ambos os nós do cluster.

  1. Verifique se o site /etc/fstab já contém entradas para os sistemas de arquivos sapmnt e saptrans. Caso contrário, adicione as entradas de montagem necessárias.

    Certifique-se de ajustar os caminhos de exportação para que correspondam ao layout de seu servidor NFS.

    cat >> /etc/fstab << EOT
    ${NFS_SERVER}:${NFS_SHARE}/SAP_${SID}/sapmnt /sapmnt/${SID} nfs4 ${NFS_OPTIONS} 0 0
    EOT
    
    cat >> /etc/fstab << EOT
    ${NFS_SERVER}:${NFS_SHARE}/SAP_${SID}/usrsap${sid} /usr/sap/${SID} nfs4 ${NFS_OPTIONS} 0 0
    EOT
    

    Certifique-se de que entradas duplicadas não sejam adicionadas a /etc/fstab. Use cat >> somente se as entradas não existirem.

  2. Monte os sistemas de arquivos NFS em ambos os nós do cluster.

    mount /usr/sap/${SID}
    
    mount /sapmnt/${SID}
    

Preparando-se para instalar a instância do ASCS em NODE1

Em NODE1, execute o seguinte comando para criar um recurso de cluster powervs-subnet para o endereço IP virtual do ASCS.

pcs resource create ${sid}_vip_ascs${ASCS_INSTNO} powervs-subnet \
    api_key=${APIKEY} \
    api_type=${API_TYPE} \
    cidr=${ASCS_CIDR} \
    ip=${ASCS_IP} \
    crn_host_map="${NODE1}:${IBMCLOUD_CRN_1};${NODE2}:${IBMCLOUD_CRN_2}" \
    vsi_host_map="${NODE1}:${POWERVSI_1};${NODE2}:${POWERVSI_2}" \
    jumbo=${JUMBO} \
    region=${CLOUD_REGION} \
    subnet_name=${ASCS_NET} \
    route_table=5${ASCS_INSTNO} \
    op start timeout=720 \
    op stop timeout=300 \
    op monitor interval=90 timeout=45 \
    group ${sid}_ascs${ASCS_INSTNO}_group \
    --future

Preparando-se para instalar a instância do ERS em NODE2

Em NODE1, execute o seguinte comando para criar um recurso de cluster powervs-subnet para o endereço IP virtual do ERS.

pcs resource create ${sid}_vip_ers${ERS_INSTNO} powervs-subnet \
    api_key=${APIKEY} \
    api_type=${API_TYPE} \
    cidr=${ERS_CIDR} \
    ip=${ERS_IP} \
    crn_host_map="${NODE1}:${IBMCLOUD_CRN_1};${NODE2}:${IBMCLOUD_CRN_2}" \
    vsi_host_map="${NODE1}:${POWERVSI_1};${NODE2}:${POWERVSI_2}" \
    jumbo=${JUMBO} \
    region=${CLOUD_REGION} \
    subnet_name=${ERS_NET} \
    route_table=5${ERS_INSTNO} \
    op start timeout=720 \
    op stop timeout=300 \
    op monitor interval=90 timeout=45 \
    group ${sid}_ers${ERS_INSTNO}_group \
    --future

Verificação da configuração do cluster

Em NODE1, execute o seguinte comando para verificar a configuração atual do cluster e garantir que todos os recursos estejam corretamente definidos e ativos.

pcs status --full

Saída de amostra:

# pcs status --full
Cluster name: SAP_S01
Cluster Summary:
  * Stack: corosync (Pacemaker is running)
  * Current DC: cl-s01-1 (1) (version 2.1.7-5.2.el9_4-0f7f88312) - partition with quorum
  * Last updated: Wed Mar  5 14:45:48 2025 on cl-s01-1
  * Last change:  Wed Mar  5 14:41:38 2025 by hacluster via hacluster on cl-s01-2
  * 2 nodes configured
  * 2 resource instances configured

Node List:
  * Node cl-s01-1 (1): online, feature set 3.19.0
  * Node cl-s01-2 (2): online, feature set 3.19.0

Full List of Resources:
  * Resource Group: s01_ascs21_group:
    * s01_vip_ascs21    (ocf:heartbeat:powervs-subnet):  Started cl-s01-1
  * Resource Group: s01_ers22_group:
    * s01_vip_ers22     (ocf:heartbeat:powervs-subnet):  Started cl-s01-2

Migration Summary:

Tickets:

PCSD Status:
  cl-s01-1: Online
  cl-s01-2: Online

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled
  sbd: active/enabled

Certifique-se de que o grupo de recursos do cluster ${sid}_ascs${ASCS_INSTNO}_group esteja em execução em NODE1 e que o grupo de recursos do cluster ${sid}_ers${ERS_INSTNO}_group esteja em execução em NODE2. Se necessário, use o comando pcs resource move <resource_group_name> para realocar o grupo de recursos para o nó apropriado.

Alteração da propriedade dos pontos de montagem do ASCS e do ERS

Os pontos de montagem ASCS e ERS devem ser de propriedade do usuário sidadm. Antes de iniciar a instalação da instância, verifique se os usuários e grupos necessários estão definidos e se a propriedade do ponto de montagem está configurada corretamente.

Siga estas etapas em ambos os nós para configurar a propriedade correta.

  1. Inicie o SAP Software Provisioning Manager (SWPM) para criar os usuários e grupos do sistema operacional.

    <swpm>/sapinst
    

    Na interface da Web do SWPM, vá para Renomeação do sistema > Preparações > Usuários e grupos do sistema operacional. Registre as IDs de usuário e grupo e verifique se são idênticas nos dois nós.

  2. Altere a propriedade dos pontos de montagem.

    chown -R ${sid}adm:sapsys /sapmnt/${SID} /usr/sap/${SID}
    

Instalação das instâncias do ASCS e do ERS

Use o SWPM para instalar as duas instâncias.

  • Instale as instâncias do ASCS e do ERS nos nós do cluster.

    • Em NODE1, use o nome de host virtual ${ASCS_VH}, que está associado ao endereço IP virtual do ASCS, para instalar a instância do ASCS.
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ASCS_VH}
    
    • Em NODE2, use o nome de host virtual ${ERS_VH}, que está associado ao endereço IP virtual do ERS, para instalar a instância do ERS.
    <swpm>/sapinst SAPINST_USE_HOSTNAME=${ERS_VH}
    
  • Instale todas as outras instâncias do aplicativo SAP fora do ambiente de cluster.

Preparar as instâncias do ASCS e do ERS para a integração do cluster

Use as etapas a seguir para preparar as instâncias do SAP para a integração do cluster.

Desativar o início automático dos agentes da instância SAP para ASCS e ERS

Desative o início automático dos agentes da instância sapstartsrv para as instâncias do ASCS e do ERS após a reinicialização do sistema.

Verificação do tipo de integração do agente da instância SAP

Versões recentes do agente de instância SAP sapstartsrv oferecem suporte nativo a systemd em Linux. Para obter mais informações, consulte as notas do site SAP que estão listadas em SAP Notes.

Em ambos os nós, verifique o conteúdo do arquivo /usr/sap/sapservices.

cat /usr/sap/sapservices

No formato systemd, as entradas começam com os comandos systemctl.

Exemplo:

systemctl --no-ask-password start SAPS01_01 # sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs

Se as entradas do ASCS e do ERS usarem o formato systemd, continue com as etapas em Registro das instâncias do ASCS e do ERS. No formato classic, os registros começam com as definições de LD_LIBRARY_PATH.

Exemplo:

LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Se as entradas do ASCS e do ERS estiverem no formato classic, modifique o arquivo /usr/sap/sapservices para evitar o início automático dos agentes da instância sapstartsrv para as instâncias do ASCS e do ERS após a reinicialização do sistema.

Em ambos os nós, remova ou comente as entradas sapstartsrv para ASCS e ERS no arquivo de serviços SAP.

sed -i -e 's/^LD_LIBRARY_PATH=/#LD_LIBRARY_PATH=/' /usr/sap/sapservices

Exemplo:

#LD_LIBRARY_PATH=/usr/sap/S01/ASCS01/exe:$LD_LIBRARY_PATH;export LD_LIBRARY_PATH;/usr/sap/S01/ASCS01/exe/sapstartsrv pf=/usr/sap/S01/SYS/profile/S01_ASCS01_cl-sap-scs -D -u s01adm

Prossiga para Instalar chaves de licença permanentes do SAP.

Registro das instâncias do ASCS e do ERS

Registre as instâncias de SAP em ambos os nós.

  1. Faça login como o usuário root em ambos os nós.

  2. Defina a variável de ambiente LD_LIBRARY_PATH para incluir o diretório executável da instância do ASCS e registre a instância do ASCS.

    export LD_LIBRARY_PATH=/usr/sap/${SID}/ASCS${ASCS_INSTNO}/exe && \
    /usr/sap/${SID}/ASCS${ASCS_INSTNO}/exe/sapstartsrv \
       pf=/usr/sap/${SID}/SYS/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} -reg
    
  3. Repita a etapa de registro para a instância do ERS usando o perfil do ERS.

    export LD_LIBRARY_PATH=/usr/sap/${SID}/ERS${ERS_INSTNO}/exe && \
    /usr/sap/${SID}/ERS${ERS_INSTNO}/exe/sapstartsrv \
       pf=/usr/sap/${SID}/SYS/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} -reg
    

Desativar os serviços systemd das instâncias do ASCS e do ERS

Em ambos os nós, desative o serviço systemd para o agente da instância do ASCS.

systemctl disable --now SAP${SID}_${ASCS_INSTNO}.service

Em seguida, desative o serviço systemd para o agente da instância do ERS.

systemctl disable --now SAP${SID}_${ERS_INSTNO}.service

Desativar a reinicialização do systemd de uma instância do ASCS ou ERS com falha

Systemd inclui mecanismos internos para reiniciar serviços com falhas. Em uma configuração de alta disponibilidade, somente o cluster de HA deve gerenciar as instâncias do SAP ASCS e do ERS. Para evitar que o systemd reinicie automaticamente essas instâncias, crie arquivos de configuração drop-in em ambos os nós do cluster.

Em ambos os nós, crie os diretórios para os arquivos drop-in.

mkdir /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d
mkdir /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d

Em ambos os nós, crie os arquivos drop-in para o ASCS e o ERS.

cat >> /etc/systemd/system/SAP${SID}_${ASCS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT
cat >> /etc/systemd/system/SAP${SID}_${ERS_INSTNO}.service.d/HA.conf << EOT
[Service]
Restart=no
EOT

Restart=no deve estar na seção [Service] e os arquivos drop-in devem estar disponíveis em todos os nós do cluster.

Em ambos os nós, recarregue os arquivos da unidade systemd.

systemctl daemon-reload

Instalação de chaves de licença permanentes do SAP

Quando a instância do ASCS SAP é executada em uma instância Power Virtual Server, o mecanismo de licença SAP usa o UUID da partição para gerar a chave de hardware. Para obter detalhes, consulte SAP note 2879336 - Hardware key based on unique ID.

Em ambos os nós, execute o seguinte comando como o usuário sidadm para recuperar a chave de hardware.

sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

Saída de amostra:

$ sudo -i -u ${sid}adm -- sh -c 'saplikey -get'

saplikey: HARDWARE KEY = H1428224519

Registre o HARDWARE KEY de cada nó.

Você precisa das chaves de hardware de ambos os nós para solicitar chaves de licença SAP separadas. Para obter orientação sobre a solicitação de chaves de licença para sistemas de failover, consulte as seguintes notas em SAP:

Instalação dos agentes de recursos do SAP

Instale os pacotes de software necessários. O pacote resource-agents-sap fornece o agente de recursos de cluster SAPInstance que é usado para gerenciar as instâncias do SAP.

Se o sap_cluster_connector não estiver configurado para a instância SAP, o cluster do RHEL HA Add-On tratará qualquer alteração de estado como um possível problema. Quando ferramentas externas do SAP, como o sapcontrol, são usadas para gerenciar a instância, o sap_cluster_connector permite a interação segura com instâncias do SAP em execução dentro do cluster. Se as instâncias do SAP forem gerenciadas exclusivamente por ferramentas de cluster, o sap_cluster_connector não será necessário.

Instale os pacotes para o agente de recursos de cluster e a biblioteca do SAP Cluster Connector. Para obter detalhes, consulte Como ativar a interface SAP HA para SAP instâncias do servidor de aplicativos ABAP gerenciadas pelo RHEL HA Add-On

Em ambos os nós, execute os seguintes comandos.

Se necessário, use subscription-manager para ativar o repositório SAP NetWeaver. Para obter instruções, consulte a documentação do RHEL para SAP Subscriptions and Repositories.

subscription-manager repos --enable="rhel-8-for-ppc64le-sap-netweaver-e4s-rpms"

Instale os pacotes necessários.

dnf install -y resource-agents-sap sap-cluster-connector

Configuração do conector de cluster SAP

Adicione o usuário sidadm ao grupo haclient em ambos os nós.

usermod -a -G haclient ${sid}adm

Adaptação dos perfis da instância SAP

Modifique os perfis de inicialização das instâncias do SAP que são gerenciadas pelas ferramentas do SAP fora do cluster. O cluster do RHEL HA Add-On e seus agentes de recursos podem controlar as instâncias do ASCS e do ERS. Para evitar a reinicialização automática dos processos da instância, ajuste os perfis da instância SAP de acordo.

Em NODE1, mude para o diretório de perfil SAP.

cd /sapmnt/${SID}/profile

Substitua todas as entradas Restart_Program por Start_Program nos perfis de instância do ASCS e do ERS.

sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}
sed -i -e 's/Restart_Program_\([0-9][0-9]\)/Start_Program_\1/' ${SID}_ERS${ERS_INSTNO}_${ERS_VH}

Acrescente as seguintes linhas ao final dos perfis de instância do ASCS e do ERS para ativar a integração do sap_cluster_connector:

service/halib = $(DIR_EXECUTABLE)/saphascriptco.so
service/halib_cluster_connector = /usr/bin/sap_cluster_connector

Verificação da versão do pacote resource-agents-sap

A configuração do Simple Mount para servidores de aplicativos SAP requer a versão 4.15.1 ou posterior do pacote resource-agents-sap.

Para verificar a versão instalada, execute o seguinte comando. A saída segue o formato: resource-agents-sap-<version>.<release>.noarch

rpm -q resource-agents-sap

Saída de amostra:

# rpm -q resource-agents-sap
resource-agents-sap-4.15.1-1.el9_4.1.noarch

Configuração dos recursos de cluster do ASCS e do ERS

Nesse estágio, presume-se que os seguintes pré-requisitos estejam completos:

  • Um cluster RHEL HA Add-On está sendo executado em ambas as instâncias de servidor virtual e o node fencing é testado.
  • O compartilhamento sapmnt e o compartilhamento usrsap são montados em ambos os nós do cluster.
  • Dois recursos de cluster powervs-subnet são configurados para os endereços IP virtuais das instâncias do ASCS e do ERS.
  • A instância do ASCS está instalada e ativa em NODE1.
  • A instância do ERS está instalada e ativa em NODE2.
  • Todas as etapas descritas em Preparar instâncias do ASCS e do ERS para a integração do cluster estão concluídas.

Configuração do grupo de recursos do cluster ASCS

Em NODE1, execute o seguinte comando para criar um recurso de cluster que gerencie o agente da instância SAP para a instância do ASCS.

pcs resource create ${sid}_srv_ascs${ASCS_INSTNO} SAPStartSrv \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    group ${sid}_ascs${ASCS_INSTNO}_group \
    --future

Em seguida, em NODE1, crie um recurso de cluster para gerenciar a instância do ASCS.

pcs resource create ${sid}_ascs${ASCS_INSTNO} SAPInstance \
    InstanceName="${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ASCS${ASCS_INSTNO}_${ASCS_VH} \
    AUTOMATIC_RECOVER=false \
    meta resource-stickiness=5000 \
    migration-threshold=1 failure-timeout=60 \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 \
    op stop interval=0 timeout=600 \
    group ${sid}_ascs${ASCS_INSTNO}_group \
    --future

A opção meta resource-stickiness=5000 equilibra o comportamento de failover da instância do ERS. Essa opção garante que o recurso permaneça em seu nó original e não migre inesperadamente dentro do cluster.

Para garantir que a instância do ASCS permaneça em seu nó designado, adicione a aderência do recurso ao grupo.

pcs resource meta ${sid}_ascs${ASCS_INSTNO}_group \
    resource-stickiness=3000

Configuração do grupo de recursos do cluster do ERS

Em NODE2, execute o seguinte comando para criar um recurso de cluster que gerencie o agente da instância SAP para a instância do ERS.

pcs resource create ${sid}_srv_ers${ERS_INSTNO} SAPStartSrv \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    group ${sid}_ers${ERS_INSTNO}_group \
    --future

Em seguida, em NODE2, crie um recurso de cluster para gerenciar a instância do ERS.

pcs resource create ${sid}_ers${ERS_INSTNO} SAPInstance \
    InstanceName="${SID}_ERS${ERS_INSTNO}_${ERS_VH}" \
    START_PROFILE=/sapmnt/${SID}/profile/${SID}_ERS${ERS_INSTNO}_${ERS_VH} \
    AUTOMATIC_RECOVER=false \
    IS_ERS=true \
    op monitor interval=20 on-fail=restart timeout=60 \
    op start interval=0 timeout=600 \
    op stop interval=0 timeout=600 \
    group ${sid}_ers${ERS_INSTNO}_group \
    --future

Configuração das restrições do cluster

Em NODE1, execute os seguintes comandos para configurar as restrições do cluster.

Uma restrição de colocation garante que os grupos de recursos ${sid}_ascs${ASCS_INSTNO}_group e ${sid}_ers${ERS_INSTNO}_group não sejam executados no mesmo nó, se houver pelo menos dois nós disponíveis. Se apenas um nó estiver disponível, o valor de aderência de -5000 permite que ambos os grupos sejam executados no mesmo nó.

pcs constraint colocation add \
    ${sid}_ers${ERS_INSTNO}_group with ${sid}_ascs${ASCS_INSTNO}_group -- -5000

Uma restrição de ordem garante que ${sid}_ascs${ASCS_INSTNO}_group comece antes de ${sid}_ers${ERS_INSTNO}_group.

pcs constraint order start \
    ${sid}_ascs${ASCS_INSTNO}_group then stop ${sid}_ers${ERS_INSTNO}_group \
    symmetrical=false \
    kind=Optional

Conclusão

A implementação do ENSA2 a implementação do cluster em um ambiente de região com várias zonas está concluída.

Prossiga com a validação do cluster realizando testes semelhantes aos descritos em Testando um cluster SAP ENSA2.

A seguir, um exemplo de saída do comando pcs status para um cluster ENSA2 concluído em uma implantação de região multizona.

Cluster name: SAP_S01
Cluster Summary:
  * Stack: corosync (Pacemaker is running)
  * Current DC: cl-s01-1 (version 2.1.7-5.2.el9_4-0f7f88312) - partition with quorum
  * Last updated: Wed Mar  5 17:14:01 2025 on cl-s01-1
  * Last change:  Wed Mar  5 17:11:36 2025 by root via root on cl-s01-1
  * 2 nodes configured
  * 4 resource instances configured

Node List:
  * Online: [ cl-s01-1 cl-s01-2 ]

Full List of Resources:

  * Resource Group: s01_ascs21_group:
    * s01_vip_ascs21    (ocf:heartbeat:powervs-subnet):  Started cl-s01-1
    * s01_srv_ascs21    (ocf:heartbeat:SAPStartSrv):     Started cl-s01-1
  * Resource Group: s01_ers22_group:
    * s01_vip_ers22     (ocf:heartbeat:powervs-subnet):  Started cl-s01-2
    * s01_srv_ers22     (ocf:heartbeat:SAPStartSrv):     Started cl-s01-2

Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled
  sbd: active/enabled