A razão para esse comportamento é que o identificador da máquina em /etc/machine-id muda a cada reinicialização. Isso inicia um novo diretório de log sob /var/log/journal . Registros antigos podem ser visualizados com o seguinte comando:
journalctl --merge
Ainda estou investigando a causa da mudança do ID da máquina. O suporte do Linode está ciente do problema. Eu atualizarei esta resposta quando souber mais.
ATUALIZAÇÃO - A causa raiz do problema é simplesmente que o Linode zerou o conteúdo de /etc/machine-id de suas imagens do sistema de arquivos. O resultado é a seguinte cadeia de eventos:
- O kernel carrega e monta o sistema de arquivos raiz somente leitura
- systemd, executado a partir do ramdisk inicial, tenta ler
/etc/machine-iddo sistema de arquivos raiz (o arquivo existe, mas possui zero de conteúdo) - O systemd não pode ler o identificador da máquina, mas também não pode escrever um novo, pois o sistema de arquivos raiz é montado como somente leitura
- montagens systemd
tmpfson/etc/machine-id(Sim, aparentemente você pode montar um sistema de arquivos em um arquivo )
O - systemd invoca o systemd-machine-id-setup que gera um ID de máquina aleatório e armazena-o no agora volátil
/etc/machine-id - O sistema inicializa com um identificador de máquina volátil
Você pode verificar se o seu sistema tem um ID de máquina volátil, em vez de permanente, observando a saída de mount :
$ mount | grep machine-id
tmpfs on /etc/machine-id type tmpfs (ro,mode=755)
O problema é fácil de corrigir: basta escrever um ID de máquina persistente no real /etc/machine-id . No entanto, é mais fácil falar do que fazer, pois não é possível desmontar tmpfs de /etc/machine-id em um sistema em execução. Estes são os passos que eu dei para consertá-lo no Linode:
-
cp /etc/machine-id /etc/machine-id.copy, em seguida, desligue o sistema - No Linode Manager, vá até a guia Rescue e inicialize no modo de recuperação
- Acesse o sistema por meio do console Lish
- Monte o sistema de arquivos raiz:
mount /dev/xvda /mnt - Mova a cópia criada no passo 1 para o ID da máquina real:
mv /etc/machine-id.copy /etc/machine-id - Reinicializar
Tais são as conseqüências de um ID de máquina ausente na inicialização. Espero que isso ajude um transeunte aleatório no futuro.