journalctl - verifikasi laporan korupsi

22

Saya hanya memperhatikan verifyopsi ini journalctldan memutuskan untuk mencobanya, ini menunjukkan korupsi, apa yang menyebabkannya? dan bagaimana jika ada yang harus saya lakukan? haruskah saya selidiki lebih lanjut?

journalctl --verify
PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000.journal
Invalid object contents at 3733856░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░   0%
File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal:3733856 (of 91734016, 4%).
FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system.journal (Bad message)
Invalid object contents at 21575496░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  45%
File corruption detected at /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal:21575496 (of 44052480, 48%).
FAIL: /var/log/journal/19184893a1d645c7a43729e79b10a876/system@60e058db556e4de4b256d0b1ff176aa4-0000000000000001-0004e0b436d20aa1.journal (Bad message)
PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1000@60e058db556e4de4b256d0b1ff176aa4-0000000000000a91-0004e0b4ff9a949a.journal
PASS: /var/log/journal/19184893a1d645c7a43729e79b10a876/user-1001.journal
xenoterracide
sumber

Jawaban:

14

Saat ini, journalctl dapat mendeteksi log yang korup tetapi tidak memiliki perintah tipe "fsck" untuk mencoba memperbaiki. Journal akan secara otomatis beralih ke menulis file "bersih" baru segera setelah mendeteksi masalah, sehingga kehilangan data secara teoritis harus minimal.

Sampai ada perintah perbaikan file, menemukan file jurnal yang rusak dan menghapusnya adalah satu-satunya obat. Anda dapat menemukan lebih banyak tentang ini di mega-thread Fedora kami dengan menjadikan jurnal-saja sebagai default:

Untuk korupsi ekor, alat jurnalctl normal Anda akan memberi Anda informasi sebanyak mungkin untuk diselamatkan dari file tersebut. Ini akan menampilkan baris log lengkap terakhir dan kemudian selesai. Ini cukup dekat dengan seberapa baik Anda bisa dapatkan.

Berbagai hal berbeda untuk korupsi di tengah. Kami tidak memiliki alat yang bagus untuk menyelamatkan data dari korupsi semacam itu, tetapi data tersebut dapat ditulis dengan relatif mudah. Namun, karena mereka sangat tidak mungkin karena model jurnal "hanya-tambahkan" ini belum ada dalam daftar TODO kami.

Tentu saja, jika Anda dapat mengidentifikasi apa yang menyebabkan masalah pada awalnya dan melaporkannya, itu akan menyenangkan.

mattdm
sumber
Apa itu FAA?
xenoterracide
@ xenoterracide semacam kesalahan ketik telepon aneh apa itu. :)
mattdm
1
@lm Ya, ada perjalanan panjang dengan bus dari kantor. :) Maaf atas waktu yang terbuang - harap Anda setidaknya belajar sesuatu tentang penerbangan.
mattdm
1
pada sistem saya setidaknya jurnal yang korup tampaknya umum ... adakah saran tentang cara mengidentifikasi apa yang menyebabkan masalah?
xenoterracide
2
Pada setiap sistem systemd yang saya lihat, log jurnal yang korup adalah umum. Jawaban ini sekarang hampir 5 tahun dan sejauh yang saya tahu, tidak ada solusi untuk masalah ini.
MountainX untuk Monica Cellio
2

Tampaknya terkait dengan utas ini di wiki ArchLinux, berjudul: masalah journalctl . Tampaknya ada hubungannya dengan pengaturan ini SystemMaxUsedi /etc/systemd/journald.conf.

Utas tidak konklusif, tetapi beberapa orang beruntung untuk membersihkan log di bawah /var/log/journal/*atau meningkatkan nilai SystemMaxUse.

slm
sumber
sayangnya bermain dengan nilai itu sepertinya tidak membantu. Saya curiga membersihkan log membantu karena menghapus log yang tidak valid.
xenoterracide
@xenoterracide - Saya akan terus mencari. Ya membersihkan log tampaknya tidak masuk akal bagi saya juga, tetapi orang-orang melaporkannya jadi saya pikir itu layak dicoba.
slm