As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Active/passive AWS IoT Greengrass V2 service
Nessa configuração, você executa AWS IoT Greengrass V2 como um serviço systemd em uma instância por vez. O Pacemaker gerencia a replicação do DRBD, a montagem do sistema de arquivos e o serviço conforme os recursos solicitados. AWS IoT Greengrass V2 Se a instância primária falhar, o Pacemaker promove o DRBD da instância em espera para primário, monta o sistema de arquivos e inicia. AWS IoT Greengrass V2
Importante
Conclua todas as etapas Pré-requisitos e configuração do cluster antes de continuar.
Atenção
Execute os comandos a seguir somente na instância primária, a menos que indicado de outra forma.
Anexe o recurso DRBD
Verifique se o Pacemaker está funcionando antes de continuar.
sudo systemctl status pacemaker
Desative o STONITH antes de criar qualquer recurso. Sem um dispositivo de vedação configurado, o Pacemaker se recusará a iniciar recursos se o STONITH estiver ativado (o padrão).
sudo pcs property set stonith-enabled=false
Atenção
O STONITH está desativado aqui para simplificar este tutorial. Em um ambiente de produção, você deve habilitar o STONITH e configurar um agente de esgrima (por exemplo, para instâncias do Amazon fence_aws EC2) para evitar a divisão cerebral e a corrupção de dados.
Desmonte o dispositivo DRBD na instância primária e desative o DRBD em todas as instâncias para que o Pacemaker tenha controle total do ciclo de vida do DRBD.
# On the primary instance only sudo umount /greengrass/v2 # On all instances sudo drbdadm down greengrass
Crie o recurso DRBD no Pacemaker.
sudo pcs resource create drbd-greengrass \ ocf:linbit:drbd drbd_resource=greengrass \ op monitor interval=15s role=Promoted \ op monitor interval=30s role=Unpromoted
Configure o recurso como promotível para que somente uma instância seja primária por vez. clone-maxDefina o número de instâncias em seu cluster.
sudo pcs resource promotable drbd-greengrass \ promoted-max=1 promoted-node-max=1 clone-max=2 clone-node-max=1 notify=true
Anexar o recurso do sistema de arquivos
Todos os AWS IoT Greengrass V2 recursos são armazenados em/greengrass/v2. Essa etapa faz com que o Pacemaker monte o dispositivo DRBD nesse caminho na instância promovida. Isso garante que o diretório AWS IoT Greengrass V2 de dados seja replicado e esteja disponível durante o failover.
Crie o recurso do sistema de arquivos em um estado desativado. Você o habilitará depois que todas as restrições estiverem em vigor.
sudo pcs resource create fs_greengrass Filesystem \ device="/dev/drbd0" \ directory="/greengrass/v2" \ fstype="ext4" \ op start timeout=15s \ op stop timeout=15s \ --disabled
Verifique os recursos
Verifique se os recursos foram criados e propagados para todas as instâncias.
sudo pcs status
Provisionar e anexar o AWS IoT Greengrass V2 recurso systemd
-
Provisão AWS IoT Greengrass V2. Como você desmontou o dispositivo DRBD anteriormente, ative o modo de manutenção e remonte-o para provisionamento:
# Enable maintenance mode to prevent Pacemaker from interfering sudo pcs property set maintenance-mode=true # Check which node Pacemaker promoted to Primary sudo pcs status | grep drbd-greengrass # On the Promoted node, mount the DRBD device sudo mount /dev/drbd0 /greengrass/v2Provisione AWS IoT Greengrass V2 na instância primária usando o provisionamento automático. Siga as instruções em Instalar o software AWSAWS IoTAWS IoT Greengrass V2 principal com provisionamento automático de recursos.
Certifique-se de que AWS IoT Greengrass V2 esteja instalado no
/greengrass/v2diretório (o DRBD-mounted caminho). Após o provisionamento, desmonte o dispositivo e desative o modo de manutenção:sudo umount /greengrass/v2 sudo pcs property set maintenance-mode=false -
Desative o AWS IoT Greengrass V2 serviço para que o Pacemaker possa gerenciá-lo em vez do systemd.
sudo systemctl disable greengrass sudo systemctl stop greengrass -
Instale os pré-requisitos de tempo de execução em todas as instâncias em espera. AWS IoT Greengrass V2 requer Java e outras dependências que o provisionador automático instale fora do diretório. DRBD-replicated Instale a mesma versão do JDK em cada instância em espera. Consulte AWS IoT Greengrass V2 os requisitos para ver a lista completa de pré-requisitos.
-
Crie um arquivo de unidade systemd em outras instâncias. Copie o arquivo da unidade AWS IoT Greengrass V2 systemd para as instâncias em espera para que o Pacemaker possa iniciar o serviço em qualquer instância durante o failover.
# On the primary instance, view the unit file location systemctl show -p FragmentPath greengrassCopie esse arquivo para o mesmo caminho em cada instância. Em seguida, recarregue o systemd em cada instância em espera para que ele reconheça o novo arquivo de unidade.
# On each standby instance sudo systemctl daemon-reload -
Anexe o AWS IoT Greengrass V2 recurso.
sudo pcs resource create greengrass systemd:greengrass \ op monitor interval=10s \ op start timeout=60s \ op stop timeout=60s \ --disabled
Crie restrições de recursos
Crie uma ordem de restrição para que o Pacemaker gerencie os recursos na ordem correta durante o failover.
sudo pcs constraint order promote drbd-greengrass-clone then start fs_greengrass sudo pcs constraint colocation add fs_greengrass with Promoted drbd-greengrass-clone score=INFINITY sudo pcs resource group add greengrass-group fs_greengrass greengrass sudo pcs constraint location greengrass-group prefersinstance1=200
Ative os recursos agora que as restrições estão em vigor.
sudo pcs resource enable fs_greengrass sudo pcs resource enable greengrass
Verifique o estado final das restrições de recursos.
sudo pcs constraint show
A saída deve mostrar as seguintes restrições:
-
Restrições de localização — O grupo
greengrass-groupde recursos prefere a instância primária. -
Restrições de colocation —
fs_greengrassfunciona com o promovidodrbd-greengrass-cloneegreengrassfunciona com.fs_greengrass -
Restrições de ordem — O DRBD promove antes que o sistema de arquivos seja iniciado e o sistema de arquivos seja iniciado antes. AWS IoT Greengrass V2
Verifique o failover
Simule um failover para verificar se a configuração funciona.
-
Verifique o estado inicial. Verifique se AWS IoT Greengrass V2 está sendo executado na instância primária.
sudo pcs status -
Simule a falha da instância primária. Coloque o nó primário no modo de espera para acionar a migração de recursos.
sudo pcs node standbyprimary-node-name -
Verifique o failover. Na instância em espera, verifique o status do cluster. O DRBD, o sistema de arquivos e AWS IoT Greengrass V2 os recursos agora devem estar em execução na instância em espera.
sudo pcs status -
Recupere a instância com falha.
sudo pcs node unstandbyprimary-node-nameQuando o nó é colocado novamente on-line, ele se junta novamente ao cluster como uma instância em espera. A instância que foi promovida durante o failover continua sendo a instância primária.
Solução de problemas
Se os recursos entrarem em um estado de falha, você poderá limpá-los e reiniciá-los com o comando a seguir.
sudo pcs resource cleanup