Saya melihat perilaku perubahan waktu sistem yang aneh di beberapa server (perangkat keras): di / var / logs / syslog, waktu tanggal sebelum setiap pesan log terkadang berubah menjadi acak dan kembali normal di pesan berikutnya, seperti berikut:
22 Februari 2018 09:09:30 ... 22 Februari 2018 09:09:32 ... 13 Jan 2610 15:37:42 ... 22 Februari 2018 09:09:33 ... 22 Februari 2018 09:09:34 ...
Seperti dalam contoh, perubahan waktu tanggal yang tiba-tiba bisa sejauh ratusan tahun lagi.
Saya dapat mengkonfirmasi bahwa pesan log yang memiliki prangko waktu yang aneh tidak berasal dari proses tertentu - itu hanya dapat terjadi secara acak untuk setiap orang.
Dan durasi antara 2 perubahan waktu abnormal bervariasi antara beberapa menit hingga beberapa jam (namun, saya menduga perubahan waktu abnormal dapat terjadi lebih sering tetapi banyak dari mereka tidak terungkap dalam syslog, karena tidak menulis log setiap detik).
Juga, karena itu terjadi pada lebih dari satu server, saya menganggap itu bukan masalah perangkat keras.
Info lebih lanjut tentang severs: mereka adalah instalasi openstack dengan satu controller dan beberapa node komputasi. Setiap server memiliki layanan ntp berjalan. Pengontrol dikonfigurasikan untuk mengambil waktu dari jam perangkat kerasnya sendiri, dan server simpul menghitung waktu sinkronisasi dari pengontrol. Perhatikan bahwa setiap server memiliki perubahan waktu abnormal dengan kecepatannya sendiri - sepertinya "waktu yang salah" tidak disinkronkan dari controller melalui ntp.
Saya mencurigai sistem tamu (mesin virtual) pada node komputasi dapat mempengaruhi waktu sistem host mereka. Tapi ini tidak bisa menjelaskan mengapa controller memiliki masalah yang sama saat tidak menjalankan mesin virtual.
Saya perlu metode untuk mendeteksi: siapa yang mengubah waktu sistem dan bagaimana itu terjadi?
sumber
hwclock
loop? Sesuatu seperti:while true; do hwclock; sleep 5; done
Jawaban:
Script ini akan memberi tahu Anda ketika penyimpangan waktu terjadi dan perbedaan dalam pohon proses, dan ini akan membantu mengidentifikasi ini jika disebabkan oleh proses mengubah waktu sistem. Ini akan mencetak ke terminal serta masuk ke timedrift.log di dalam direktori kerja saat ini.
Kredit untuk skrip asli dalam waktu Unexplainable melompat di bug CRON yang disebutkan Stone sebagai komentar.
Bisakah Anda juga berkomentar seolah-olah Anda menggunakan rsyslog dan jika demikian, versi apa? Apakah Anda melihatnya di luar ranah rsyslog (mis. Apache logs, dll). Bug ini terlihat simmlar, dan akan lebih baik untuk mengonfirmasi atau mengesampingkannya.
sumber
Sebenarnya ini adalah duplikat dari komentar @Stone. Jelaskan kepada semua orang bahwa ini memiliki jawaban.
Singkatnya, ada bug di versi rsyslog yang saya gunakan. Yang akan menunda pesan syslog yang diterima untuk jangka waktu yang sewenang-wenang. Laporan bug ada di sini. Dan meningkatkan rsyslog memecahkan masalah. Ini bukan kesalahan kernel atau CRON.
sumber