Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, passaremos pelas etapas para configurar a alta disponibilidade (HA) em instâncias grandes do HANA no sistema operacional SUSE usando o dispositivo de esgrima.
Observação
Este guia é derivado do teste bem-sucedido da instalação no ambiente de instâncias grandes do Microsoft HANA. A equipe do Microsoft Service Management para instâncias grandes do HANA não oferece suporte ao sistema operacional. Para solução de problemas ou esclarecimentos sobre a camada do sistema operacional, entre em contato com a SUSE.
A equipe de gerenciamento de serviços da Microsoft configura e oferece suporte total ao dispositivo de esgrima. Ele pode ajudar a solucionar problemas de dispositivo de cercamento.
Pré-requisitos
Para configurar a alta disponibilidade usando o cluster SUSE, você precisa:
- Disponibilizar Instâncias Grandes do HANA.
- Instale e registre o sistema operacional com os patches mais recentes.
- Conecte os servidores HANA Large Instance ao servidor SMT para obter patches e pacotes.
- Configure o Network Time Protocol (servidor de tempo NTP).
- Leia e compreenda a documentação mais recente do SUSE sobre a configuração do HA.
Detalhes da configuração
Este guia usa a seguinte configuração:
- Sistema operacional: SLES 12 SP1 for SAP
- Instâncias grandes do HANA: 2xS192 (quatro soquetes, 2 TB)
- Versão HANA: HANA 2.0 SP1
- Nomes de servidores: sapprdhdb95 (node1) e sapprdhdb96 (node2)
- Dispositivo de esgrima: baseado em iSCSI
- NTP em um dos nós do HANA Large Instance
Ao configurar instâncias grandes do HANA com a replicação do sistema HANA, pode-se solicitar que a equipa de Gestão de Serviços da Microsoft configure o dispositivo de proteção. Faça isso no momento do provisionamento.
Se já for um cliente com grandes instâncias do HANA já provisionadas, ainda poderá configurar o dispositivo de proteção. Forneça as seguintes informações à equipe do Microsoft Service Management no formulário de solicitação de serviço (SRF). Você pode obter o SRF por meio do Gerente Técnico de Conta ou do seu contato da Microsoft para a integração da HANA Large Instance.
- Nome do servidor e endereço IP do servidor (por exemplo, myhanaserver1 e 10.35.0.1)
- Localização (por exemplo, Leste dos EUA)
- Nome do cliente (por exemplo, Microsoft)
- Identificador do sistema HANA (SID) (por exemplo, H11)
Depois que o dispositivo de vedação for configurado, a equipe de gerenciamento de serviços da Microsoft fornecerá o nome SBD e o endereço IP do armazenamento iSCSI. Você pode usar essas informações para configurar a configuração da esgrima.
Siga os passos nas seções a seguir para configurar o HA utilizando o dispositivo de proteção.
Identificar o dispositivo SBD
Observação
Esta secção aplica-se apenas a clientes existentes. Se você for um novo cliente, a equipe de Gerenciamento de Serviços da Microsoft fornecerá o nome do dispositivo SBD, portanto, ignore esta seção.
Modifique /etc/iscsi/initiatorname.isci para:
iqn.1996-04.de.suse:01:<Tenant><Location><SID><NodeNumber>
O Microsoft Service Management fornece essa cadeia de caracteres. Modifique o arquivo em ambos os nós. No entanto, o número do nó é diferente em cada nó.
Modifique /etc/iscsi/iscsid.conf definindo
node.session.timeo.replacement_timeout=5
enode.startup = automatic
. Modifique o arquivo em ambos os nós.Execute o seguinte comando de descoberta em ambos os nós.
iscsiadm -m discovery -t st -p <IP address provided by Service Management>:3260
Os resultados mostram quatro sessões.
Execute o seguinte comando em ambos os nós para entrar no dispositivo iSCSI.
iscsiadm -m node -l
Os resultados mostram quatro sessões.
Utilize o seguinte comando para executar o script de nova verificação rescan-scsi-bus.sh. Este script mostra os novos discos criados para você. Execute-o em ambos os nós.
rescan-scsi-bus.sh
Os resultados devem mostrar um número de LUN maior que zero (por exemplo: 1, 2 e assim por diante).
Para obter o nome do dispositivo, execute o seguinte comando em ambos os nós.
fdisk –l
Nos resultados, escolha o dispositivo com o tamanho de 178 MiB.
Inicializar o dispositivo SBD
Utilize o seguinte comando para inicializar o dispositivo SBD em ambos os nós.
sbd -d <SBD Device Name> create
Use o seguinte comando em ambos os nós para verificar o que foi gravado no dispositivo.
sbd -d <SBD Device Name> dump
Configurar o cluster SUSE HA
Use o comando a seguir para verificar se os padrões ha_sles e SAPHanaSR-doc estão instalados em ambos os nós. Se não estiverem instalados, instale-os.
zypper in -t pattern ha_sles zypper in SAPHanaSR SAPHanaSR-doc
Configure o cluster usando o
ha-cluster-init
comando ou o assistente yast2. Neste exemplo, estamos usando o assistente yast2. Faça este passo somente no nó primário.Vá para yast2>High Availability>Cluster.
Na caixa de diálogo que aparece sobre a instalação do pacote hawk, selecione Cancelar porque o pacote halk2 já está instalado.
Na caixa de diálogo exibida sobre continuar, selecione Continuar.
O valor esperado é o número de nós implantados (neste caso, 2). Selecione Seguinte.
Adicione os nomes dos nós e, em seguida, selecione Adicionar arquivos sugeridos.
Selecione Ativar csync2.
Selecione Gerar chaves pré-compartilhadas.
Na mensagem pop-up exibida, selecione OK.
A autenticação é realizada usando os endereços IP e chaves pré-compartilhadas em Csync2. O arquivo de chave é gerado com
csync2 -k /etc/csync2/key_hagroup
.Copie manualmente o arquivo key_hagroup para todos os membros do cluster depois que ele for criado. Certifique-se de copiar o arquivo de node1 para node2. Em seguida, selecione Seguinte.
Na opção padrão, a inicialização estava desativada. Mude-o para Ativado, para que o serviço de marcapasso seja iniciado na inicialização. Você pode fazer a escolha com base em seus requisitos de configuração.
Selecione Avançar e a configuração do cluster será concluída.
Configure o cão de guarda softdog
Adicione a seguinte linha a /etc/init.d/boot.local em ambos os nós.
modprobe softdog
Use o comando a seguir para atualizar o arquivo /etc/sysconfig/sbd em ambos os nós.
SBD_DEVICE="<SBD Device Name>"
Carregue o módulo do kernel em ambos os nós executando o seguinte comando.
modprobe softdog
Use o comando a seguir para garantir que o softdog esteja sendo executado em ambos os nós.
lsmod | grep dog
Utilize o seguinte comando para iniciar o dispositivo SBD em ambos os nós.
/usr/share/sbd/sbd.sh start
Use o seguinte comando para testar o daemon SBD em ambos os nós.
sbd -d <SBD Device Name> list
Os resultados mostram duas entradas após a configuração em ambos os nós.
Envie a seguinte mensagem de teste para um dos seus nós.
sbd -d <SBD Device Name> message <node2> <message>
No segundo nó (nó2), use o seguinte comando para verificar o estado da mensagem.
sbd -d <SBD Device Name> list
Para adotar a configuração SBD, atualize o arquivo /etc/sysconfig/sbd da seguinte forma em ambos os nós.
SBD_DEVICE=" <SBD Device Name>" SBD_WATCHDOG="yes" SBD_PACEMAKER="yes" SBD_STARTMODE="clean" SBD_OPTS=""
Use o seguinte comando para iniciar o serviço de marcapasso no nó primário (nó1).
systemctl start pacemaker
Se o serviço de marcapasso falhar, consulte a secção Cenário 5: O serviço de pacemaker falha mais adiante neste artigo.
Unir o nó ao cluster
Execute o seguinte comando no node2 para permitir que esse nó ingresse no cluster.
ha-cluster-join
Se receber um erro durante a junção ao cluster, consulte a seção Cenário 6: O nó2 não pode ingressar no cluster mais adiante deste artigo.
Validar o agrupamento
Utilize os comandos a seguir para verificar e, opcionalmente, iniciar o cluster pela primeira vez em ambos os nós.
systemctl status pacemaker systemctl start pacemaker
Execute o seguinte comando para garantir que ambos os nós estejam online. Você pode executá-lo em qualquer um dos nós do cluster.
crm_mon
Você também pode entrar no hawk para verificar o status do cluster:
https://\<node IP>:7630
. O usuário padrão é hacluster e a senha é linux. Se necessário, você pode alterar a senha usando opasswd
comando.
Configurar propriedades e recursos do cluster
Esta seção descreve as etapas para configurar os recursos de cluster. Neste exemplo, você configura os seguintes recursos. Você pode configurar o restante (se necessário) fazendo referência ao guia SUSE HA.
- Bootstrap de cluster
- Dispositivo de vedação
- Endereço IP virtual
Faça a configuração somente no nó primário .
Crie o arquivo de inicialização do cluster e configure-o adicionando o texto a seguir.
sapprdhdb95:~ # vi crm-bs.txt # enter the following to crm-bs.txt property $id="cib-bootstrap-options" \ no-quorum-policy="ignore" \ stonith-enabled="true" \ stonith-action="reboot" \ stonith-timeout="150s" rsc_defaults $id="rsc-options" \ resource-stickiness="1000" \ migration-threshold="5000" op_defaults $id="op-options" \ timeout="600"
Use o comando a seguir para adicionar a configuração ao cluster.
crm configure load update crm-bs.txt
Configure o dispositivo de vedação adicionando o recurso, criando o arquivo e adicionando texto da seguinte maneira.
# vi crm-sbd.txt # enter the following to crm-sbd.txt primitive stonith-sbd stonith:external/sbd \ params pcmk_delay_max="15"
Use o comando a seguir para adicionar a configuração ao cluster.
crm configure load update crm-sbd.txt
Adicione o endereço IP virtual para o recurso criando o arquivo e adicionando o texto a seguir.
# vi crm-vip.txt primitive rsc_ip_HA1_HDB10 ocf:heartbeat:IPaddr2 \ operations $id="rsc_ip_HA1_HDB10-operations" \ op monitor interval="10s" timeout="20s" \ params ip="10.35.0.197"
Use o comando a seguir para adicionar a configuração ao cluster.
crm configure load update crm-vip.txt
Use o
crm_mon
comando para validar os recursos.Os resultados mostram os dois recursos.
Você também pode verificar o status em https://<endereço IP do nó>:7630/cib/live/state.
Testar o processo de comutação automática
Para testar o processo de failover, use o seguinte comando para parar o serviço de marcapasso no nó1.
Service pacemaker stop
Os recursos falham para o nó2.
Interrompa o serviço de pacemaker no nó 2 e execute o failover de recursos para o nó 1.
Aqui está o status antes do failover:
Aqui está o status após o failover:
Solução de problemas
Esta seção descreve cenários de falha que você pode encontrar durante a instalação.
Cenário 1: O nó do cluster não está online
Se algum dos nós não aparecer online no Gerenciador de Clusters, você poderá tentar este procedimento para colocá-lo online.
Use o seguinte comando para iniciar o serviço iSCSI.
service iscsid start
Utilize o seguinte comando para aceder a esse nó iSCSI.
iscsiadm -m node -l
A saída esperada se parece com:
sapprdhdb45:~ # iscsiadm -m node -l Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] (multiple) Logging in to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] (multiple) Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.11,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.12,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.22,3260] successful. Login to [iface: default, target: iqn.1992-08.com.netapp:hanadc11:1:t020, portal: 10.250.22.21,3260] successful.
Cenário 2: Yast2 não mostra interface gráfica
A tela gráfica yast2 é usada para configurar o cluster de alta disponibilidade neste artigo. Se o yast2 não abrir com a janela gráfica como mostrado e gerar um erro Qt, siga as etapas a seguir para instalar os pacotes necessários. Caso o programa abra com a janela gráfica, você pode ignorar os passos.
Aqui está um exemplo do erro Qt:
Aqui está um exemplo da saída esperada:
Certifique-se de que você está conectado como usuário "root" e tem o SMT configurado para baixar e instalar os pacotes.
Vá para yast>Software>Gestão>Dependências e selecione Instalar pacotes recomendados.
Observação
Execute as etapas em ambos os nós, para que você possa acessar a visualização gráfica yast2 de ambos os nós.
A captura de tela a seguir mostra a tela esperada.
Em Dependências, selecione Instalar pacotes recomendados.
Reveja as alterações e selecione OK.
A instalação do pacote prossegue.
Selecione Seguinte.
Quando a tela Instalação concluída com êxito for exibida, selecione Concluir.
Use os seguintes comandos para instalar os pacotes libqt4 e libyui-qt.
zypper -n install libqt4
zypper -n install libyui-qt
Yast2 agora pode abrir a visualização gráfica.
Cenário 3: Yast2 não mostra a opção de alta disponibilidade
Para que a opção de alta disponibilidade fique visível no centro de controle yast2, você precisa instalar os outros pacotes.
Vá para Yast2>Software>Software Management. Em seguida, selecione AtualizaçãoOnline de>.
Selecione padrões para os seguintes itens. Em seguida, selecione Aceitar.
- Base do servidor SAP HANA
- Compilador e ferramentas C/C++
- Alta disponibilidade
- Base do servidor de aplicativos SAP
Na lista de pacotes que foram alterados para resolver dependências, selecione Continuar.
Na página Status da instalação em execução , selecione Avançar.
Quando a instalação estiver concluída, um relatório de instalação será exibido. Selecione Concluir.
Cenário 4: A instalação do HANA falha com erro de assemblies gcc
Se a instalação do HANA falhar, você pode obter o seguinte erro.
Para corrigir o problema, instale as bibliotecas libgcc_sl e libstdc++6, conforme mostrado na captura de tela a seguir.
Cenário 5: Falha no serviço de marcapasso
As informações a seguir serão exibidas se o serviço de marcapasso não puder ser iniciado.
sapprdhdb95:/ # systemctl start pacemaker
A dependency job for pacemaker.service failed. See 'journalctl -xn' for details.
sapprdhdb95:/ # journalctl -xn
-- Logs begin at Thu 2017-09-28 09:28:14 EDT, end at Thu 2017-09-28 21:48:27 EDT. --
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration map
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync configuration ser
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster closed pr
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [QB ] withdrawing server sockets
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync cluster quorum se
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [SERV ] Service engine unloaded: corosync profile loading s
Sep 28 21:48:27 sapprdhdb95 corosync[68812]: [MAIN ] Corosync Cluster Engine exiting normally
Sep 28 21:48:27 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager
-- Subject: Unit pacemaker.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit pacemaker.service has failed.
--
-- The result is dependency.
sapprdhdb95:/ # tail -f /var/log/messages
2017-09-28T18:44:29.675814-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.676023-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster closed process group service v1.01
2017-09-28T18:44:29.725885-04:00 sapprdhdb95 corosync[57600]: [QB ] withdrawing server sockets
2017-09-28T18:44:29.726069-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync cluster quorum service v0.1
2017-09-28T18:44:29.726164-04:00 sapprdhdb95 corosync[57600]: [SERV ] Service engine unloaded: corosync profile loading service
2017-09-28T18:44:29.776349-04:00 sapprdhdb95 corosync[57600]: [MAIN ] Corosync Cluster Engine exiting normally
2017-09-28T18:44:29.778177-04:00 sapprdhdb95 systemd[1]: Dependency failed for Pacemaker High Availability Cluster Manager.
2017-09-28T18:44:40.141030-04:00 sapprdhdb95 systemd[1]: [/usr/lib/systemd/system/fstrim.timer:8] Unknown lvalue 'Persistent' in section 'Timer'
2017-09-28T18:45:01.275038-04:00 sapprdhdb95 cron[57995]: pam_unix(crond:session): session opened for user root by (uid=0)
2017-09-28T18:45:01.308066-04:00 sapprdhdb95 CRON[57995]: pam_unix(crond:session): session closed for user root
Para corrigi-lo, exclua a seguinte linha do arquivo /usr/lib/systemd/system/fstrim.timer:
Persistent=true
Cenário 6: O Node2 não pode ingressar no cluster
O seguinte erro aparece se houver um problema com a ligação do nó2 ao cluster existente por meio do comando ha-cluster-join .
ERROR: Can’t retrieve SSH keys from <Primary Node>
Para corrigi-lo:
Execute os seguintes comandos em ambos os nós.
ssh-keygen -q -f /root/.ssh/id_rsa -C 'Cluster Internal' -N '' cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
Confirme que o nó 2 foi adicionado ao cluster.
Próximos passos
Você pode encontrar mais informações sobre a configuração do SUSE HA nos seguintes artigos:
- Cenário otimizado para desempenho do SAP HANA SR (site da SUSE)
- Funcionamento e dispositivos de isolamento (site da SUSE)
- Esteja preparado para usar o Pacemaker Cluster for SAP HANA – Parte 1: Noções básicas (blog da SAP)
- Esteja preparado para usar o Pacemaker Cluster for SAP HANA – Parte 2: Falha de ambos os nós (blog da SAP)
- Backup e restauração do sistema operacional