Tôi thấy một hành vi thay đổi thời gian hệ thống kỳ lạ trong một số máy chủ (phần cứng): trong / var / log / syslog, thời gian ngày trước mỗi thông điệp tường trình đôi khi thay đổi thành một thông báo ngẫu nhiên và trở lại bình thường trong thông báo tiếp theo, như sau:
Ngày 22 tháng 2 năm 2018 09:09:30 ... Ngày 22 tháng 2 năm 2018 09:09:32 ... Ngày 13 tháng 1 2610 15:37:42 ... Ngày 22 tháng 2 năm 2018 09:09:33 ... Ngày 22 tháng 2 năm 2018 09:09:34 ...
Như trong ví dụ, sự thay đổi đột ngột của thời gian ngày có thể cách xa hàng trăm năm.
Tôi có thể xác nhận rằng các thông điệp tường trình có dấu thời gian lạ không đến từ bất kỳ quy trình cụ thể nào - nó chỉ có thể xảy ra ngẫu nhiên cho mỗi người.
Và thời lượng giữa 2 thay đổi thời gian bất thường thay đổi từ vài phút đến vài giờ (tuy nhiên, tôi nghi ngờ sự thay đổi thời gian bất thường có thể xảy ra thường xuyên hơn nhưng nhiều trong số chúng không được tiết lộ trong syslog, vì nó không ghi nhật ký mỗi giây).
Ngoài ra, vì nó xảy ra trên nhiều máy chủ, tôi cho rằng đó không phải là vấn đề phần cứng.
Thông tin thêm về các sever: chúng là một bản cài đặt openstack với một bộ điều khiển và một vài nút tính toán. Mỗi máy chủ có dịch vụ ntp đang chạy. Bộ điều khiển được cấu hình để lấy thời gian từ đồng hồ phần cứng của chính nó và máy chủ nút tính toán thời gian đồng bộ hóa từ bộ điều khiển. Lưu ý rằng mỗi máy chủ có thay đổi thời gian bất thường theo tốc độ của riêng nó - có vẻ như "thời gian sai" không được đồng bộ hóa từ bộ điều khiển thông qua ntp.
Tôi đã nghi ngờ các hệ thống khách (máy ảo) trên các nút tính toán có thể ảnh hưởng đến thời gian hệ thống máy chủ của chúng. Nhưng điều này không thể giải thích tại sao bộ điều khiển có cùng một vấn đề trong khi không chạy bất kỳ máy ảo nào.
Tôi cần một phương pháp để phát hiện: ai đã thay đổi thời gian hệ thống và nó xảy ra như thế nào?
hwclock
vòng lặp? Một cái gì đó như:while true; do hwclock; sleep 5; done