Los registros del sistema systemd-journald no son persistentes entre los arranques a pesar de que Almacenamiento = persistente

Los registros del sistema systemd-journald no son persistentes entre los arranques a pesar de que Almacenamiento = persistente

Recientemente tuve un problema con systemd que no conserva los registros de arranques anteriores. Revisé varias respuestas aquí y en otros lugares, pero no encontré una solución.

El problema es que el registro del usuario se vuelve persistente entre los arranques, pero los registros del sistema no.

/etc/systemd/journald.conf

[Journal]
Storage=persistent
SystemMaxUse=500M
SystemMaxFiles=5

journalctl -b -1

[root@2ba2de9e /var/log/journal] # journalctl --system -b -1
Data from the specified boot (-1) is not available: No such boot ID in journal

Estoy usando archlinux arm en algo de frambuesa pis

versiones4.14.24-1-ARCH systemd 237.64-1 systemd-sysvcompat 237.64-1

¿Alguien tiene una idea de por qué ocurre esto? ¿En mi máquina de escritorio esto funciona sin problemas?

Respuesta1

Es posible que Journald esté eliminando los registros antiguos porque tiene poco espacio en el disco. (No mencionaste cuánto tiempo después del inicio -b -1no funciona, por lo que no sé si tienes muchos registros del inicio actual en ese momento).

Ya lo SystemMaxUse=500Mconfiguró, pero Journald podría decidir usar menos de 500 MB si no tiene demasiado espacio libre en el disco. También hay una SystemKeepFree=...configuración, que por defecto es el 15% del tamaño del sistema de archivos (o 4 GB, lo que sea más pequeño) y el diario aplicará ese límite con más fuerza que la cantidad de espacio permitido. Si lo tiene /var/log/journalen una partición estrecha, tal vez eso sea parte del problema.

Puede usar algunos comandos para verificar cuánto espacio está usando el diario, como por ejemplo:

$ journalctl --disk-usage

Y también verá cuántas botas (y cuáles son sus tiempos e ID) conoce el diario con:

$ journalctl --list-boots

Estos también podrían ayudar a arrojar luz sobre su problema...

¡Espero que esto ayude!

Respuesta2

Mi distribución vino con este archivo: /etc/systemd/journald.conf.d/volatile-storage.conf Tenía la siguiente línea

Storage=volatile

La parte volátil debe cambiarse a persistente; de ​​lo contrario, /etc/systemd/journal.confse ignora el cambio.

Respuesta3

ExtendiendoseespejoResponda, para que Storage=volatiley Storage=autofuncione, el /var/log/journaldirectorio debe existir y algunas distribuciones no proporcionan esta ubicación de forma predeterminada.

Por lo tanto, debe crear e indicar journaldque se vacíe todo lo que esté en la memoria.

sudo mkdir /var/log/journal     ## Enable persistent logging
sudo journalctl --flush

información relacionada