Elevada disponibilidade do SAP HANA no sistema do escalamento horizontal no Red Hat Enterprise Linux
Este artigo descreve como implantar um sistema SAP HANA altamente disponível em uma configuração de expansão. Especificamente, a configuração usa a replicação do sistema HANA (HSR) e o Pacemaker nas máquinas virtuais (VMs) do Azure Red Hat Enterprise Linux. Os sistemas de arquivos compartilhados na arquitetura apresentada são montados em NFS e são fornecidos pelos Arquivos NetApp do Azure ou pelo compartilhamento NFS nos Arquivos do Azure.
Nos exemplos de configurações e comandos de instalação, a instância HANA é 03
e o ID do sistema HANA é HN1
.
Pré-requisitos
Alguns leitores se beneficiarão da consulta de uma variedade de notas e recursos SAP antes de prosseguir com os tópicos deste artigo:
- A nota 1928533 da SAP inclui:
- Uma lista de tamanhos de VM do Azure com suporte para a implantação do software SAP.
- Informações de capacidade importantes para tamanhos de VM do Azure.
- Software SAP suportado e combinações de sistema operacional e banco de dados.
- A versão necessária do kernel SAP para Windows e Linux no Microsoft Azure.
- Nota SAP 2015553: Lista os pré-requisitos para implantações de software SAP suportadas pelo SAP no Azure.
- Nota SAP [2002167]: Recomendou as configurações do sistema operacional para o RHEL.
- Nota SAP 2009879: Tem diretrizes SAP HANA para RHEL.
- O SAP Note 3108302 tem as diretrizes do SAP HANA para o Red Hat Enterprise Linux 9.x.
- Nota SAP 2178632: Contém informações detalhadas sobre todas as métricas de monitoramento relatadas para SAP no Azure.
- Nota SAP 2191498: Contém a versão necessária do agente de host SAP para Linux no Azure.
- Nota SAP 2243692: Contém informações sobre o licenciamento SAP no Linux no Azure.
- Nota SAP 1999351: Contém informações adicionais de solução de problemas para a extensão de monitoramento avançado do Azure para SAP.
- Nota SAP 1900823: Contém informações sobre os requisitos de armazenamento do SAP HANA.
- Wiki da comunidade SAP: Contém 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.
- Requisitos de rede SAP HANA.
- Documentação geral do RHEL:
- Visão geral do complemento de alta disponibilidade.
- Administração de complementos de alta disponibilidade.
- Referência de complemento de alta disponibilidade.
- Guia de rede do Red Hat Enterprise Linux.
- Como configuro a replicação do sistema de scale-out do SAP HANA em um cluster Pacemaker com sistemas de arquivos HANA em compartilhamentos NFS.
- Ativo/Ativo (habilitado para leitura): solução RHEL HA para expansão do SAP HANA e replicação do sistema.
- Documentação RHEL específica do Azure:
- Documentação dos Arquivos NetApp do Azure.
- Volumes NFS v4.1 nos Arquivos NetApp do Azure para SAP HANA.
- Documentação do Azure Files
Descrição geral
Para obter alta disponibilidade do HANA para instalações de expansão do HANA, você pode configurar a replicação do sistema HANA e proteger a solução com um cluster Pacemaker para permitir failover automático. Quando um nó ativo falha, o cluster faz failover dos recursos HANA para o outro site.
No diagrama a seguir, há três nós HANA em cada site e um nó criador majoritário para evitar um cenário de "cérebro dividido". As instruções podem ser adaptadas para incluir mais VMs como nós HANA DB.
O sistema /hana/shared
de arquivos compartilhados HANA na arquitetura apresentada pode ser fornecido pelos Arquivos NetApp do Azure ou pelo compartilhamento NFS nos Arquivos do Azure. O sistema de arquivos compartilhado HANA é montado em NFS em cada nó HANA no mesmo local de replicação do sistema HANA. /hana/data
Sistemas de arquivos e /hana/log
são sistemas de arquivos locais e não são compartilhados entre os nós de banco de dados HANA. O SAP HANA será instalado no modo não compartilhado.
Para obter as configurações de armazenamento recomendadas do SAP HANA, consulte Configurações de armazenamento do SAP HANA Azure VMs.
Importante
Se estiver implantando todos os sistemas de arquivos HANA nos Arquivos NetApp do Azure, para sistemas de produção, onde o desempenho é uma chave, recomendamos avaliar e considerar o uso do grupo de volumes de aplicativos Arquivos NetApp do Azure para SAP HANA.
O diagrama anterior mostra três sub-redes representadas em uma rede virtual do Azure, seguindo as recomendações de rede do SAP HANA:
- Para comunicação com o cliente:
client
10.23.0.0/24 - Para comunicação interna HANA:
inter
10.23.1.128/26 - Para replicação do sistema HANA:
hsr
10.23.1.192/26
Como /hana/data
são /hana/log
implantados em discos locais, não é necessário implantar sub-redes separadas e placas de rede virtual separadas para comunicação com o armazenamento.
Se você estiver usando Arquivos NetApp do Azure, os volumes NFS para /hana/shared
, serão implantados em uma sub-rede separada, delegada aos Arquivos NetApp do Azure: anf
10.23.1.0/26.
Configurar a infraestrutura
Nas instruções a seguir, assumimos que você já criou o grupo de recursos, a rede virtual do Azure com três sub-redes de rede do Azure: client
, inter
e hsr
.
Implantar máquinas virtuais Linux por meio do portal do Azure
Implante as VMs do Azure. Para essa configuração, implante sete máquinas virtuais:
- Três máquinas virtuais para servir como nós de banco de dados HANA para o local de replicação HANA 1: hana-s1-db1, hana-s1-db2 e hana-s1-db3.
- Três máquinas virtuais para servir como nós de banco de dados HANA para o local de replicação HANA 2: hana-s2-db1, hana-s2-db2 e hana-s2-db3.
- Uma pequena máquina virtual para servir como fabricante majoritário: hana-s-mm.
As VMs implantadas como nós SAP DB HANA devem ser certificadas pelo SAP for HANA, conforme publicado no diretório de hardware do SAP HANA. Ao implantar os nós de banco de dados HANA, certifique-se de selecionar rede acelerada.
Para o nó criador majoritário, você pode implantar uma VM pequena, porque essa VM não executa nenhum dos recursos do SAP HANA. A VM do criador majoritário é usada na configuração do cluster para atingir um número ímpar de nós de cluster em um cenário de cérebro dividido. Neste exemplo, a VM do criador majoritário só precisa de uma interface de
client
rede virtual na sub-rede.Implante discos gerenciados locais para
/hana/data
e/hana/log
. A configuração de armazenamento mínima recomendada para/hana/data
e/hana/log
é descrita em Configurações de armazenamento de VMs do Azure SAP HANA.Implante a interface de rede primária para cada VM na
client
sub-rede de rede virtual. Quando a VM é implantada por meio do portal do Azure, o nome da interface de rede é gerado automaticamente. Neste artigo, nos referiremos às interfaces de rede primárias geradas automaticamente como hana-s1-db1-client, hana-s1-db2-client, hana-s1-db3-client e assim por diante. Essas interfaces de rede são anexadas à sub-rede de rede virtual doclient
Azure.Importante
Certifique-se de que o sistema operacional selecionado é certificado SAP para SAP HANA nos tipos específicos de VM que você está usando. Para obter uma lista dos tipos de VM certificados pelo SAP HANA e das versões do sistema operacional para esses tipos, consulte Plataformas IaaS certificadas pelo SAP HANA. Analise detalhadamente os detalhes do tipo de VM listado para obter a lista completa das versões do sistema operacional suportadas pelo SAP HANA para esse tipo.
Crie seis interfaces de rede, uma para cada máquina virtual de banco de dados HANA, na sub-rede de rede virtual (neste exemplo, hana-s1-db1-inter, hana-s1-db2-inter, hana-s1-db3-inter, hana-s2-db1-inter, hana-s2-db2-inter e hana-s2-db3-inter
inter
).Crie seis interfaces de rede, uma para cada máquina virtual HANA DB, na sub-rede de rede virtual (neste exemplo, hana-s1-db1-hsr, hana-s1-db2-hsr, hana-s1-db3-hsr, hana-s2-db1-hsr, hana-s2-db2-hsr e hana-s2-db3-hsr
hsr
).Anexe as interfaces de rede virtual recém-criadas às máquinas virtuais correspondentes:
- Vá para a máquina virtual no portal do Azure.
- No painel esquerdo, selecione Máquinas Virtuais. Filtre o nome da máquina virtual (por exemplo, hana-s1-db1) e selecione a máquina virtual.
- No painel Visão geral, selecione Parar para desalocar a máquina virtual.
- Selecione Rede e anexe a interface de rede. Na lista suspensa Anexar interface de rede, selecione as interfaces de rede já criadas para as
inter
sub-redes ehsr
. - Selecione Guardar.
- Repita as etapas b a e para as máquinas virtuais restantes (em nosso exemplo, hana-s1-db2, hana-s1-db3, hana-s2-db1, hana-s2-db2 e hana-s2-db3)
- Deixe as máquinas virtuais no estado interrompido por enquanto.
Habilite a rede acelerada para as interfaces de rede adicionais para as sub-redes e
hsr
fazendo ointer
seguinte:Abra o Azure Cloud Shell no portal do Azure.
Execute os comandos a seguir para habilitar a rede acelerada para as interfaces de rede adicionais, que estão conectadas às
inter
sub-redes ehsr
.az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-inter --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db1-hsr --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db2-hsr --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s1-db3-hsr --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db1-hsr --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db2-hsr --accelerated-networking true az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hana-s2-db3-hsr --accelerated-networking true
Inicie as máquinas virtuais HANA DB.
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 o balanceador de carga padrão para configuração de alta disponibilidade do banco de dados HANA.
Nota
- Para expansão do HANA, selecione a NIC para a
client
sub-rede ao adicionar as máquinas virtuais no pool de back-end. - O conjunto completo de comandos na CLI do Azure e no PowerShell adiciona as VMs com NIC primária no pool de back-end.
Siga as etapas em 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 configuração do balanceador de carga, considere os seguintes pontos:
- Configuração de IP Frontend: Crie um IP front-end. Selecione a mesma rede virtual e o mesmo nome de sub-rede que suas máquinas virtuais de banco de dados.
- Pool de back-end: crie um pool de back-end e adicione VMs de banco de dados.
- Regras de entrada: crie uma regra de balanceamento de carga. Siga as mesmas etapas para ambas as regras de balanceamento de carga.
- Endereço IP frontend: Selecione um IP front-end.
- Pool de back-end: selecione um pool de back-end.
- Portas de alta disponibilidade: selecione esta opção.
- Protocolo: Selecione TCP.
- Sonda de integridade: crie uma sonda de integridade com os seguintes detalhes:
- Protocolo: Selecione TCP.
- Porta: Por exemplo, 625<instância-não.>
- Intervalo: Digite 5.
- Limite da sonda: Digite 2.
- Tempo limite de inatividade (minutos): Digite 30.
- Ativar IP flutuante: selecione esta opção.
Nota
A propriedade numberOfProbes
de configuração da sonda de integridade, também conhecida como Limite não íntegro no portal, não é respeitada. 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 a CLI do Azure ou o comando PowerShell.
Nota
Ao usar o balanceador de carga padrão, você deve estar ciente da seguinte limitação. Quando você coloca VMs sem endereços IP públicos no pool de back-end de um balanceador de carga interno, não há conectividade de saída com a Internet. Para permitir o roteamento para pontos finais públicos, você precisa executar configurações adicionais. Para obter mais informações, 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. A ativação de carimbos de data/hora TCP faz com que os testes de integridade falhem. Defina o parâmetro net.ipv4.tcp_timestamps
como 0
. Para obter detalhes, consulte Sondas de integridade do balanceador de carga e 2382421 de notas SAP.
Implantar NFS
Há duas opções para implantar o Azure NFS nativo para /hana/shared
. Você pode implantar o volume NFS nos Arquivos NetApp do Azure ou o compartilhamento NFS nos Arquivos do Azure. Os ficheiros do Azure suportam o protocolo NFSv4.1, o NFS nos ficheiros NetApp do Azure suporta NFSv4.1 e NFSv3.
As próximas seções descrevem as etapas para implantar o NFS - você precisará selecionar apenas uma das opções.
Gorjeta
Você optou por implantar /hana/shared
no compartilhamento NFS nos Arquivos do Azure ou no volume NFS nos Arquivos NetApp do Azure.
Implantar a infraestrutura de Arquivos NetApp do Azure
Implante os volumes do Azure NetApp Files para o /hana/shared
sistema de arquivos. Você precisa de um volume separado /hana/shared
para cada local de replicação do sistema HANA. Para obter mais informações, consulte Configurar a infraestrutura do Azure NetApp Files.
Neste exemplo, você usa os seguintes volumes do Azure NetApp Files:
- volume HN1-shared-s1 (nfs://10.23.1.7/ HN1-shared-s1)
- volume HN1-shared-s2 (nfs://10.23.1.7/ HN1-shared-s2)
Implantar o NFS na infraestrutura do Azure Files
Implante compartilhamentos NFS de Arquivos do Azure para o /hana/shared
sistema de arquivos. Você precisará de um compartilhamento NFS do Azure Files separado /hana/shared
para cada site de replicação do sistema HANA. Para obter mais informações, consulte Como criar um compartilhamento NFS.
Neste exemplo, os seguintes compartilhamentos NFS do Azure Files foram usados:
- Compartilhar HN1-Shared-S1 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1)
- compartilhar hn1-shared-s2 (sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2)
Configuração e preparação do sistema operacional
As instruções nas secções seguintes são precedidas de uma das seguintes abreviaturas:
- [A]: Aplicável a todos os nós
- [AH]: Aplicável a todos os nós de banco de dados HANA
- [M]: Aplicável ao nó do criador majoritário
- [AH1]: Aplicável a todos os nós de banco de dados HANA no SITE 1
- [AH2]: Aplicável a todos os nós de banco de dados HANA no SITE 2
- [1]: Aplicável apenas ao nó 1 do HANA DB, SITE 1
- [2]: Aplicável apenas ao nó 1 do HANA DB, SITE 2
Configure e prepare seu sistema operacional fazendo o seguinte:
[A] Mantenha os arquivos host nas máquinas virtuais. Inclua entradas para todas as sub-redes. As entradas a seguir são adicionadas para
/etc/hosts
este exemplo.# Client subnet 10.23.0.11 hana-s1-db1 10.23.0.12 hana-s1-db1 10.23.0.13 hana-s1-db2 10.23.0.14 hana-s2-db1 10.23.0.15 hana-s2-db2 10.23.0.16 hana-s2-db3 10.23.0.17 hana-s-mm # Internode subnet 10.23.1.138 hana-s1-db1-inter 10.23.1.139 hana-s1-db2-inter 10.23.1.140 hana-s1-db3-inter 10.23.1.141 hana-s2-db1-inter 10.23.1.142 hana-s2-db2-inter 10.23.1.143 hana-s2-db3-inter # HSR subnet 10.23.1.202 hana-s1-db1-hsr 10.23.1.203 hana-s1-db2-hsr 10.23.1.204 hana-s1-db3-hsr 10.23.1.205 hana-s2-db1-hsr 10.23.1.206 hana-s2-db2-hsr 10.23.1.207 hana-s2-db3-hsr
[A] Crie o arquivo de configuração /etc/sysctl.d/ms-az.conf com a Microsoft para definições de configuração do Azure.
vi /etc/sysctl.d/ms-az.conf # Add the following entries in the configuration file net.ipv6.conf.all.disable_ipv6 = 1 net.ipv4.tcp_max_syn_backlog = 16348 net.ipv4.conf.all.rp_filter = 0 sunrpc.tcp_slot_table_entries = 128 vm.swappiness=10
Gorjeta
Evite definir
net.ipv4.ip_local_port_range
enet.ipv4.ip_local_reserved_ports
explicitamente nos arquivos desysctl
configuração, para permitir que o agente host SAP gerencie os intervalos de portas. Para obter mais detalhes, consulte a nota SAP 2382421.[A] Instale o pacote do cliente NFS.
yum install nfs-utils
[AH] Configuração do Red Hat para HANA.
Configure o RHEL, conforme descrito no portal do cliente Red Hat e nas seguintes notas do SAP:
- 2292690 - SAP HANA DB: Configurações recomendadas do sistema operacional para RHEL 7
- 2777782 - SAP HANA DB: Configurações recomendadas do sistema operacional para RHEL 8
- 2455582 - Linux: Executando aplicativos SAP compilados com GCC 6.x
- 2593824 - Linux: Executando aplicativos SAP compilados com GCC 7.x
- 2886607 - Linux: Executando aplicativos SAP compilados com GCC 9.x
Preparar os sistemas de arquivos
As seções a seguir fornecem etapas para a preparação de seus sistemas de arquivos. Você optou por implantar /hana/shared' no compartilhamento NFS nos Arquivos do Azure ou no volume NFS nos Arquivos NetApp do Azure.
Monte os sistemas de arquivos compartilhados (Azure NetApp Files NFS)
Neste exemplo, os sistemas de arquivos HANA compartilhados são implantados nos Arquivos NetApp do Azure e montados sobre NFSv4.1. Siga as etapas nesta seção, somente se estiver usando NFS nos Arquivos NetApp do Azure.
[AH] Prepare o sistema operacional para executar o SAP HANA em sistemas NetApp com NFS, conforme descrito na nota 3024346 SAP - Configurações do kernel Linux para NFS NetApp. Crie o arquivo de configuração /etc/sysctl.d/91-NetApp-HANA.conf para as definições de configuração da NetApp.
vi /etc/sysctl.d/91-NetApp-HANA.conf # Add the following entries in the configuration file net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 131072 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216 net.core.netdev_max_backlog = 300000 net.ipv4.tcp_slow_start_after_idle=0 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_sack = 1
[AH] Ajuste as configurações sunrpc, conforme recomendado na nota 3024346 SAP - Configurações do kernel Linux para NetApp NFS.
vi /etc/modprobe.d/sunrpc.conf # Insert the following line options sunrpc tcp_max_slot_table_entries=128
[AH] Crie pontos de montagem para os volumes do banco de dados HANA.
mkdir -p /hana/shared
[AH] Verifique a configuração de domínio NFS. Certifique-se de que o domínio está configurado como o domínio padrão do Azure NetApp Files:
defaultv4iddomain.com
. Verifique se o mapeamento está definido comonobody
.
(Esta etapa só é necessária se você estiver usando o Azure NetAppFiles NFS v4.1.)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 e o servidor NFS, as permissões para arquivos nos volumes NetApp do Azure montados nas VMs serão exibidas comonobody
.sudo cat /etc/idmapd.conf # Example [General] Domain = defaultv4iddomain.com [Mapping] Nobody-User = nobody Nobody-Group = nobody
[AH] Verificar
nfs4_disable_idmapping
. Deve ser definido comoY
. 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 ou drivers.
Esta etapa só é necessária se estiver usando o Azure NetAppFiles NFSv4.1.# 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.9.0.4:/HN1-shared /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
Para obter mais informações sobre como alterar o
nfs4_disable_idmapping
parâmetro, consulte o portal do cliente Red Hat.[AH1] Monte os volumes compartilhados dos Arquivos NetApp do Azure nas VMs de banco de dados HANA SITE1.
sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s1 /hana/shared
[AH2] Monte os volumes compartilhados dos Arquivos NetApp do Azure nas VMs de banco de dados HANA do SITE2.
sudo mount -o rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys 10.23.1.7:/HN1-shared-s2 /hana/shared
[AH] Verifique se os sistemas de arquivos correspondentes
/hana/shared/
estão montados em todas as VMs HANA DB, com a versão NFSv4 do protocolo NFSv4.sudo nfsstat -m # Verify that flag vers is set to 4.1 # Example from SITE 1, hana-s1-db1 /hana/shared from 10.23.1.7:/HN1-shared-s1 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7 # Example from SITE 2, hana-s2-db1 /hana/shared from 10.23.1.7:/HN1-shared-s2 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
Monte os sistemas de arquivos compartilhados (Azure Files NFS)
Neste exemplo, os sistemas de arquivos HANA compartilhados são implantados em NFS nos Arquivos do Azure. Siga as etapas nesta seção, somente se estiver usando NFS nos Arquivos do Azure.
[AH] Crie pontos de montagem para os volumes do banco de dados HANA.
mkdir -p /hana/shared
[AH1] Monte os volumes compartilhados dos Arquivos NetApp do Azure nas VMs de banco de dados HANA SITE1.
sudo vi /etc/fstab # Add the following entry sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 /hana/shared nfs nfsvers=4.1,sec=sys 0 0 # Mount all volumes sudo mount -a
[AH2] Monte os volumes compartilhados dos Arquivos NetApp do Azure nas VMs de banco de dados HANA do SITE2.
sudo vi /etc/fstab # Add the following entries sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 /hana/shared nfs nfsvers=4.1,sec=sys 0 0 # Mount the volume sudo mount -a
[AH] Verifique se os sistemas de arquivos correspondentes
/hana/shared/
estão montados em todas as VMs de banco de dados HANA com a versão do protocolo NFS NFSv4.1.sudo nfsstat -m # Example from SITE 1, hana-s1-db1 sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35 # Example from SITE 2, hana-s2-db1 sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
Preparar os dados e registrar sistemas de arquivos locais
Na configuração apresentada, você implanta sistemas /hana/data
de arquivos e /hana/log
em um disco gerenciado e anexa esses sistemas de arquivos localmente a cada HANA DB VM. Execute as etapas a seguir para criar os volumes de dados e logs locais em cada máquina virtual de banco de dados HANA.
Configure o layout do disco com o LVM (Logical Volume Manager). O exemplo a seguir pressupõe que cada máquina virtual HANA tenha três discos de dados conectados e que esses discos sejam usados para criar dois volumes.
[AH] Liste todos os discos disponíveis:
ls /dev/disk/azure/scsi1/lun*
Saída de exemplo:
/dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 /dev/disk/azure/scsi1/lun2
[AH] Crie volumes físicos para todos os discos que você deseja usar:
sudo pvcreate /dev/disk/azure/scsi1/lun0 sudo pvcreate /dev/disk/azure/scsi1/lun1 sudo pvcreate /dev/disk/azure/scsi1/lun2
[AH] Crie um grupo de volumes para os arquivos de dados. Use um grupo de volumes para os arquivos de log e outro para o diretório compartilhado do SAP HANA:
sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1 sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
[AH] Crie os volumes lógicos. Um volume linear é criado quando você usa
lvcreate
sem o-i
switch. Sugerimos que você crie um volume distribuído para um melhor desempenho de E/S. Alinhe os tamanhos de distribuição aos valores documentados nas configurações de armazenamento SAP HANA VM. O-i
argumento deve ser o número dos volumes físicos subjacentes e o-I
argumento é o tamanho da faixa. Neste artigo, dois volumes físicos são usados para o volume de dados, portanto, o-i
argumento switch é definido como2
. O tamanho da faixa para o volume de dados é256 KiB
. Um volume físico é usado para o volume de log, portanto, você não precisa usar explícitos-i
ou-I
opções para os comandos de volume de log.Importante
Use o
-i
switch e defina-o como o número do volume físico subjacente, quando você usar mais de um volume físico para cada volume de dados ou log. Use a-I
opção para especificar o tamanho da faixa ao criar um volume distribuído. Consulte Configurações de armazenamento SAP HANA VM para obter as configurações de armazenamento recomendadas, incluindo tamanhos de distribuição e número de discos.sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1 sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1 sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
[AH] Crie os diretórios de montagem e copie o UUID de todos os volumes lógicos:
sudo mkdir -p /hana/data/HN1 sudo mkdir -p /hana/log/HN1 # Write down the ID of /dev/vg_hana_data_HN1/hana_data and /dev/vg_hana_log_HN1/hana_log sudo blkid
[AH] Crie
fstab
entradas para os volumes lógicos e monte:sudo vi /etc/fstab
Insira a seguinte linha no
/etc/fstab
ficheiro:/dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_data_HN1-hana_data /hana/data/HN1 xfs defaults,nofail 0 2 /dev/disk/by-uuid/UUID of /dev/mapper/vg_hana_log_HN1-hana_log /hana/log/HN1 xfs defaults,nofail 0 2
Monte os novos volumes:
sudo mount -a
Instalação
Neste exemplo para implantar o SAP HANA em uma configuração de expansão com HSR em VMs do Azure, você está usando o HANA 2.0 SP4.
Preparar para a instalação do HANA
[AH] Antes da instalação do HANA, defina a senha de root. Você pode desativar a senha de root após a conclusão da instalação. Execute como
root
comandopasswd
para definir a senha.[1,2] Altere as permissões em
/hana/shared
.chmod 775 /hana/shared
[1] Verifique se você pode entrar em hana-s1-db2 e hana-s1-db3 via secure shell (SSH), sem ser solicitada uma senha. Se esse não for o caso, troque
ssh
chaves, conforme documentado em Usando autenticação baseada em chave.ssh root@hana-s1-db2 ssh root@hana-s1-db3
[2] Verifique se você pode entrar em hana-s2-db2 e hana-s2-db3 via SSH, sem ser solicitada uma senha. Se esse não for o caso, troque
ssh
chaves, conforme documentado em Usando autenticação baseada em chave.ssh root@hana-s2-db2 ssh root@hana-s2-db3
[AH] Instale pacotes adicionais, que são necessários para o HANA 2.0 SP4. Para obter mais informações, consulte SAP Note 2593824 for RHEL 7.
# If using RHEL 7 yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1 # If using RHEL 8 yum install libatomic libtool-ltdl.x86_64
[A] Desative o firewall temporariamente, para que ele não interfira com a instalação do HANA. Você pode reativá-lo após a conclusão da instalação do HANA.
# Execute as root systemctl stop firewalld systemctl disable firewalld
Instalação do HANA no primeiro nó em cada local
[1] Instale o SAP HANA seguindo as instruções no guia de instalação e atualização do SAP HANA 2.0. As instruções a seguir mostram a instalação do SAP HANA no primeiro nó do SITE 1.
Inicie o
hdblcm
programa aroot
partir do diretório do software de instalação do HANA. Use ointernal_network
parâmetro e passe o espaço de endereço para a sub-rede, que é usado para a comunicação interna do HANA../hdblcm --internal_network=10.23.1.128/26
No prompt, insira os seguintes valores:
- Em Escolha uma ação, digite 1 (para instalar).
- Para Componentes adicionais para instalação, insira 2, 3.
- Para o caminho de instalação, pressione Enter (o padrão é /hana/shared).
- Para Local Host Name, pressione Enter para aceitar o padrão.
- Em Deseja adicionar hosts ao sistema?, digite n.
- Para SAP HANA System ID, insira HN1.
- Para Número da instância [00], digite 03.
- Para Grupo de Trabalho de Host Local [padrão], pressione Enter para aceitar o padrão.
- Para Selecionar Uso do Sistema / Inserir índice [4], digite 4 (para personalizado).
- Para Localização dos volumes de dados [/hana/data/HN1], pressione Enter para aceitar o padrão.
- Para Localização dos Volumes de Log [/hana/log/HN1], pressione Enter para aceitar o padrão.
- Em Restringir alocação máxima de memória? [n], digite n.
- Para Nome do Host do Certificado Para Host hana-s1-db1 [hana-s1-db1], pressione Enter para aceitar o padrão.
- Para SAP Host Agent User (sapadm) Password, digite a senha.
- Para Confirmar senha do usuário do SAP Host Agent (sapadm), digite a senha.
- Para Palavra-passe do Administrador do Sistema (hn1adm), introduza a palavra-passe.
- Para System Administrator Home Directory [/usr/sap/HN1/home], pressione Enter para aceitar o padrão.
- Para System Administrator Login Shell [/bin/sh], pressione Enter para aceitar o padrão.
- Para System Administrator User ID [1001], pressione Enter para aceitar o padrão.
- Para Enter ID of User Group (sapsys) [79], pressione Enter para aceitar o padrão.
- Para Senha do Usuário do Banco de Dados do Sistema (sistema), digite a senha do sistema.
- Para Confirmar Senha do Usuário do Banco de Dados do Sistema (sistema), digite a senha do sistema.
- Para Reiniciar o sistema após a reinicialização da máquina? [n], digite n.
- Em Deseja continuar (s/n), valide o resumo e, se tudo estiver bem, digite y.
[2] Repita a etapa anterior para instalar o SAP HANA no primeiro nó do SITE 2.
[1,2] Verifique global.ini.
Exiba global.ini e verifique se a configuração para a comunicação interna do SAP HANA está em vigor. Verifique a
communication
seção. Ele deve ter o espaço de endereço para ainter
sub-rede elisteninterface
deve ser definido como.internal
. Verifique ainternal_hostname_resolution
seção. Ele deve ter os endereços IP para as máquinas virtuais HANA que pertencem àinter
sub-rede.sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini # Example from SITE1 [communication] internal_network = 10.23.1.128/26 listeninterface = .internal [internal_hostname_resolution] 10.23.1.138 = hana-s1-db1 10.23.1.139 = hana-s1-db2 10.23.1.140 = hana-s1-db3
[1,2] Preparar global.ini para instalação em ambiente não compartilhado, conforme descrito na nota 2080991 da SAP.
sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini [persistence] basepath_shared = no
[1,2] Reinicie o SAP HANA para ativar as alterações.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem
[1,2] Verifique se a interface do cliente utiliza os endereços IP da
client
sub-rede para comunicação.# Execute as hn1adm /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname # Expected result - example from SITE 2 "hana-s2-db1","net_publicname","10.23.0.14"
Para obter informações sobre como verificar a configuração, consulte SAP note 2183363 - Configuration of SAP HANA internal network.
[AH] Altere as permissões nos diretórios de dados e log para evitar um erro de instalação do HANA.
sudo chmod o+w -R /hana/data /hana/log
[1] Instale os nós HANA secundários. As instruções de exemplo nesta etapa são para o SITE 1.
Inicie o programa residente
hdblcm
comoroot
.cd /hana/shared/HN1/hdblcm ./hdblcm
No prompt, insira os seguintes valores:
- Em Escolha uma ação, digite 2 (para adicionar hosts).
- Para Inserir nomes de host separados por vírgulas para adicionar, digite hana-s1-db2, hana-s1-db3.
- Para Componentes adicionais para instalação, insira 2, 3.
- Para Enter Root User Name [root], pressione Enter para aceitar o padrão.
- Para Select roles for host 'hana-s1-db2' [1], selecione 1 (for worker).
- Para Enter Host Failover Group for host 'hana-s1-db2' [default], pressione Enter para aceitar o padrão.
- Para Enter Storage Partition Number for host 'hana-s1-db2' [<<assign automatically>>], pressione Enter para aceitar o padrão.
- Para Enter Worker Group para host 'hana-s1-db2' [default], pressione Enter para aceitar o padrão.
- Para Select roles for host 'hana-s1-db3' [1], selecione 1 (para trabalhador).
- Para Enter Host Failover Group for host 'hana-s1-db3' [default], pressione Enter para aceitar o padrão.
- Para Enter Storage Partition Number for host 'hana-s1-db3' [<<assign automatically>>], pressione Enter para aceitar o padrão.
- Para Enter Worker Group for host 'hana-s1-db3' [default], pressione Enter para aceitar o padrão.
- Para Palavra-passe do Administrador do Sistema (hn1adm), introduza a palavra-passe.
- Para Enter SAP Host Agent User (sapadm) Password, digite a senha.
- Para Confirmar senha do usuário do SAP Host Agent (sapadm), digite a senha.
- Para Nome do Host do Certificado Para Host hana-s1-db2 [hana-s1-db2], pressione Enter para aceitar o padrão.
- Para Nome do Host do Certificado Para Host hana-s1-db3 [hana-s1-db3], pressione Enter para aceitar o padrão.
- Em Deseja continuar (s/n), valide o resumo e, se tudo estiver bem, digite y.
[2] Repita a etapa anterior para instalar os nós secundários do SAP HANA no SITE 2.
Configurar a replicação do sistema SAP HANA 2.0
As etapas a seguir ajudam você a configurar para a replicação do sistema:
[1] Configurar a replicação do sistema no SITE 1:
Faça backup dos bancos de dados como hn1adm:
hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')" hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
Copie os arquivos PKI do sistema para o site secundário:
scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/ scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY hana-s2-db1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
Crie o site principal:
hdbnsutil -sr_enable --name=HANA_S1
[2] Configure a replicação do sistema no SITE 2:
Registre o segundo site para iniciar a replicação do sistema. Execute o seguinte comando como <hanasid>adm:
sapcontrol -nr 03 -function StopWait 600 10 hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 sapcontrol -nr 03 -function StartSystem
[1] Verifique o estado da replicação e aguarde até que todas as bases de dados estejam sincronizadas.
sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py" # | Database | Host | Port | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary | Secondary | Secondary | Secondary | Replication | Replication | Replication | # | | | | | | | | Host | Port | Site ID | Site Name | Active Status | Mode | Status | Status Details | # | -------- | ------------- | ----- | ------------ | --------- | ------- | --------- | ------------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- | # | HN1 | hana-s1-db3 | 30303 | indexserver | 5 | 1 | HANA_S1 | hana-s2-db3 | 30303 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | # | SYSTEMDB | hana-s1-db1 | 30301 | nameserver | 1 | 1 | HANA_S1 | hana-s2-db1 | 30301 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | # | HN1 | hana-s1-db1 | 30307 | xsengine | 2 | 1 | HANA_S1 | hana-s2-db1 | 30307 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | # | HN1 | hana-s1-db1 | 30303 | indexserver | 3 | 1 | HANA_S1 | hana-s2-db1 | 30303 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | # | HN1 | hana-s1-db2 | 30303 | indexserver | 4 | 1 | HANA_S1 | hana-s2-db2 | 30303 | 2 | HANA_S2 | YES | SYNC | ACTIVE | | # # status system replication site "2": ACTIVE # overall system replication status: ACTIVE # # Local System Replication State # # mode: PRIMARY # site id: 1 # site name: HANA_S1
[1,2] Altere a configuração do HANA para que a comunicação para a replicação do sistema HANA seja direcionada através das interfaces de rede virtual de replicação do sistema HANA.
Pare o HANA em ambos os sites.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
Edite global.ini para adicionar o mapeamento de host para replicação do sistema HANA. Use os endereços IP da
hsr
sub-rede.sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini #Add the section [system_replication_hostname_resolution] 10.23.1.202 = hana-s1-db1 10.23.1.203 = hana-s1-db2 10.23.1.204 = hana-s1-db3 10.23.1.205 = hana-s2-db1 10.23.1.206 = hana-s2-db2 10.23.1.207 = hana-s2-db3
Inicie o HANA em ambos os sites.
sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
Para obter mais informações, consulte Resolução de nomes de host para replicação do sistema.
[AH] Reative o firewall e abra as portas necessárias.
Reative o firewall.
# Execute as root systemctl start firewalld systemctl enable firewalld
Abra as portas de firewall necessárias. Você precisará ajustar as portas para seu número de instância HANA.
Importante
Crie regras de firewall para permitir a comunicação interna do HANA e o tráfego do cliente. As portas necessárias estão listadas nas portas TCP/IP de todos os produtos SAP. Os comandos a seguir são apenas um exemplo. Nesse cenário, você usa o número do sistema 03.
# Execute as root sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
Criar um cluster de marcapasso
Para criar um cluster básico do Pacemaker, siga as etapas em Configurando o Pacemaker no Red Hat Enterprise Linux no Azure. Inclua todas as máquinas virtuais, incluindo o criador majoritário no cluster.
Importante
Não defina quorum expected-votes
como 2. Este não é um cluster de dois nós. Verifique se a propriedade concurrent-fencing
do cluster está habilitada, para que a vedação do nó seja desserializada.
Criar recursos do sistema de arquivos
Para a próxima parte desse processo, você precisa criar recursos do sistema de arquivos. Saiba como:
[1,2] Pare o SAP HANA em ambos os locais de replicação. Executar como <sid>adm.
sapcontrol -nr 03 -function StopSystem
[AH] Desmonte o sistema
/hana/shared
de arquivos , que foi montado temporariamente para a instalação em todas as VMs de banco de dados HANA. Antes de desmontá-lo, você precisa parar todos os processos e sessões que estão usando o sistema de arquivos.umount /hana/shared
[1] Crie os recursos de cluster do sistema de ficheiros para
/hana/shared
no estado desativado. Você usa--disabled
porque precisa definir as restrições de local antes que as montagens sejam habilitadas.
Você optou por implantar /hana/shared' no compartilhamento NFS nos Arquivos do Azure ou no volume NFS nos Arquivos NetApp do Azure.Neste exemplo, o sistema de arquivos '/hana/shared' é implantado nos Arquivos NetApp do Azure e montado sobre NFSv4.1. Siga as etapas nesta seção, somente se estiver usando NFS nos Arquivos NetApp do Azure.
# /hana/shared file system for site 1 pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # /hana/shared file system for site 2 pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=10.23.1.7:/HN1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,timeo=600,rsize=262144,wsize=262144,proto=tcp,noatime,sec=sys,nfsvers=4.1,lock,_netdev' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # clone the /hana/shared file system resources for both site1 and site2 pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
Os valores de tempo limite sugeridos permitem que os recursos do cluster suportem uma pausa específica do protocolo, relacionada às renovações de concessão NFSv4.1 nos Arquivos NetApp do Azure. Para obter mais informações, consulte NFS em NetApp Best practice.
Neste exemplo, o sistema de arquivos '/hana/shared' é implantado em NFS nos Arquivos do Azure. Siga as etapas nesta seção, somente se estiver usando NFS nos Arquivos do Azure.
# /hana/shared file system for site 1 pcs resource create fs_hana_shared_s1 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # /hana/shared file system for site 2 pcs resource create fs_hana_shared_s2 --disabled ocf:heartbeat:Filesystem device=sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 directory=/hana/shared \ fstype=nfs options='defaults,rw,hard,proto=tcp,noatime,nfsvers=4.1,lock' op monitor interval=20s on-fail=fence timeout=120s OCF_CHECK_LEVEL=20 \ op start interval=0 timeout=120 op stop interval=0 timeout=120 # clone the /hana/shared file system resources for both site1 and site2 pcs resource clone fs_hana_shared_s1 meta clone-node-max=1 interleave=true pcs resource clone fs_hana_shared_s2 meta clone-node-max=1 interleave=true
O
OCF_CHECK_LEVEL=20
atributo é adicionado à operação do monitor, para que as operações do monitor executem um teste de leitura/gravação no sistema de arquivos. Sem esse atributo, a operação do monitor apenas verifica se o sistema de arquivos está montado. Isso pode ser um problema porque quando a conectividade é perdida, o sistema de arquivos pode permanecer montado, apesar de estar inacessível.O
on-fail=fence
atributo também é adicionado à operação do monitor. Com essa opção, se a operação do monitor falhar em um nó, esse nó será imediatamente cercado. Sem essa opção, o comportamento padrão é parar todos os recursos que dependem do recurso com falha, reiniciar o recurso com falha e iniciar todos os recursos que dependem do recurso com falha. Esse comportamento não só pode levar muito tempo quando um recurso do SAP HANA depende do recurso com falha, mas também pode falhar completamente. O recurso SAP HANA não pode parar com êxito se o compartilhamento NFS que contém os binários HANA estiver inacessível.Os tempos limite nas configurações acima podem precisar ser adaptados à configuração específica do SAP.
[1] Configure e verifique os atributos do nó. Todos os nós SAP HANA DB no local de replicação 1 recebem atributo
S1
atribuído e todos os nós SAP HANA DB no local de replicação 2 são atribuídos atributoS2
.# HANA replication site 1 pcs node attribute hana-s1-db1 NFS_SID_SITE=S1 pcs node attribute hana-s1-db2 NFS_SID_SITE=S1 pcs node attribute hana-s1-db3 NFS_SID_SITE=S1 # HANA replication site 2 pcs node attribute hana-s2-db1 NFS_SID_SITE=S2 pcs node attribute hana-s2-db2 NFS_SID_SITE=S2 pcs node attribute hana-s2-db3 NFS_SID_SITE=S2 # To verify the attribute assignment to nodes execute pcs node attribute
[1] Configure as restrições que determinam onde os sistemas de ficheiros NFS serão montados e habilite os recursos do sistema de ficheiros.
# Configure the constraints pcs constraint location fs_hana_shared_s1-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S1 pcs constraint location fs_hana_shared_s2-clone rule resource-discovery=never score=-INFINITY NFS_SID_SITE ne S2 # Enable the file system resources pcs resource enable fs_hana_shared_s1 pcs resource enable fs_hana_shared_s2
Quando você habilita os recursos do sistema de arquivos, o cluster monta os
/hana/shared
sistemas de arquivos.[AH] Verifique se os volumes dos Arquivos NetApp do Azure estão montados em
/hana/shared
, em todas as VMs de banco de dados HANA em ambos os sites.Exemplo, se estiver usando Arquivos NetApp do Azure:
sudo nfsstat -m # Verify that flag vers is set to 4.1 # Example from SITE 1, hana-s1-db1 /hana/shared from 10.23.1.7:/HN1-shared-s1 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.11,local_lock=none,addr=10.23.1.7 # Example from SITE 2, hana-s2-db1 /hana/shared from 10.23.1.7:/HN1-shared-s2 Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.14,local_lock=none,addr=10.23.1.7
Exemplo, se estiver usando o Azure Files NFS:
sudo nfsstat -m # Example from SITE 1, hana-s1-db1 sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s1 Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.19,local_lock=none,addr=10.23.0.35 # Example from SITE 2, hana-s2-db1 sapnfsafs.file.core.windows.net:/sapnfsafs/hn1-shared-s2 Flags: rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.23.0.22,local_lock=none,addr=10.23.0.35
[1] Configure e clone os recursos de atributos, e configure as restrições, da seguinte forma:
# Configure the attribute resources pcs resource create hana_nfs_s1_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s1_active pcs resource create hana_nfs_s2_active ocf:pacemaker:attribute active_value=true inactive_value=false name=hana_nfs_s2_active # Clone the attribute resources pcs resource clone hana_nfs_s1_active meta clone-node-max=1 interleave=true pcs resource clone hana_nfs_s2_active meta clone-node-max=1 interleave=true # Configure the constraints, which will set the attribute values pcs constraint order fs_hana_shared_s1-clone then hana_nfs_s1_active-clone pcs constraint order fs_hana_shared_s2-clone then hana_nfs_s2_active-clone
Gorjeta
Se sua configuração incluir sistemas de arquivos diferentes de /
hana/shared
, e esses sistemas de arquivos forem montados em NFS, inclua asequential=false
opção. Essa opção garante que não haja dependências de ordenação entre os sistemas de arquivos. Todos os sistemas de arquivos montados no NFS devem ser iniciados antes do recurso de atributo correspondente, mas não precisam ser iniciados em nenhuma ordem em relação uns aos outros. Para obter mais informações, consulte Como configurar o HSR de expansão do SAP HANA em um cluster Pacemaker quando os sistemas de arquivos HANA são compartilhamentos NFS.[1] Coloque o Pacemaker no modo de manutenção, em preparação para a criação dos recursos do cluster HANA.
pcs property set maintenance-mode=true
Criar recursos de cluster do SAP HANA
Agora você está pronto para criar os recursos de cluster:
[A] Instale o agente de recursos de expansão HANA em todos os nós do cluster, incluindo o criador majoritário.
yum install -y resource-agents-sap-hana-scaleout
Nota
Para obter a versão mínima suportada do pacote
resource-agents-sap-hana-scaleout
para a versão do seu sistema operacional, consulte Políticas de suporte para clusters RHEL HA - Gerenciamento do SAP HANA em um cluster .[1,2] Instale o gancho de replicação do sistema HANA em um nó de banco de dados HANA em cada local de replicação do sistema. O SAP HANA ainda deve estar inativo.
Prepare o gancho como
root
.mkdir -p /hana/shared/myHooks cp /usr/share/SAPHanaSR-ScaleOut/SAPHanaSR.py /hana/shared/myHooks chown -R hn1adm:sapsys /hana/shared/myHooks
Ajuste
global.ini
.# add to global.ini [ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /hana/shared/myHooks execution_order = 1 [trace] ha_dr_saphanasr = info
[AH] O cluster requer configuração de sudoers no nó do cluster para <sid>adm. Neste exemplo, você consegue isso criando um novo arquivo. Execute os comandos como
root
.sudo visudo -f /etc/sudoers.d/20-saphana # Insert the following lines and then save Cmnd_Alias SOK = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SOK -t crm_config -s SAPHanaSR Cmnd_Alias SFAIL = /usr/sbin/crm_attribute -n hana_hn1_glob_srHook -v SFAIL -t crm_config -s SAPHanaSR hn1adm ALL=(ALL) NOPASSWD: SOK, SFAIL Defaults!SOK, SFAIL !requiretty
[1,2] Inicie o SAP HANA em ambos os locais de replicação. Executar como <sid>adm.
sapcontrol -nr 03 -function StartSystem
[1] Verifique a instalação do gancho. Execute como <sid>adm no site de replicação do sistema HANA ativo.
cdtrace awk '/ha_dr_SAPHanaSR.*crm_attribute/ \ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* # Example entries # 2020-07-21 22:04:32.364379 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:04:46.905661 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:04:52.092016 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:04:52.782774 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:04:53.117492 ha_dr_SAPHanaSR SFAIL # 2020-07-21 22:06:35.599324 ha_dr_SAPHanaSR SOK
[1] Crie os recursos do cluster HANA. Execute os seguintes comandos como
root
.Verifique se o cluster já está no modo de manutenção.
Em seguida, crie o recurso de topologia HANA.
Se você estiver criando um cluster RHEL 7.x , use os seguintes comandos:pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopologyScaleOut \ SID=HN1 InstanceNumber=03 \ op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
Se você estiver criando um cluster RHEL >= 8.x , use os seguintes comandos:
pcs resource create SAPHanaTopology_HN1_HDB03 SAPHanaTopology \ SID=HN1 InstanceNumber=03 meta clone-node-max=1 interleave=true \ op methods interval=0s timeout=5 \ op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 pcs resource clone SAPHanaTopology_HN1_HDB03 meta clone-node-max=1 interleave=true
Crie o recurso de instância HANA.
Nota
Este artigo contém referências a um termo que a Microsoft já não utiliza. Quando o termo for removido do software, iremos removê-lo deste artigo.
Se você estiver criando um cluster RHEL 7.x , use os seguintes comandos:
pcs resource create SAPHana_HN1_HDB03 SAPHanaController \ SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \ op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \ op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700 pcs resource master msl_SAPHana_HN1_HDB03 SAPHana_HN1_HDB03 \ meta master-max="1" clone-node-max=1 interleave=true
Se você estiver criando um cluster RHEL >= 8.x , use os seguintes comandos:
pcs resource create SAPHana_HN1_HDB03 SAPHanaController \ SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \ op demote interval=0s timeout=320 op methods interval=0s timeout=5 \ op start interval=0 timeout=3600 op stop interval=0 timeout=3600 op promote interval=0 timeout=3600 \ op monitor interval=60 role="Master" timeout=700 op monitor interval=61 role="Slave" timeout=700 pcs resource promotable SAPHana_HN1_HDB03 \ meta master-max="1" clone-node-max=1 interleave=true
Importante
É uma boa ideia definir
AUTOMATED_REGISTER
comofalse
, enquanto você está executando testes de failover, para evitar que uma instância primária com falha se registre automaticamente como secundária. Após o teste, como prática recomendada, definaAUTOMATED_REGISTER
como , paratrue
que, após a aquisição, a replicação do sistema possa ser retomada automaticamente.Crie o IP virtual e os recursos associados.
pcs resource create vip_HN1_03 ocf:heartbeat:IPaddr2 ip=10.23.0.18 op monitor interval="10s" timeout="20s" sudo pcs resource create nc_HN1_03 azure-lb port=62503 sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03
Crie as restrições de cluster.
Se você estiver criando um cluster RHEL 7.x , use os seguintes comandos:
#Start HANA topology, before the HANA instance pcs constraint order SAPHanaTopology_HN1_HDB03-clone then msl_SAPHana_HN1_HDB03 pcs constraint colocation add g_ip_HN1_03 with master msl_SAPHana_HN1_HDB03 4000 #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
Se você estiver criando um cluster RHEL >= 8.x , use os seguintes comandos:
#Start HANA topology, before the HANA instance pcs constraint order SAPHanaTopology_HN1_HDB03-clone then SAPHana_HN1_HDB03-clone pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_HDB03-clone 4000 #HANA resources are only allowed to run on a node, if the node's NFS file systems are mounted. The constraint also avoids the majority maker node pcs constraint location SAPHanaTopology_HN1_HDB03-clone rule resource-discovery=never score=-INFINITY hana_nfs_s1_active ne true and hana_nfs_s2_active ne true
[1] Coloque o cluster fora do modo de manutenção. Verifique se o status do cluster é
ok
, e se todos os recursos foram iniciados.sudo pcs property set maintenance-mode=false #If there are failed cluster resources, you may need to run the next command pcs resource cleanup
Nota
Os tempos limite na configuração anterior são apenas exemplos e podem precisar ser adaptados à configuração específica do HANA. Por exemplo, talvez seja necessário aumentar o tempo limite de inicialização, se demorar mais para iniciar o banco de dados do SAP HANA.
Configurar a replicação do sistema ativa/habilitada para leitura do HANA
A partir do SAP HANA 2.0 SPS 01, o SAP permite configurações ativas/habilitadas para leitura para replicação do sistema SAP HANA. Com esse recurso, você pode usar ativamente os sistemas secundários de replicação do sistema SAP HANA para cargas de trabalho de leitura intensiva. Para suportar essa configuração em um cluster, você precisa de um segundo endereço IP virtual, que permita que os clientes acessem o banco de dados secundário SAP HANA habilitado para leitura. Para garantir que o local de replicação secundária ainda possa ser acessado após a ocorrência de uma aquisição, o cluster precisa mover o endereço IP virtual com o secundário do recurso SAP HANA.
Esta seção descreve as etapas adicionais que você deve executar para gerenciar esse tipo de replicação do sistema em um cluster de alta disponibilidade Red Hat, com um segundo endereço IP virtual.
Antes de prosseguir, certifique-se de ter configurado totalmente um cluster de alta disponibilidade Red Hat, gerenciando um banco de dados SAP HANA, conforme descrito anteriormente neste artigo.
Configuração adicional no Azure Load Balancer para configuração ativa/habilitada para leitura
Para continuar com o provisionamento de seu segundo IP virtual, verifique se você configurou o Azure Load Balancer conforme descrito em Configurar o Azure Load Balancer.
Para o balanceador de carga padrão , siga estas etapas adicionais no mesmo balanceador de carga que você criou na seção anterior.
Crie um segundo pool de IP front-end:
- Abra o balanceador de carga, selecione pool de IP frontend e selecione Adicionar.
- Digite o nome do segundo pool de IP front-end (por exemplo, hana-secondaryIP).
- Defina a Atribuição como Estática e insira o endereço IP (por exemplo, 10.23.0.19).
- Selecione OK.
- Depois que o novo pool de IP front-end for criado, observe o endereço IP do pool.
Em seguida, crie uma sonda de integridade:
- Abra o balanceador de carga, selecione testes de integridade e selecione Adicionar.
- Digite o nome da nova sonda de integridade (por exemplo, hana-secondaryhp).
- Selecione TCP como o protocolo e a porta 62603. Mantenha o valor Interval definido como 5 e o valor do limite Não íntegro definido como 2.
- Selecione OK.
Em seguida, crie as regras de balanceamento de carga:
- Abra o balanceador de carga, selecione regras de balanceamento de carga e selecione Adicionar.
- Insira o nome da nova regra do balanceador de carga (por exemplo, hana-secondarylb).
- Selecione o endereço IP front-end, o pool de back-end e a sonda de integridade que você criou anteriormente (por exemplo, hana-secondaryIP, hana-backend e hana-secondaryhp).
- Selecione Portas HA.
- Certifique-se de ativar o IP flutuante.
- Selecione OK.
Configurar a replicação do sistema ativa/habilitada para leitura do HANA
As etapas para configurar a replicação do sistema HANA são descritas na seção Configurar a replicação do sistema SAP HANA 2.0. Se você estiver implantando um cenário secundário habilitado para leitura, enquanto estiver configurando a replicação do sistema no segundo nó, execute o seguinte comando como hanasidadm:
sapcontrol -nr 03 -function StopWait 600 10
hdbnsutil -sr_register --remoteHost=hana-s1-db1 --remoteInstance=03 --replicationMode=sync --name=HANA_S2 --operationMode=logreplay_readaccess
Adicionar um recurso de endereço IP virtual secundário para uma configuração ativa/habilitada para leitura
Você pode configurar o segundo IP virtual e as restrições adicionais com os seguintes comandos. Se a instância secundária estiver inativa, o IP virtual secundário será alternado para o principal.
pcs property set maintenance-mode=true
pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.23.0.19"
pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603
pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03
# RHEL 8.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50 hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote SAPHana_HN1_HDB03-clone then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave SAPHana_HN1_HDB03-clone 5
# RHEL 7.x:
pcs constraint location g_ip_HN1_03 rule score=500 role=master hana_hn1_roles eq "master1:master:worker:master" and hana_hn1_clone_state eq PROMOTED
pcs constraint location g_secip_HN1_03 rule score=50 hana_hn1_roles eq 'master1:master:worker:master'
pcs constraint order promote msl_SAPHana_HN1_HDB03 then start g_ip_HN1_03
pcs constraint order start g_ip_HN1_03 then start g_secip_HN1_03
pcs constraint colocation add g_secip_HN1_03 with Slave msl_SAPHana_HN1_HDB03 5
pcs property set maintenance-mode=false
Verifique se o status do cluster é ok
, e se todos os recursos foram iniciados. O segundo IP virtual será executado no site secundário juntamente com o recurso secundário do SAP HANA.
# Example output from crm_mon
#Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#
#Active resources:
#
#rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm
#Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1]
# Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2]
# Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active]
# Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ]
#Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active]
# Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03]
# Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03]
# Masters: [ hana-s1-db1 ]
# Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ]
#Resource Group: g_ip_HN1_03
# nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1
# vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
#Resource Group: g_secip_HN1_03
# secnc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s2-db1
# secvip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1
Na próxima seção, você pode encontrar o conjunto típico de testes de failover a serem executados.
Ao testar um cluster HANA configurado com um secundário habilitado para leitura, esteja ciente do seguinte comportamento do segundo IP virtual:
Quando o recurso de cluster SAPHana_HN1_HDB03 for movido para o site secundário (S2), o segundo IP virtual será movido para o outro site, hana-s1-db1. Se você configurou
AUTOMATED_REGISTER="false"
o , e a replicação do sistema HANA não é registrada automaticamente, o segundo IP virtual será executado no hana-s2-db1.Quando você está testando a falha do servidor, os segundos recursos IP virtuais (secvip_HN1_03) e o recurso de porta do Balanceador de Carga do Azure (secnc_HN1_03) são executados no servidor primário, juntamente com os recursos IP virtuais primários. Enquanto o servidor secundário estiver inativo, os aplicativos conectados ao banco de dados HANA habilitado para leitura se conectarão ao banco de dados HANA primário. Este comportamento é esperado. Ele permite que os aplicativos conectados ao banco de dados HANA habilitado para leitura operem enquanto um servidor secundário não estiver disponível.
Durante failover e fallback, as conexões existentes para aplicativos que estão usando o segundo IP virtual para se conectar ao banco de dados HANA podem ser interrompidas.
Testar failover do SAP HANA
Antes de iniciar um teste, verifique o status de replicação do cluster e do sistema SAP HANA.
Verifique se não há ações de cluster com falha.
#Verify that there are no failed cluster actions pcs status # Example #Stack: corosync #Current DC: hana-s-mm (version 1.1.19-8.el7_6.5-c3c624ea3d) - partition with quorum #Last updated: Thu Sep 24 06:00:20 2020 #Last change: Thu Sep 24 05:59:17 2020 by root via crm_attribute on hana-s1-db1 # #7 nodes configured #45 resources configured # #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # #Active resources: # #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm #Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana--s1-db1 hana-s1-db2 hana-s1-db3 ] #Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] #Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s1-db1 ] # Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
Verifique se a replicação do sistema SAP HANA está sincronizada.
# Verify HANA HSR is in sync sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py" #| Database | Host | Port | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary| Secondary | Secondary | Secondary | Replication | Replication | Replication | #| | | | | | | | Host | Port | Site ID | Site Name | Active Status | Mode | Status | Status Details | #| -------- | ----------- | ----- | ------------ | --------- | ------- | --------- | ------------- | -------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- | #| HN1 | hana-s1-db3 | 30303 | indexserver | 5 | 2 | HANA_S1 | hana-s2-db3 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db2 | 30303 | indexserver | 4 | 2 | HANA_S1 | hana-s2-db2 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| SYSTEMDB | hana-s1-db1 | 30301 | nameserver | 1 | 2 | HANA_S1 | hana-s2-db1 | 30301 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db1 | 30307 | xsengine | 2 | 2 | HANA_S1 | hana-s2-db1 | 30307 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #| HN1 | hana-s1-db1 | 30303 | indexserver | 3 | 2 | HANA_S1 | hana-s2-db1 | 30303 | 1 | HANA_S2 | YES | SYNC | ACTIVE | | #status system replication site "1": ACTIVE #overall system replication status: ACTIVE #Local System Replication State #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #mode: PRIMARY #site id: 1 #site name: HANA_S1
Verifique a configuração do cluster para um cenário de falha, quando um nó perde o acesso ao compartilhamento NFS (
/hana/shared
).Os agentes de recursos do SAP HANA dependem de binários, armazenados em
/hana/shared
, para executar operações durante o failover. O sistema/hana/shared
de arquivos é montado sobre NFS na configuração apresentada. Um teste que pode ser executado é criar uma regra de firewall temporária para bloquear o acesso ao sistema de arquivos montado no/hana/shared
NFS em uma das VMs do site primário. Essa abordagem valida que o cluster fará failover se o acesso a/hana/shared
for perdido no site de replicação do sistema ativo.Resultado esperado: Quando você bloqueia o acesso ao
/hana/shared
sistema de arquivos montado no NFS em uma das VMs do site primário, a operação de monitoramento que executa a operação de leitura/gravação no sistema de arquivos falhará, pois não é possível acessar o sistema de arquivos e acionará o failover de recursos HANA. O mesmo resultado é esperado quando o nó HANA perde o acesso ao compartilhamento NFS.Você pode verificar o estado dos recursos do cluster executando
crm_mon
oupcs status
. Estado do recurso antes de iniciar o teste:# Output of crm_mon #7 nodes configured #45 resources configured #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # #Active resources: #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s1-db1 ] # Slaves: [ hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s1-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s1-db1
Para simular falhas para
/hana/shared
:- Se estiver usando NFS no ANF, primeiro confirme o endereço IP do
/hana/shared
volume ANF no site primário. Você pode fazer isso executandodf -kh|grep /hana/shared
. - Se estiver usando NFS nos Arquivos do Azure, primeiro determine o endereço IP do ponto de extremidade privado da sua conta de armazenamento.
Em seguida, configure uma regra de firewall temporária para bloquear o acesso ao endereço IP do sistema de
/hana/shared
arquivos NFS executando o seguinte comando em uma das VMs primárias do site de replicação do sistema HANA.Neste exemplo, o comando foi executado em hana-s1-db1 para o volume
/hana/shared
ANF.iptables -A INPUT -s 10.23.1.7 -j DROP; iptables -A OUTPUT -d 10.23.1.7 -j DROP
A VM HANA à qual perdeu o acesso
/hana/shared
deve reiniciar ou parar, dependendo da configuração do cluster. Os recursos do cluster são migrados para o outro site de replicação do sistema HANA.Se o cluster não tiver sido iniciado na VM que foi reiniciada, inicie o cluster executando o seguinte:
# Start the cluster pcs cluster start
Quando o cluster é iniciado, o sistema
/hana/shared
de arquivos é montado automaticamente. Se você definirAUTOMATED_REGISTER="false"
o , precisará configurar a replicação do sistema SAP HANA no local secundário. Nesse caso, você pode executar esses comandos para reconfigurar o SAP HANA como secundário.# Execute on the secondary su - hn1adm # Make sure HANA is not running on the secondary site. If it is started, stop HANA sapcontrol -nr 03 -function StopWait 600 10 # Register the HANA secondary site hdbnsutil -sr_register --name=HANA_S1 --remoteHost=hana-s2-db1 --remoteInstance=03 --replicationMode=sync # Switch back to root and clean up failed resources pcs resource cleanup SAPHana_HN1_HDB03
O estado dos recursos, após o teste:
# Output of crm_mon #7 nodes configured #45 resources configured #Online: [ hana-s-mm hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] #Active resources: #rsc_st_azure (stonith:fence_azure_arm): Started hana-s-mm # Clone Set: fs_hana_shared_s1-clone [fs_hana_shared_s1] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: fs_hana_shared_s2-clone [fs_hana_shared_s2] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: hana_nfs_s1_active-clone [hana_nfs_s1_active] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 ] # Clone Set: hana_nfs_s2_active-clone [hana_nfs_s2_active] # Started: [ hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Clone Set: SAPHanaTopology_HN1_HDB03-clone [SAPHanaTopology_HN1_HDB03] # Started: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db1 hana-s2-db2 hana-s2-db3 ] # Master/Slave Set: msl_SAPHana_HN1_HDB03 [SAPHana_HN1_HDB03] # Masters: [ hana-s2-db1 ] # Slaves: [ hana-s1-db1 hana-s1-db2 hana-s1-db3 hana-s2-db2 hana-s2-db3 ] # Resource Group: g_ip_HN1_03 # nc_HN1_03 (ocf::heartbeat:azure-lb): Started hana-s2-db1 # vip_HN1_03 (ocf::heartbeat:IPaddr2): Started hana-s2-db1
- Se estiver usando NFS no ANF, primeiro confirme o endereço IP do
É uma boa ideia testar completamente a configuração do cluster SAP HANA, executando também os testes documentados em HA for SAP HANA em VMs do Azure no RHEL.
Próximos passos
- 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
- Volumes NFS v4.1 no Azure NetApp Files para SAP HANA
- 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 VMs do Azure.