TL; DR Qual é a maneira melhor / mais simples de reinicializar um nó de gluster (contendo um bloco replicado) de tal forma que ele não cause impacto (isto é, congele) o cluster restante? / p>
Mais uma história:
Estou configurando o gluster em uma configuração replicada em N-way, onde cada nó contém um bloco espelhado com todos os dados compartilhados, em sistemas Debian 9.4 atualizados executando a versão empacotada do glusterfs 3.8.8.
Ao testar o que acontece na reinicialização de um nó, vi todo o cluster bloqueando o acesso de leitura / gravação por 42 segundos, congelando efetivamente qualquer coisa que tocasse o compartilhamento naquele período. Isso foi facilmente reduzido a alguns segundos, definindo network.ping-timeout
para um valor baixo, mas ainda assim mantemos o congelamento perceptível.
Matar o glusterfsd rodando o bloco em questão, logo antes da reinicialização, previne o congelamento. Os arquivos de log mostram que o glusterfsd é de fato eliminado durante a reinicialização, mas somente depois que a rede é desativada, por isso ele não pode notificar outros tijolos, que precisam descobrir que ele sumiu usando o tempo limite do ping.
Está criando um arquivo de serviço para fazer um killall
(como é sugerido no link realmente o caminho a percorrer aqui? Espero que esteja faltando alguma coisa.