Làm thế nào để kiểm tra nếu NTP điều chỉnh thời gian hệ thống trên Linux?


18

Tôi có một cỗ máy gặp một số rắc rối với một số thứ thời gian thực mà tôi đang chạy. Một dẫn mà tôi có là daemon NTP có thể đã di chuyển thời gian, gây ra thời gian chờ sai.

Làm thế nào để tôi biết nếu NTP daemon thực sự đã di chuyển thời gian? Bất kỳ bản ghi? Tôi thấy NTP daemon khởi động lại trong / var / log / message, nhưng tôi không biết có nên điều chỉnh thời gian không.

để làm rõ: tôi cần hiểu nó từ nhật ký, sau sự kiện. Có thể là 2 ngày sau khi thời gian được điều chỉnh. Chạy các lệnh để xem trạng thái hiện tại không có ích.

Câu trả lời:


8

Bạn có thể sử dụng ntpdc -c sysinfolệnh để truy vấn trạng thái ntpd. Nó trả về một đầu ra tương tự như sau:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s

4

Driftfile (/ var / lib / ntp / drift) không đo lường sự khác biệt giữa thời gian cục bộ và thời gian được tính bởi ntpd dựa trên thời gian máy chủ liên hệ.

Thay vào đó là độ lệch ước tính (lỗi tần số) của đồng hồ cục bộ (tính bằng ppm). Giá trị này được cập nhật bởi ntpd mỗi giờ một lần và không giảm theo thời gian.

Theo như tôi có thể nói giá trị được sử dụng bởi ntpd sau khi khởi động lại để ước tính mức độ sai của đồng hồ cục bộ (đồng hồ cục bộ chạy ngay cả khi tắt máy).

Ví dụ: Nội dung của tệp: 5 Máy bị tắt nguồn 1 ngày (86400 giây) 5 ppm của 86400 là 0,432 => Đồng hồ cục bộ là 0,432 s "trong tương lai"

Các điểm là: - ntpd hiện có thể áp dụng hiệu chỉnh gần đúng đầu tiên cho giờ địa phương (-0.432 giây) ngay sau khi bắt đầu - ntpd biết ngay, đồng hồ cục bộ bị sai như thế nào (trong ví dụ này: 5 ppm)

(Tôi không được phép nhận xét về nhận xét của Sirex vì vậy tôi đã thêm một nhận xét mới)


3

bạn nên có một giá trị trong tập tin drift. Vị trí của nó sẽ nằm trong /etc/ntp.conf của bạn

ví dụ: "driftfile / var / lib / ntp / drift"

tập tin này được sử dụng để ghi lại đồng hồ của bạn cách bao xa so với mức cần thiết và từ từ ntp sẽ hạ thấp giá trị này khi thời gian tiến triển. - Nó sẽ không làm điều đó trong một lần vì điều đó có thể gây ra các vấn đề về thời gian trên hệ thống.


Đây là thông tin tốt, cảm ơn. Tuy nhiên, sau khi thời gian đã được di chuyển, điều này sẽ là 0 và tôi sẽ mất thông tin của mình. Không đăng nhập bất kỳ tin nhắn nào để cho tôi biết nó đã hoàn thành chưa?
n-alexander

3

ntpq -nc peers sẽ hiển thị cho bạn trạng thái đồng bộ hóa của bạn với tất cả các đồng nghiệp.


2

Xin lỗi, đây là một chủ đề cũ - hy vọng tôi đã không phá vỡ một quy tắc ở đây :)

Trong /etc/ntp.conf, tôi có một dòng giống như thế này:

#statsdir /var/log/ntpstats/

Các mô tả nói để bỏ ghi chú dòng này để đăng nhập thống kê. Tôi chỉ mới thiết lập ntp trên máy chủ của chúng tôi, vì vậy tôi không chắc nó đăng nhập cái gì, nhưng cuối cùng tôi đã tìm kiếm thông tin tương tự, vì vậy hy vọng điều này sẽ giúp được người khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.