Elevada disponibilidade do SAP NetWeaver em VMs do Azure no SUSE Linux Enterprise Server com Azure NetApp Files para aplicações SAP
Este artigo explica como configurar a alta disponibilidade para o aplicativo SAP NetWeaver com o Azure NetApp Files.
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.
Nas configurações de exemplo, comandos de instalação, etc., a instância ASCS é o número 00, a instância ERS número 01, a instância do aplicativo primário (PAS) é 02 e a instância do aplicativo (AAS) é 03. O SAP System ID QAS é usado. A camada de banco de dados não é abordada em detalhes neste artigo.
Leia primeiro as seguintes notas e documentos do SAP:
- Documentação dos Arquivos NetApp do Azure
- SAP Note 1928533, que tem:
- Lista de tamanhos de VM do Azure suportados para a implantação do software SAP
- Informações de capacidade importantes para tamanhos de VM do Azure
- Software SAP suportado, sistema operacional (SO) e combinações de banco de dados
- Versão necessária do kernel SAP para Windows e Linux no Microsoft Azure
- SAP Note 2015553 lista os pré-requisitos para implantações de software SAP suportadas pelo SAP no Azure.
- SAP Nota 2205917 recomendou as configurações do sistema operacional para o SUSE Linux Enterprise Server for SAP Applications
- O SAP Note 1944799 tem as diretrizes do SAP HANA para o SUSE Linux Enterprise Server for SAP Applications
- O SAP Note 2178632 tem informações detalhadas sobre todas as métricas de monitoramento relatadas para SAP no Azure.
- O SAP Note 2191498 tem a versão necessária do SAP Host Agent para Linux no Azure.
- O SAP Note 2243692 tem informações sobre o licenciamento SAP no Linux no Azure.
- O SAP Note 1984787 tem informações gerais sobre o SUSE Linux Enterprise Server 12.
- O SAP Note 1999351 tem informações adicionais de solução de problemas para a Extensão de Monitoramento Avançado do Azure para SAP.
- O SAP Community WIKI tem todas as notas SAP necessárias para Linux.
- Planejamento e implementação de Máquinas Virtuais do Azure para SAP no Linux
- Implantação de Máquinas Virtuais do Azure para SAP no Linux
- Implantação de DBMS de Máquinas Virtuais do Azure para SAP no Linux
- Guias de práticas recomendadas do SUSE SAP HA Os guias contêm todas as informações necessárias para configurar o Netweaver HA e o SAP HANA System Replication localmente. Use estes guias como uma linha de base geral. Fornecem informações muito mais pormenorizadas.
- Notas de versão do SUSE High Availability Extension 12 SP3
- Aplicativos SAP da NetApp no Microsoft Azure usando Arquivos NetApp do Azure
- Práticas recomendadas do NetApp NFS
Descrição geral
Alta disponibilidade (HA) para serviços centrais SAP Netweaver requer armazenamento compartilhado. Para conseguir isso no SUSE Linux até agora, foi necessário criar um cluster NFS altamente disponível separado.
Agora é possível obter o SAP Netweaver HA usando o armazenamento compartilhado, implantado nos Arquivos NetApp do Azure. Usar os Arquivos NetApp do Azure para o armazenamento compartilhado elimina a necessidade de cluster NFS adicional. O marcapasso ainda é necessário para HA dos serviços centrais SAP Netweaver (ASCS/SCS).
SAP NetWeaver ASCS, SAP NetWeaver SCS, SAP NetWeaver ERS e o banco de dados SAP HANA usam nome de host virtual e endereços IP virtuais. No Azure, um balanceador de carga é necessário para usar um endereço IP virtual. Recomendamos o uso do balanceador de carga padrão. A configuração apresentada mostra um balanceador de carga com:
- Endereço IP frontend 10.1.1.20 para ASCS
- Endereço IP frontend 10.1.1.21 para ERS
- Porta de sonda 62000 para ASCS
- Porta de sonda 62101 para ERS
Configurando a infraestrutura do Azure NetApp Files
O SAP NetWeaver requer armazenamento compartilhado para o diretório de transporte e perfil. Antes de prosseguir com a configuração da infraestrutura de arquivos NetApp do Azure, familiarize-se com a documentação dos Arquivos NetApp do Azure. Verifique se a região do Azure selecionada oferece Arquivos NetApp do Azure. O link a seguir mostra a disponibilidade dos Arquivos NetApp do Azure por região do Azure: Disponibilidade de Arquivos NetApp do Azure por Região do Azure.
Os arquivos NetApp do Azure estão disponíveis em várias regiões do Azure.
Implantar recursos do Azure NetApp Files
As etapas pressupõem que você já tenha implantado a Rede Virtual do Azure. Os recursos dos Arquivos NetApp do Azure e as VMs, onde os recursos dos Arquivos NetApp do Azure serão montados, devem ser implantados na mesma Rede Virtual do Azure ou em Redes Virtuais do Azure emparelhadas.
- Crie a conta NetApp na região do Azure selecionada, seguindo as instruções para criar uma conta NetApp.
- Configure o pool de capacidade de Arquivos NetApp do Azure, seguindo as instruções sobre como configurar o pool de capacidade de Arquivos NetApp do Azure.
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 a carga de trabalho do aplicativo SAP Netweaver no Azure. - Delegue uma sub-rede aos arquivos NetApp do Azure conforme descrito nas instruções Delegar uma sub-rede aos Arquivos NetApp do Azure.
- Implante volumes de Arquivos NetApp do Azure, seguindo as instruções para criar um volume para Arquivos NetApp do Azure. 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. Neste exemplo, usamos dois volumes de Arquivos NetApp do Azure: sapQAS e trans. Os caminhos de arquivo que são montados nos pontos de montagem correspondentes são /usrsapqas/sapmntQAS, /usrsapqas/usrsapQASsys, etc.
- volume sapQAS (nfs://10.1.0.4/usrsapqas/sapmntQAS)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASascs)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASsys)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASers)
- volume trans (nfs://10.1.0.4/trans)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASpas)
- volume sapQAS (nfs://10.1.0.4/usrsapqas/usrsapQASaas)
Neste exemplo, usamos os Arquivos NetApp do Azure para todos os sistemas de arquivos SAP Netweaver para demonstrar como os Arquivos NetApp do Azure podem ser usados. Os sistemas de arquivos SAP que não precisam ser montados via NFS também podem ser implantados como armazenamento em disco do Azure. Neste exemplo , a-e deve estar nos Arquivos NetApp do Azure e f-g (ou seja, /usr/sap/QAS/D02, /usr/sap/QAS/D03) pode ser implantado como armazenamento em disco do Azure.
Considerações importantes
Ao considerar os Arquivos NetApp do Azure para a arquitetura SAP Netweaver on SUSE High Availability, esteja ciente das seguintes considerações importantes:
- Para limites de volume e pool de capacidade, consulte Limites de recursos do Azure NetApp Files.
- Os Arquivos NetApp do Azure e todas as máquinas virtuais, onde 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 VNET na mesma região é suportado agora. O acesso NetApp do Azure através de 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 SAP Azure NetApp, certifique-se de que a taxa de transferência resultante atenda aos requisitos do aplicativo.
- O Azure NetApp Files oferece política de exportação: você pode controlar os clientes permitidos, o tipo de acesso (Leitura e Gravação, Somente Leitura, etc.).
- O recurso Arquivos NetApp do Azure ainda não reconhece zona. Atualmente, o recurso Arquivos NetApp do Azure não é implantado 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).
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.
- 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.
- Pool de back-end: crie pool de back-end e adicione VMs ASCS e ERS.
- 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 .
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 como0
. 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 de0
volta para1
, atualize a versão do saptune para 3.1.1 ou superior. Para obter mais detalhes, consulte saptune 3.1.1 – Preciso atualizar?.
Desabilitar mapeamento de ID (se estiver usando NFSv4.1)
As instruções nesta seção só são aplicáveis se estiverem usando volumes do Azure NetApp Files 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.
Verifique a configuração de domínio NFS. Verifique se o domínio está configurado como o domínio
defaultv4iddomain.com
padrão dos Arquivos NetApp do Azure e se o mapeamento está definido como ninguém.Importante
Certifique-se de definir o domínio NFS na
/etc/idmapd.conf
VM para corresponder à configuração de domínio padrão nos Arquivos NetApp do Azure:defaultv4iddomain.com
. Se houver uma incompatibilidade entre a configuração de domínio no cliente NFS (ou seja, a VM) e o servidor NFS, ou seja, a configuração do Azure NetApp, as permissões para arquivos nos volumes NetApp do Azure montados nas VMs serão exibidas comonobody
.sudo cat /etc/idmapd.conf # Example [General] Verbosity = 0 Pipefs-Directory = /var/lib/nfs/rpc_pipefs Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[A] Verificar
nfs4_disable_idmapping
. Deve ser definido como Y. Para criar a estrutura de diretórios ondenfs4_disable_idmapping
está localizado, execute o comando mount. Você não poderá criar manualmente o diretório em /sys/modules, porque o acesso é reservado para o kernel / 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.1.0.4:/sapmnt/qas /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
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 este servidor (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.
[A] Instalar o 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.
sudo zypper info sap-suse-cluster-connector # Information for package sap-suse-cluster-connector: # --------------------------------------------------- # Repository : SLE-12-SP3-SAP-Updates # Name : sap-suse-cluster-connector # Version : 3.1.0-8.1 # Arch : noarch # Vendor : SUSE LLC <https://www.suse.com/> # Support Level : Level 3 # Installed Size : 45.6 KiB # Installed : Yes # Status : up-to-date # Source package : sap-suse-cluster-connector-3.1.0-8.1.src # Summary : SUSE High Availability Setup for SAP Products
[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
# example for patch for SLES 12 SP1 sudo zypper in -t patch SUSE-SLE-HA-12-SP1-2017-885=1 # example for patch for SLES 12 SP2 sudo zypper in -t patch SUSE-SLE-HA-12-SP2-2017-886=1
[A] Configurar resolução de nomes de anfitrião
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.1.1.18 anftstsapcl1 # IP address of cluster node 2 10.1.1.6 anftstsapcl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.1.1.20 anftstsapvh # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.1.1.21 anftstsapers
[1] Crie diretórios SAP no volume Azure NetApp Files.
Monte temporariamente o volume Arquivos NetApp do Azure em uma das VMs e crie os diretórios SAP (caminhos de arquivo).
# mount temporarily the volume sudo mkdir -p /saptmp # If using NFSv3 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=3,tcp 10.1.0.4:/sapQAS /saptmp # If using NFSv4.1 sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,nfsvers=4.1,sec=sys,tcp 10.1.0.4:/sapQAS /saptmp # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntQAS sudo mkdir -p usrsapQASascs sudo mkdir -p usrsapQASers sudo mkdir -p usrsapQASsys sudo mkdir -p usrsapQASpas sudo mkdir -p usrsapQASaas # unmount the volume and delete the temporary directory sudo cd .. sudo umount /saptmp sudo rmdir /saptmp
Preparar para a instalação do SAP NetWeaver
[A] Criar os diretórios compartilhados
sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/QAS/SYS sudo mkdir -p /usr/sap/QAS/ASCS00 sudo mkdir -p /usr/sap/QAS/ERS01 sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/QAS/SYS sudo chattr +i /usr/sap/QAS/ASCS00 sudo chattr +i /usr/sap/QAS/ERS01
[A] Configurar
autofs
sudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Se estiver usando NFSv3, crie um arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/SYS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASsys
Se estiver usando NFSv4.1, crie um arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/SYS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASsys
Nota
Certifique-se de corresponder à versão do protocolo NFS dos volumes dos Arquivos NetApp do Azure ao montar os volumes. Se os volumes dos Arquivos NetApp do Azure forem criados como volumes NFSv3, use a configuração NFSv3 correspondente. Se os volumes dos Arquivos NetApp do Azure forem criados como volumes NFSv4.1, siga as instruções para desabilitar o mapeamento de ID e certifique-se de usar a configuração NFSv4.1 correspondente. Neste exemplo, os volumes dos Arquivos NetApp do Azure foram criados como volumes NFSv3.
Reiniciar
autofs
para montar os novos compartilhamentossudo systemctl enable autofs sudo service autofs restart
[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] Criar um recurso IP virtual e uma sonda de integridade para a instância ASCS
Importante
Testes recentes revelaram situações em que o netcat para de responder a solicitações devido ao backlog e sua limitação de lidar com apenas uma conexão. O recurso netcat para de ouvir as solicitações do balanceador de carga do Azure e o IP flutuante fica indisponível.
Para clusters de marcapasso existentes, recomendamos no passado a substituição do netcat pelo socat. Atualmente, 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 o SLES 15/15 SP1, a versão deve ser pelo menos resource-agents-4.3.0184.6ee15eb2-4.13.1.
Observe que a alteração exigirá um breve tempo de inatividade.
Para clusters Pacemaker existentes, se a configuração já tiver sido alterada para usar socat conforme descrito em Azure Load-Balancer Detection Hardening, não há necessidade de alternar imediatamente para o azure-lb resource agent.sudo crm node standby anftstsapcl2 # If using NFSv3 sudo crm configure primitive fs_QAS_ASCS Filesystem device='10.1.0.4/usrsapqas/usrsapQASascs' directory='/usr/sap/QAS/ASCS00' fstype='nfs' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s # If using NFSv4.1 sudo crm configure primitive fs_QAS_ASCS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASascs' directory='/usr/sap/QAS/ASCS00' fstype='nfs' options='sec=sys,nfsvers=4.1' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=105s sudo crm configure primitive vip_QAS_ASCS IPaddr2 \ params ip=10.1.1.20 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_QAS_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-QAS_ASCS fs_QAS_ASCS nc_QAS_ASCS vip_QAS_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 anftstsapcl2: standby # Online: [ anftstsapcl1 ] # # Full list of resources: # # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl1 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl1 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl1 # stonith-sbd (stonith:external/sbd): Started anftstsapcl2
[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 frontend do balanceador de carga para o ASCS, por exemplo , anftstsapvh, 10.1.1.20 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/QAS/ASCS00, tente definir o proprietário e o grupo da pasta ASCS00 e tente novamente.
chown qasadm /usr/sap/QAS/ASCS00 chgrp sapsys /usr/sap/QAS/ASCS00
[1] Criar um recurso IP virtual e uma sonda de saúde para a instância ERS.
sudo crm node online anftstsapcl2 sudo crm node standby anftstsapcl1 # If using NFSv3 sudo crm configure primitive fs_QAS_ERS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASers' directory='/usr/sap/QAS/ERS01' fstype='nfs' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s # If using NFSv4.1 sudo crm configure primitive fs_QAS_ERS Filesystem device='10.1.0.4:/usrsapqas/usrsapQASers' directory='/usr/sap/QAS/ERS01' fstype='nfs' options='sec=sys,nfsvers=4.1' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=105s sudo crm configure primitive vip_QAS_ERS IPaddr2 \ params ip=10.1.1.21 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_QAS_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-QAS_ERS fs_QAS_ERS nc_QAS_ERS vip_QAS_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 anftstsapcl1: standby # Online: [ anftstsapcl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started anftstsapcl2 # Resource Group: g-QAS_ASCS # fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl2 # Resource Group: g-QAS_ERS # fs_QAS_ERS (ocf::heartbeat:Filesystem): Started anftstsapcl2 # nc_QAS_ERS (ocf::heartbeat:azure-lb): Started anftstsapcl2 # vip_QAS_ERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
[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 front-end do balanceador de carga para o ERS, por exemplo , anftstsapers, 10.1.1.21 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.
sudo <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/QAS/ERS01, tente definir o proprietário e o grupo da pasta ERS01 e tente novamente.
chown qasadm /usr/sap/QAS/ERS01 chgrp sapsys /usr/sap/QAS/ERS01
[1] Adaptar os perfis das instâncias ASCS/SCS e ERS.
Perfil ASCS/SCS
sudo vi /sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh # 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/QAS/profile/QAS_ERS01_anftstsapers # 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
[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, e alterar 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
[A] Configurar os usuários SAP após a instalação
# Add sidadm to the haclient group sudo usermod -aG haclient qasadm
[1] Adicionar os serviços ASCS e ERS SAP ao
sapservice
ficheiroAdicione 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 anftstsapcl2 "cat >>/usr/sap/sapservices" sudo ssh anftstsapcl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] Desativação
systemd
de serviços da instância ASCS e ERS SAP. Esta etapa só é aplicável se a estrutura de inicialização SAP for gerenciada pelo systemd de acordo com o SAP Note 3115048Nota
Ao gerenciar instâncias SAP como SAP ASCS e SAP ERS usando a configuração de cluster SLES, você precisaria fazer modificações adicionais para integrar o cluster com a estrutura de início SAP baseada em sistema nativa. Isso garante que os procedimentos de manutenção não comprometam a estabilidade do cluster. Após a instalação ou a alternância da estrutura de inicialização SAP para a configuração habilitada para o sistema de acordo com o SAP Note 3115048, você deve desativar os
systemd
serviços para as instâncias ASCS e ERS SAP.# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. anftstsapcl1) sudo systemctl disable SAPQAS_00 # Execute below command on VM where you have performed ERS instance installation (e.g. anftstsapcl2) sudo systemctl disable SAPQAS_01
[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" # If using NFSv3 sudo crm configure primitive rsc_sap_QAS_ASCS00 SAPInstance \ operations \$id=rsc_sap_QAS_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 # If using NFSv4.1 sudo crm configure primitive rsc_sap_QAS_ASCS00 SAPInstance \ operations \$id=rsc_sap_QAS_ASCS00-operations \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=QAS_ASCS00_anftstsapvh START_PROFILE="/sapmnt/QAS/profile/QAS_ASCS00_anftstsapvh" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=105 migration-threshold=1 priority=10 # If using NFSv3 sudo crm configure primitive rsc_sap_QAS_ERS01 SAPInstance \ operations \$id=rsc_sap_QAS_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 # If using NFSv4.1 sudo crm configure primitive rsc_sap_QAS_ERS01 SAPInstance \ operations \$id=rsc_sap_QAS_ERS01-operations \ op monitor interval=11 timeout=105 on-fail=restart \ params InstanceName=QAS_ERS01_anftstsapers START_PROFILE="/sapmnt/QAS/profile/QAS_ERS01_anftstsapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-QAS_ASCS add rsc_sap_QAS_ASCS00 sudo crm configure modgroup g-QAS_ERS add rsc_sap_QAS_ERS01 sudo crm configure colocation col_sap_QAS_no_both -5000: g-QAS_ERS g-QAS_ASCS sudo crm configure location loc_sap_QAS_failover_to_ers rsc_sap_QAS_ASCS00 rule 2000: runs_ers_QAS eq 1 sudo crm configure order ord_sap_QAS_first_start_ascs Optional: rsc_sap_QAS_ASCS00:start rsc_sap_QAS_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online anftstsapcl1 sudo crm configure property maintenance-mode="false"
Se você estiver atualizando de uma versão mais antiga e alternando para o servidor de fila 2, consulte a nota 2641019 SAP.
Nota
Os tempos limite mais altos, sugeridos ao usar o NFSv4.1, são necessários devido à pausa específica do protocolo, relacionada às renovações de concessão do NFSv4.1. Para obter mais informações, consulte NFS em NetApp Best practice.
Os tempos limite na configuração acima podem precisar ser adaptados à configuração específica 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 anftstsapcl2
# Resource Group: g-QAS_ASCS
# fs_QAS_ASCS (ocf::heartbeat:Filesystem): Started anftstsapcl1
# nc_QAS_ASCS (ocf::heartbeat:azure-lb): Started anftstsapcl1
# vip_QAS_ASCS (ocf::heartbeat:IPaddr2): Started anftstsapcl1
# rsc_sap_QAS_ASCS00 (ocf::heartbeat:SAPInstance): Started anftstsapcl1
# Resource Group: g-QAS_ERS
# fs_QAS_ERS (ocf::heartbeat:Filesystem): Started anftstsapcl2
# nc_QAS_ERS (ocf::heartbeat:azure-lb): Started anftstsapcl2
# vip_QAS_ERS (ocf::heartbeat:IPaddr2): Started anftstsapcl2
# rsc_sap_QAS_ERS01 (ocf::heartbeat:SAPInstance): Started anftstsapcl2
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 serã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.
[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
[A] Configurar resolução de nomes de anfitrião
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 the load balancer frontend configuration for SAP NetWeaver ASCS/SCS 10.1.1.20 anftstsapvh # IP address of the load balancer frontend configuration for SAP NetWeaver ERS 10.1.1.21 anftstsapers # IP address of all application servers 10.1.1.15 anftstsapa01 10.1.1.16 anftstsapa02
[A] Criar o diretório sapmnt
sudo mkdir -p /sapmnt/QAS sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/QAS sudo chattr +i /usr/sap/trans
[P] Criar o diretório PAS
sudo mkdir -p /usr/sap/QAS/D02 sudo chattr +i /usr/sap/QAS/D02
[S] Criar o diretório AAS
sudo mkdir -p /usr/sap/QAS/D03 sudo chattr +i /usr/sap/QAS/D03
[P] Configurar
autofs
no PASsudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Se estiver usando NFSv3, crie um novo arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/D02 -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASpas
Se estiver usando NFSv4.1, crie um novo arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/D02 -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASpas
Reiniciar
autofs
para montar os novos compartilhamentossudo systemctl enable autofs sudo service autofs restart
[P] Configurar
autofs
no AASsudo vi /etc/auto.master # Add the following line to the file, save and exit /- /etc/auto.direct
Se estiver usando NFSv3, crie um novo arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=3,nobind 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=3,nobind 10.1.0.4:/trans /usr/sap/QAS/D03 -nfsvers=3,nobind 10.1.0.4:/usrsapqas/usrsapQASaas
Se estiver usando NFSv4.1, crie um novo arquivo com:
sudo vi /etc/auto.direct # Add the following lines to the file, save and exit /sapmnt/QAS -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/sapmntQAS /usr/sap/trans -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/trans /usr/sap/QAS/D03 -nfsvers=4.1,nobind,sec=sys 10.1.0.4:/usrsapqas/usrsapQASaas
Reiniciar
autofs
para montar os novos compartilhamentossudo systemctl enable autofs sudo service autofs restart
[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.
Executar a instalação da instância do banco de dados SAP
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.
[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.
[A] Instalar 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
[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
Isso deve listar todas as entradas e deve ser semelhante a
DATA FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.DAT KEY FILE : /home/qasadm/.hdb/anftstsapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.1.1.5:30313 USER: SAPABAP1 DATABASE: QAS
A saída mostra que o endereço IP da entrada padrão está apontando para a máquina virtual e não para o endereço IP do balanceador de carga. Essa entrada precisa ser alterada para apontar para o nome do host virtual do balanceador de carga. Certifique-se de usar a mesma porta (30313 na saída acima) e o nome do banco de dados (QAS na saída acima)!
su - qasadm hdbuserstore SET DEFAULT qasdb:30313@QAS 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
- Guia multi-SID do HA for SAP NW on Azure VMs on SLES for SAP applications multi-SID
- Planejamento e implementação de Máquinas Virtuais do Azure para SAP
- Implantação de Máquinas Virtuais do Azure para SAP
- Implantação de DBMS de Máquinas Virtuais do Azure para SAP
- Para saber como estabelecer alta disponibilidade e planejar a recuperação de desastres do SAP HANA em VMs do Azure, consulte Alta disponibilidade do SAP HANA em máquinas virtuais (VMs) do Azure