Alta disponibilidade para SAP NetWeaver em VMs do Azure no SUSE Linux Enterprise Server com o NFS nos Arquivos do Azure
Este artigo descreve como implantar e configurar VMs, instalar a estrutura do cluster e instalar um sistema SAP NetWeaver de alta disponibilidade usando NFS nos Arquivos do Azure. As configurações de exemplo usam VMs que são executadas no SLES (SUSE Linux Enterprise Server).
Para novas implementações no SLES para Aplicativos SAP 15, recomendamos implantar a alta disponibilidade para SAP ASCS/ERS na configuração de montagem simples. A configuração clássica do Pacemaker, baseada em sistemas de arquivos controlados por cluster para os diretórios de serviços centrais do SAP, descrita neste artigo, ainda tem suporte.
Pré-requisitos
- Documentação dos Arquivos do Azure.
- A Nota SAP 1928533, que tem:
- Lista de tamanhos de VM do Azure com suporte para a implantação de software SAP.
- Informações importantes sobre capacidade para tamanhos de VM do Azure.
- Software SAP com suporte e combinações de SO (sistema operacional) e banco de dados.
- Versão do kernel do SAP necessária para Windows e para Linux no Microsoft Azure.
- A Nota SAP 2015553 lista pré-requisitos para implantações de software SAP com suporte do SAP no Azure.
- A Nota SAP 2205917 tem configurações de SO recomendadas para SUSE Linux Enterprise Server para aplicativos SAP.
- A Nota SAP 2178632 contém informações detalhadas sobre todas as métricas de monitoramentos relatadas para o SAP no Azure.
- A Nota SAP 2191498 tem a versão necessária do SAP Host Agent para Linux no Azure.
- A Nota SAP 2243692 tem informações sobre o licenciamento do SAP no Linux no Azure.
- A Nota SAP 1984787 tem informações gerais sobre o SUSE Linux Enterprise Server 12.
- A Nota SAP 2578899 tem informações gerais sobre o SUSE Linux Enterprise Server 15.
- A Nota SAP 1999351 tem informações de solução de problemas adicionais para a Extensão de Monitoramento Avançado do Azure para SAP.
- WIKI da comunidade do SAP 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 Máquinas Virtuais do Azure do DBMS para SAP no Linux.
- Guias de melhores práticas do SAP de alta disponibilidade do SUSE. Os guias contêm todas as informações necessárias para configurar o Netweaver HA e a Replicação de Sistema SAP HANA no local. Use esses guias como uma linha de base geral. Eles fornecem informações muito mais detalhadas.
- Notas sobre a versão da extensão de alta disponibilidade do SUSE.
Visão geral
Para implantar a camada de aplicativo SAP NetWeaver, você precisa de diretórios compartilhados como /sapmnt/SID
e /usr/sap/trans
no ambiente. Além disso, ao implantar um sistema SAP de alta disponibilidade, você precisa proteger e disponibilizar sistemas de arquivos altamente disponíveis como /sapmnt/SID
e /usr/sap/SID/ASCS
.
Agora, você pode colocar esses sistemas de arquivos no NFS nos Arquivos do Azure. O NFS nos Arquivos do Azure é uma solução de armazenamento de alta disponibilidade. Essa solução oferece ZRS (armazenamento com redundância de zona) síncrono e é adequada para instâncias do SAP ASCS/ERS implantadas em Zonas de Disponibilidade. Você ainda precisa de um cluster do Pacemaker para proteger componentes de ponto único de falha, como os serviços centrais do SAP Netweaver (ASCS/SCS).
As configurações e os comandos de instalação de exemplo usam os seguintes números de instância:
Nome da instância | Número da instância |
---|---|
ASCS (ABAP SAP Central Services) | 00 |
ERS | 01 |
PAS (Servidor de aplicativos primário) | 02 |
AAS (Servidor de aplicativos adicional) | 03 |
Identificador do sistema SAP | NW1 |
Este diagrama mostra uma arquitetura de alta disponibilidade típica do SAP Netweaver. Os sistemas de arquivos "sapmnt" e "saptrans" são implantados em compartilhamentos NFS nos Arquivos do Azure. Os serviços centrais do SAP são protegidos por um cluster do Pacemaker. As VMs clusterizadas estão atrás de um balanceador de carga do Azure. Os compartilhamentos NFS são montados por meio do ponto de extremidade privado.
Preparar a infraestrutura
O agente de recursos para a instância SAP está incluído no SUSE Linux Enterprise Server para Aplicativos SAP. Uma imagem do SUSE Linux Enterprise Server para Applications SAP 12 ou 15 está disponível no Azure Marketplace. Você pode usar a imagem para implantar novas VMs.
Implantar VMs do Linux manualmente por meio do portal do Azure
Este documento pressupõe que você já implantou um grupo de recursos, uma Rede Virtual do Azure e uma sub-rede.
Implantar máquinas virtuais com imagem do SLES para Applications SAP. Escolha uma versão adequada da imagem do SLES que seja compatível com o sistema SAP. Você pode implementar a VM em qualquer uma das opções de disponibilidade, conjunto de dimensionamento de máquinas virtuais, zona de disponibilidade ou conjunto de disponibilidade.
Configurar o Azure Load Balancer
Durante a configuração da VM, você tem a opção de criar ou selecionar o balanceador de carga existente na seção de rede. Siga as etapas abaixo para configurar um balanceador de carga padrão para a configuração de alta disponibilidade do SAP ASCS e do SAP ERS.
Siga o guia criar balanceador de carga para configurar um balanceador de carga padrão para um sistema SAP de alta disponibilidade usando o portal do Azure. Durante a instalação do balanceador de carga, considere os pontos a seguir.
- Configuração de IP de Front-end: Criar dois protocolos IP de front-end, um para ASCS e outro para ERS. Selecione a mesma rede virtual e sub-rede que suas máquinas virtuais ASCS/ERS.
- Pool de Back-end: Criar um pool de back-end e adicionar VMs ASCS e ERS.
- Regras de Entrada: Criar duas regras de balanceamento de carga, uma para o ASCS e outra para o ERS. Siga as mesmas etapas para ambas as regras de balanceamento de carga.
- Endereço IP de front-end: Selecionar o IP de front-end
- Pool de back-end: Selecionar o pool de back-end
- Verifique "Portas de alta disponibilidade"
- Protocolo: TCP
- Investigação de integridade: Criar uma investigação de integridade com os detalhes abaixo (aplica-se tanto ao ASCS quanto ao ERS)
- Protocolo: TCP
- Porta: [por exemplo: 620<Instance-no.> para ASCS, 621<Instance-no.> para ERS]
- Intervalo: 5
- Limite de Investigação: 2
- Tempo limite ocioso (minutos): 30
- Verificar "Habilitar IP Flutuante"
Observação
A propriedade de configuração Investigação de integridade, também conhecida como "Limite não íntegro" no portal, não é respeitada. Portanto, para controlar o número de investigações consecutivas bem-sucedidas ou com falha, defina a propriedade "probeThreshold" como 2. No momento, não é possível definir essa propriedade usando o portal do Azure, portanto, use a CLI do Azure ou o comando do PowerShell.
Observação
Quando as VMs sem endereços IP públicos forem colocadas no pool de back-end do Standard Azure Load Balancer (sem endereço IP público), não haverá nenhuma conectividade de saída com a Internet se não houver configuração adicional a fim de permitir o roteamento para pontos de extremidade públicos. Para obter detalhes sobre como alcançar conectividade de saída, confira Conectividade de ponto de extremidade público para Máquinas Virtuais usando o Azure Standard Load Balancer em cenários de alta disponibilidade do SAP.
Importante
- Não habilite carimbos de data/hora de TCP em VMs do Azure posicionadas de forma subjacente em relação ao Azure Load Balancer. Habilitar carimbos de data/hora de TCP fará com que as investigações de integridade falhem. Defina o parâmetro de
net.ipv4.tcp_timestamps
a0
. Para obter detalhes, veja Investigações de integridade do Load Balancer. - Para evitar que o saptune altere o valor
net.ipv4.tcp_timestamps
definido manualmente de0
de volta para1
, você deve atualizar a versão do saptune para 3.1.1 ou superior. Para obter mais detalhes, confira saptune 3.1.1 - Preciso atualizar?.
Implantar conta de armazenamento dos Arquivos do Azure e compartilhamentos NFS
O NFS nos Arquivos do Azure é executado sobre o Armazenamento Premium dos Arquivos do Azure. Antes de configurar o NFS nos Arquivos do Azure, confira Como criar um compartilhamento NFS.
Há duas opções de redundância em uma região do Azure:
- LRS (armazenamento com redundância local), que oferece replicação de dados síncrona local na zona.
- ZRS (armazenamento com redundância de zona), que replica os dados de maneira síncrona em três zonas de disponibilidade na região.
Verifique se a região do Azure selecionada oferece os NFS 4.1 nos Arquivos do Azure com a redundância apropriada. Examine a disponibilidade de Arquivos do Azure por região do Azure em Armazenamento de Arquivos Premium. Se o seu cenário se beneficia com o ZRS, verifique se compartilhamentos de Arquivos Premium com ZRS têm suporte em sua região do Azure.
É recomendável acessar sua conta de Armazenamento do Azure por meio de um Ponto de extremidade privado do Azure. Não deixe de implantar o ponto de extremidade da conta de armazenamento dos Arquivos do Azure e as VMs em que você precisa montar os compartilhamentos NFS na mesma VNet do Azure ou em VNets do Azure emparelhadas.
- Implante uma conta de Armazenamento de Arquivos chamada
sapafsnfs
. Neste exemplo, usamos o ZRS. Se você não está familiarizado com esse processo, confira Criar uma conta de armazenamento para o portal do Azure. - Na guia Básico, use estas configurações:
- Para Nome da conta de armazenamento, insira
sapafsnfs
. - Para Desempenho, selecione Premium.
- Para Tipo de conta Premium, selecione FileStorage.
- Para Replicação, selecione ZRS (redundância de zona).
- Para Nome da conta de armazenamento, insira
- Selecione Avançar.
- Na guia Avançado, desmarque Exigir transferência segura para operações da API REST. Se você não desmarcar essa opção, não poderá montar o compartilhamento NFS na VM. A operação de montagem atingirá o tempo limite.
- Selecione Avançar.
- Na seção Rede, defina estas configurações:
- Em Conectividade de rede, para Método de conectividade, selecione Ponto de extremidade privado.
- Em Ponto de extremidade privado, selecione Adicionar ponto de extremidade privado.
- No painel Criar ponto de extremidade privado, selecione sua Assinatura, Grupo de recursos e Local.
Para Nome, insira
sapafsnfs_pe
. Para Sub-recurso de armazenamento, selecione arquivo. Em Rede, para Rede virtual, selecione a VNet e a sub-rede a serem usadas. Mais uma vez, você pode usar a VNet em que suas VMs SAP estão ou uma VNet emparelhada. Em Integração do DNS privado, aceite a opção padrão Sim para Integrar com zona DNS privada. Não deixe de selecionar sua Zona DNS privada. Selecione OK. - Novamente na guia Rede, selecione Avançar.
- Na guia Proteção de dados, mantenha todas as configurações padrão.
- Selecione Examinar + criar para validar a configuração.
- Aguarde a conclusão da validação. Corrija eventuais problemas antes de continuar.
- Na guia Revisar + criar, selecione Criar.
Em seguida, implante os compartilhamentos NFS na conta de armazenamento que você criou. Neste exemplo, há dois compartilhamentos NFS, sapnw1
e saptrans
.
Entre no portal do Azure.
Selecione ou pesquise por Contas de armazenamento.
Na página Contas de armazenamento, selecione sapafsnfs.
No menu de recursos de sapafsnfs, selecione Compartilhamentos de arquivo em Armazenamento de dados.
Na página Compartilhamentos de arquivo, selecione Compartilhamento de arquivo.
- Para Nome, insira
sapnw1
,saptrans
. - Selecione um tamanho de compartilhamento apropriado. Por exemplo, 128 GB. Considere o tamanho dos dados armazenados nos requisitos de compartilhamento, IOPS e taxa de transferência. Para saber mais, confira Destinos de compartilhamento de arquivo do Azure.
- Selecione NFS como o protocolo.
- Selecione Nenhum squash raiz. Caso contrário, quando montar os compartilhamentos em suas VMs, você não poderá ver o grupo nem o proprietário do arquivo.
Importante
O tamanho do compartilhamento acima é apenas um exemplo. Dimensione seus compartilhamentos adequadamente. Dimensione com base não somente no tamanho dos dados armazenados no compartilhamento, mas também nos requisitos de IOPS e taxa de transferência. Para obter detalhes, confira Destino de compartilhamento de arquivo do Azure.
Os sistemas de arquivos SAP que não precisam ser montados via NFS também podem ser implantados no Armazenamento em Disco do Azure. Neste exemplo, você pode implantar
/usr/sap/NW1/D02
e/usr/sap/NW1/D03
no Armazenamento em Disco do Azure.- Para Nome, insira
Considerações importantes sobre o NFS em compartilhamentos dos Arquivos do Azure
Ao planejar a implantação com o NFS nos Arquivos do Azure, considere os seguintes pontos importantes:
- O tamanho mínimo do compartilhamento é de 100 GiB. Você paga somente pela capacidade dos compartilhamentos provisionados.
- Dimensione seus compartilhamentos NFS com base não somente nos requisitos de capacidade, mas também nos requisitos de IOPS e taxa de transferência. Para obter detalhes, confira Destino de compartilhamento de arquivo do Azure.
- Teste a carga de trabalho para validar o dimensionamento e garantir que ele atenda às suas metas de desempenho. Para saber como solucionar problemas de desempenho nos Arquivos do Azure, confira Solução de problemas de desempenho de compartilhamentos de arquivos do Azure.
- Para sistemas SAP J2EE, não há suporte para colocar
/usr/sap/<SID>/J<nr>
no NFS nos Arquivos do Azure. - Se o sistema SAP tiver uma carga pesada de trabalhos em lotes, você poderá ter milhões de logs de trabalho. Se logs de trabalho em lotes do SAP forem armazenados no sistema de arquivos, preste atenção especial ao dimensionamento do compartilhamento
sapmnt
. Começando no SAP_BASIS 7.52, o comportamento padrão para os logs de trabalho em lotes é de serem armazenados no banco de dados. Para obter detalhes, confira Log de trabalho no banco de dados. - Implante um compartilhamento
sapmnt
separado para cada sistema SAP. - Não use o compartilhamento
sapmnt
para nenhuma outra atividade, como interfaces ousaptrans
. - Não use o compartilhamento
saptrans
para nenhuma outra atividade, como interfaces ousapmnt
. - Evite consolidar os compartilhamentos de muitos sistemas SAP em uma só conta de armazenamento. Também há Metas de escala de desempenho da conta de armazenamento. Tenha cuidado para não exceder os limites da conta de armazenamento também.
- De modo geral, não consolide os compartilhamentos de mais de cinco sistemas SAP em uma só conta de armazenamento. Essa diretriz ajuda a evitar exceder os limites da conta de armazenamento e simplifica a análise de desempenho.
- Em geral, evite misturar compartilhamentos,
sapmnt
como de sistemas SAP de não produção e de produção na mesma conta de armazenamento. - É recomendável implantar no SLES 15 SP2 ou superior para aproveitar os aprimoramentos do cliente NFS.
- Use um ponto de extremidade privado. No caso improvável de uma falha na zona, suas sessões de NFS são redirecionadas automaticamente para uma zona íntegra. Você não precisa montar novamente os compartilhamentos NFS nas VMs.
- Se você está implantando suas VMs em Zonas de Disponibilidade, use uma Conta de armazenamento com ZRS nas regiões do Azure com suporte para ZRS.
- Atualmente, os Arquivos do Azure não dão suporte à replicação automática entre regiões para cenários de recuperação de desastre.
Configuração do (A)SCS
Em seguida, você preparará e instalará as instâncias do SAP ASCS e ERS.
Criar cluster do Pacemaker
Siga as etapas em Configurar Pacemaker no SUSE Linux Enterprise Server no Azure para criar um cluster Pacemaker básico para o SAP (A)SCS.
Instalação
Os itens a seguir são prefixados com [A] – aplicável a todos os nós, [1] – aplicável somente ao nó 1 ou [2] – aplicável somente ao nó 2.
[A] Instale a versão mais recente do SUSE Connector
sudo zypper install sap-suse-cluster-connector
Observação
O problema conhecido com o uso de um travessão em nomes de host é corrigido com a versão 3.1.1 do pacote sap-suse-cluster-connector. Caso você esteja usando nós de cluster com traço no nome do host, verifique se está usando pelo menos a versão 3.1.1 do pacote sap-suse-cluster-connector. Caso contrário, seu cluster não funcionará.
Certifique-se de que ter instalado a nova versão do conector de cluster SAP SUSE. O antigo era nomeado sap_suse_cluster_connector e o novo é nomeado sap-suse-cluster-conector.
[A] Atualizar agentes de recurso SAP
É necessário um patch para o pacote resource-agents para usar a nova configuração descrita neste artigo. Você pode verificar, se o patch já está instalado com o comando a seguir
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
A saída deverá ser semelhante a
<parameter name="IS_ERS" unique="0" required="0">;
Se o comando grep não localizar o parâmetro IS_ERS, você precisará instalar o patch listado na página de download do SUSE
[A] Configurar a resolução de nomes do host
Você pode usar um servidor DNS ou modificar /etc/hosts em todos os nós. Este exemplo mostra como usar o arquivo /etc/hosts. Substitua o endereço IP e o nome do host nos comandos a seguir
sudo vi /etc/hosts
Insira as seguintes linhas para /etc/hosts. Altere o endereço IP e o nome do host para corresponder ao seu ambiente
# IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers
[1] Crie os diretórios do SAP no compartilhamento NFS.
Monte temporariamente o compartilhamento NFS sapnw1 em uma das VMs e crie os diretórios do SAP que serão usados como pontos de montagem aninhados.# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
Preparar para a instalação do SAP NetWeaver
[A] Criar os diretórios compartilhados
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A] Montar os sistemas de arquivos que não serão controlados pelo cluster do Pacemaker.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurar arquivo de permuta
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Reiniciar o agente para ativar a alteração
sudo service waagent restart
Instalação do ASCS/ERS do SAP NetWeaver
[1] Criar um recurso de IP virtual e uma investigação de integridade para a instância do ASCS
Importante
É recomendável usar o agente de recursos azure-lb, que faz parte do pacote resource-agents, com os seguintes requisitos de versão do pacote:
- Para o SLES 12 SP4/SP5, a versão deve ser pelo menos resource-agents-4.3.018.a7fb5035-3.30.1.
- Para o SLES 15 e superior, a versão deve ser pelo menos resource-agents-4.3.0184.6ee15eb2-4.13.1.
sudo crm node standby sap-cl2 sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.90.90.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
Verifique se o status do cluster é ok e se todos os recursos estão iniciados. Não importa em qual nó os recursos estão sendo executados.
sudo crm_mon -r # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] Instalar o ASCS do SAP NetWeaver
Instale o ASCS do SAP NetWeaver como raiz no primeiro nó usando um nome do host virtual que mapeia para o endereço IP da configuração de front-end do balanceador de carga para o ASCS, por exemplo, sapascs, 10.90.90.10 e o número da instância utilizado para a investigação do balanceador de carga, por exemplo, 00.
Você pode usar o parâmetro sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome de host virtual.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
Se a instalação não conseguir criar uma subpasta em /usr/sap/NW1/ASCS00, tente definir o proprietário e o grupo da pasta do ASCS00 e tente novamente.
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] Criar um recurso de IP virtual e uma investigação de integridade para a instância do ERS
sudo crm node online sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.90.90.9 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
Verifique se o status do cluster é ok e se todos os recursos estão iniciados. Não importa em qual nó os recursos estão sendo executados.
sudo crm_mon -r # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] Instalar o ERS do SAP NetWeaver
Instale o ERS do SAP NetWeaver como raiz no segundo nó usando um nome do host virtual que mapeia para o endereço IP da configuração de front-end do balanceador de carga para o ERS, por exemplo, sapers, 10.90.90.9 e o número da instância que você usou para a investigação do balanceador de carga, por exemplo, 01.
Você pode usar o parâmetro sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst. Você pode usar o parâmetro SAPINST_USE_HOSTNAME para instalar o SAP, usando o nome de host virtual.
<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
Observação
Use SWPM SP 20 PL 05 ou superior. Versões anteriores não configurarão as permissões corretamente e a instalação falhará.
Se a instalação falhar ao criar uma subpasta em /usr/sap/NW1/ERS01, tente definir o proprietário e o grupo da pasta 01 do ERS e tente novamente.
chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[1] Adaptar os perfis de instância do ASCS/SCS e do ERS
- Perfil do ASCS/SCS
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = true
Para ENSA1 e ENSA2, verifique se os
keepalive
parâmetros do sistema operacional estão definidos conforme descrito na nota do SAP 1410736.- Perfil do ERS
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] Configurar Keep Alive
A comunicação entre o servidor de aplicativos do SAP NetWeaver e o ASCS/SCS é roteada por meio de um balanceador de carga de software. O balanceador de carga desconecta conexões inativas após um tempo limite configurável. Para evitar isso, você precisará definir um parâmetro no perfil do ASCS/SCS do SAP NetWeaver se estiver usando o ENSA1. Altere as configurações
keepalive
do sistema Linux em todos os servidores do SAP para ENSA1/ENSA2. Leia a Nota SAP 1410736 para obter mais informações.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] Configurar os usuários do SAP após a instalação
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm
[1] Adicionar os serviços SAP de ERS e ASCS ao arquivo
sapservice
Adicione a entrada de serviço do ASCS ao segundo nó e copie a entrada de serviço de ERS para o primeiro nó.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] Desabilitar os serviços
systemd
da instância ASCS e ERS do SAP. Esta etapa só é aplicável se a estrutura de inicialização do SAP for gerenciada pelo systemd, conforme a Nota SAP 3115048Observação
Ao gerenciar instâncias SAP como o SAP ASCS e o SAP ERS usando a configuração de cluster SLES, você precisará fazer modificações adicionais para integrar o cluster com a estrutura de inicialização do SAP baseada no systemd nativo. 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 do SAP para a configuração habilitada pelo sistema, conforme a Nota SAP 3115048, você deve desabilitar os serviços
systemd
para as instâncias ASCS e ERS do 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. sap-cl1) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2) sudo systemctl disable SAPNW1_01
[1] Criar os recursos de cluster do SAP
Dependendo do fato de estar executando um sistema ENSA1 ou ENSA2, selecione a respectiva guia para definir os recursos. O SAP introduziu o suporte para ENSA2, incluindo replicação, no SAP NetWeaver 7.52. Da Plataforma ABAP 1809 em diante, o ENSA2 é instalado por padrão. Para obter suporte para o ENSA2, confira a Nota SAP 2630416.
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ operations \$id=rsc_sap_NW1_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property maintenance-mode="false"
Se você estiver atualizando de uma versão mais antiga e alternando para o servidor de enfileiramento 2, confira a observação SAP 2641019.
Verifique se o status do cluster é ok e se todos os recursos estão iniciados. Não importa em qual nó os recursos estão sendo executados.
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started sap-cl2
# Resource Group: g-NW1_ASCS
# fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
# rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
Preparação do servidor de aplicativos do SAP NetWeaver
Alguns bancos de dados exigem que a instalação da instância do banco de dados seja executada em um servidor de aplicativos. Prepare as máquinas virtuais do servidor de aplicativos para poder usá-las nesses casos.
As etapas abaixo pressupõem que você instale o servidor de aplicativos em um servidor diferente dos servidores do ASCS/SCS e do HANA. Caso contrário, algumas das etapas abaixo (como configurar a resolução de nome do host) não são necessárias.
Os itens a seguir são prefixados com [A] – aplicável tanto a PAS quanto a AAS, [P] – aplicável somente a PAS ou [S] – aplicável somente a AAS.
[A] Configurar o sistema operacional
Reduza o tamanho do cache sujo. Para obter mais informações, consulte Baixo desempenho de gravação em servidores SLES 11/12 com RAM grande.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
[A] Configurar a resolução de nomes do host
Você pode usar um servidor DNS ou modificar /etc/hosts em todos os nós. Este exemplo mostra como usar o arquivo /etc/hosts. Substitua o endereço IP e o nome do host nos comandos a seguir
sudo vi /etc/hosts
Insira as seguintes linhas para /etc/hosts. Altere o endereço IP e o nome do host para corresponder ao seu ambiente
10.90.90.7 sap-cl1 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] Criar o diretório sapmnt
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] Montar o sistema de arquivos
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] Configurar arquivo de permuta
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
Reiniciar o agente para ativar a alteração
sudo service waagent restart
Instalar banco de dados
Neste exemplo, o SAP NetWeaver está instalado no SAP HANA. Você pode usar todos os bancos de dados com suporte para esta instalação. Para obter mais informações sobre como instalar o SAP HANA no Azure, confira Alta disponibilidade do SAP HANA em VMs (Máquinas Virtuais) do Azure. Para obter uma lista de bancos de dados com suporte, confira Nota SAP 1928533.
Instale a instância de banco de dados do SAP NetWeaver como raiz usando um nome de host virtual que mapeia para o endereço IP de configuração de front-end do balanceador de carga para o banco de dados.
Você pode usar o parâmetro sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
Instalação de servidor de aplicativos do SAP NetWeaver
Siga estas etapas para instalar um servidor de aplicativos SAP.
[A] Preparar o servidor de aplicativos Siga as etapas no capítulo Preparação do servidor de aplicativos do SAP NetWeaver acima para preparar o servidor de aplicativos.
[A] Instalar o servidor de aplicativos do SAP NetWeaver.
Instale um servidor de aplicativos do SAP NetWeaver primário ou adicional.Você pode usar o parâmetro sapinst SAPINST_REMOTE_ACCESS_USER para permitir que um usuário não raiz se conecte ao sapinst.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] Atualizar o repositório seguro do SAP HANA
Atualize o repositório seguro do SAP HANA para apontar para o nome virtual do programa de instalação da replicação de sistema do SAP HANA.
Executar o comando a seguir para listar as entradas
hdbuserstore List
O comando deve listar todas as entradas e deve ser semelhante a
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
Neste exemplo, o endereço IP da entrada padrão aponta para a VM, não para o balanceador de carga. Altere a entrada para apontar para o nome do host virtual do balanceador de carga. Certifique-se de usar a mesma porta e o mesmo nome do banco de dados. Por exemplo,
30313
eNW1
na saída de exemplo.su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
Testar configuração do cluster
Teste completamente o cluster do Pacemaker. Execute os testes de failover típicos.
Próximas etapas
- Guia de várias SIDs de HA para SAP NW em VMs do Azure no SLES para aplicativos SAP
- Planejamento e implementação de Máquinas Virtuais do Azure para o SAP
- Implantação de Máquinas Virtuais do Azure para SAP
- Implantação do DBMS de Máquinas Virtuais do Azure para SAP
- Para saber como estabelecer a alta disponibilidade e o plano de recuperação de desastre do SAP HANA em VMs do Azure, confira Alta disponibilidade do SAP HANA em VMs (Máquinas Virtuais) do Azure