Configurando verificações de integridade de manutenção de atividade para o modo de espera forçado AEM TarMK
Este artigo explica como configurar o Keepalived em um ambiente de espera fria do Adobe Experience Manager (AEM) TarMK para garantir que somente a instância do autor principal receba tráfego de usuário, impedindo que o nó de espera forneça solicitações antes da promoção manual.
Descrição description
Em implantações de autor do AEM que usam o modo de espera forçado TarMK, o Keepalived é frequentemente usado para gerenciar um IP virtual (VIP) que direciona o tráfego para o nó ativo. Por padrão, muitas configurações usam uma verificação de porta simples (como verificar se a porta 8443 está escutando) como verificação de integridade para a atribuição do VIP. No entanto, essa abordagem pode fazer com que o nó standby seja considerado íntegro e qualificado para receber tráfego, mesmo que não seja promovido para o principal. Isso pode fazer com que o tráfego do usuário ou da API seja roteado para o nó standby, que não é compatível até que seja promovido explicitamente.
Ambiente
- Autor do Adobe Experience Manager (AEM) com espera a frio TarMK
- Uma instância de autor principal e uma em espera (em espera)
- Manutenção de atividade no gerenciamento de um IP virtual (VIP) para balanceamento de carga
Sintomas
- O tráfego da API ou do usuário é observado atingindo o nó standby antes de ser promovido para o principal
- Nenhuma mensagem de erro específica é registrada, mas o tráfego é roteado para o nó standby inesperadamente
Causa
Uma verificação de integridade baseada apenas na disponibilidade da porta (como a porta 8443) não distingue entre as funções principal e standby. Isso permite que o nó em espera seja qualificado para o VIP e receba tráfego, o que não é compatível com topologias de Modo de Espera a Frio TarMK.
Resolução resolution
Siga as etapas abaixo para resolver o problema:
-
Revise sua configuração atual de verificação de integridade de manutenção de atividade. Se ele verificar apenas a porta 8443 (por exemplo: usando um comando como
/usr/bin/nc -w 3 -zv localhost 8443), não será suficiente determinar a função do nó. -
Substitua a verificação de porta por um script personalizado de verificação de integridade que valida se o nó está sendo executado como a instância primária do autor. Por exemplo, você pode usar um arquivo de marcador ou outro indicador confiável que esteja presente somente no nó principal.
-
Exemplo de script personalizado de verificação de integridade (usando um arquivo marcador):
bash #!/bin/bash if [ -f /opt/aem/is_primary ] ; then exit 0 else exit 1 fiVerifique se o arquivo de marcador (por exemplo:
/opt/aem/is_primary) existe somente no nó primário. Remova ou crie este arquivo como parte de seu processo de promoção manual. -
Atualize a configuração Keepalived para usar esse script personalizado como a verificação de integridade para qualificação do VIP.
-
Durante a operação normal, verifique se o script de verificação de integridade retorna sucesso somente no nó principal. O nó standby não deve passar pela verificação de integridade até que seja promovido.
-
Para promoção manual:
- Quando o failover for necessário, pare o AEM no nó principal atual.
- Promova o nó standby para o principal atualizando sua configuração e criando o arquivo de marcador (Por exemplo:
touch /opt/aem/is_primary). - Inicie o AEM no novo nó principal.
- O script de verificação de integridade agora será bem-sucedido, permitindo que o Keepalived anuncie o VIP no novo principal.
- Recrie ou reconfigure o nó standby conforme necessário para alta disponibilidade contínua.
- Verifique se apenas o nó principal ativo anuncia o VIP e recebe o tráfego do usuário testando o acesso por meio do VIP após a promoção.