Sim, mas apenas quando o grafo de dependências é explícito. Um servidor pode ligar-se automaticamente após a recuperação da UPS, enquanto as aplicações continuam a falhar porque o armazenamento, o DNS, as bases de dados ou as redes ainda não estão prontos.
A ordem de arranque dos processos não é o mesmo que a prontidão dos serviços. Utilize dependências do systemd para recursos ao nível do anfitrião e verificações de estado para contentores e aplicações. Esta distinção determina a configuração segura, o método de validação e o ponto de reversão.
Escreva o grafo de dependências antes de o automatizar
Enumere a cadeia desde a alimentação e a rede, passando pelos discos encriptados, montagens NAS, ambiente de execução de contentores, bases de dados, serviços de aplicações e proxy inverso. Indique quais as dependências locais e quais estão noutro servidor.
Defina um sinal de prontidão para cada dependência com estado: caminho montado, consulta à base de dados, pesquisa DNS ou endpoint de estado da aplicação. Evite esperas fixas, porque o tempo de recuperação varia após um encerramento anómalo.
Defina um estado de falha limitado para que a ausência do NAS não faça com que uma aplicação escreva num diretório local vazio.
Coordene cada camada de controlo
Utilize as relações `After=` e `RequiresMountsFor=` do systemd para serviços do anfitrião e montagens remotas. Faça com que a unidade da pilha de contentores dependa do Docker e das unidades de montagem necessárias.
No Compose, adicione verificações de estado reais e utilize `depends_on` com `condition: service_healthy` quando suportado. As aplicações devem continuar a repetir as ligações à base de dados, porque as dependências podem falhar após o arranque.
Utilize a tabela abaixo para atribuir cada dependência à camada que a consegue realmente observar.
| Estado observado | Veredicto | Próxima ação |
|---|---|---|
| Montagens de discos e NAS | Dependências de montagem do systemd | Condicionar os serviços com estado |
| Base de dados pronta para consultas | Verificação de estado do contentor | Condicionar as aplicações |
| Aplicação externa acessível | Repetição pela aplicação e monitorização | Não utilizar uma espera fixa |
Planeie a recuperação entre dois servidores
Inicie primeiro o servidor de armazenamento ou de infraestrutura e, em seguida, aguarde que as partilhas exportadas e as bases de dados fiquem em bom estado antes de disponibilizar os serviços de aplicações no segundo anfitrião. O software da UPS não deve simplesmente ligar ambos os anfitriões em simultâneo.
O artigo da ZimaSpace sobre sinais da UPS e máquinas virtuais mostra por que motivo a cadeia de controlo atravessa várias camadas.
Um guia independente sobre systemd e Compose explica as condições de corrida na ordem de arranque e encerramento.
Mantenha um procedimento manual de arranque a frio para o caso de a automatização parar numa verificação de estado falhada. Deve indicar a verificação, o tempo limite esperado, a repetição segura e o responsável por cada serviço.
Teste o estado completo de recuperação da UPS
Faça um encerramento controlado com alimentação da bateria, restabeleça a corrente elétrica e registe os carimbos temporais do arranque do anfitrião, da prontidão das montagens, do estado da base de dados, do estado da aplicação e da disponibilidade do proxy.
Repita o teste com um NAS atrasado e com uma recuperação da base de dados mais demorada do que o normal. Os serviços devem aguardar ou falhar de forma visível, em vez de arrancarem sem o estado necessário.
Prossiga quando tanto a recuperação normal como a atrasada preservarem a ordem e os caminhos dos dados. Pare se as políticas de reinício ignorarem a prontidão, se as aplicações escreverem em diretórios alternativos ou se uma dependência não tiver um sinal de estado mensurável.
Suporte e Dicas
Mais para Ler

É possível substituir a ventoinha ruidosa de um mini PC sem alterar o controlo térmico?
Sim - se a substituição corresponder à interface elétrica, ao fluxo de ar e aos sinais de feedback; o encaixe do conector, por si...

É possível utilizar Wake-on-LAN após uma perda total de energia?
Por vezes - o WOL precisa de alimentação em standby e do estado do firmware/NIC para recuperar depois de o fornecimento de CA ser...

Um mini PC pode funcionar sem um ecrã após uma reposição da BIOS?
Normalmente, sim, mas uma reposição da BIOS pode restaurar as definições de visualização, arranque, paragem e alimentação que impedem um arranque headless fiável.

