Cách được đề xuất để đồng bộ hóa thời gian bằng NTP là gì?


18

Câu hỏi này đã xuất hiện nhiều lần theo cách bản địa hóa, câu hỏi này có nghĩa là cung cấp phương pháp ưa thích / tốt nhất để đồng bộ hóa đồng hồ của hệ thống bằng NTP.

Giải pháp nên xử lý nhiều vấn đề một cách chính xác, chẳng hạn như:

  1. Đúng thời gian khi khởi động nhanh chóng trong đó đồng hồ có độ lệch lớn.

  2. Cung cấp một cấu hình bảo vệ và / hoặc sửa chữa cho các tình huống trong đó đồng hồ đôi khi có thể phát triển một độ lệch lớn theo thời gian.

  3. Một giải pháp mạnh mẽ có thể xử lý và đồng bộ hóa thời gian nhanh chóng khi có một số vấn đề phát sinh, chẳng hạn như: "máy chủ thời gian không thể truy cập trong khi khởi động" hoặc "Internet không thể truy cập trong khi khởi động".

Giải pháp lý tưởng sẽ là một tệp cấu hình NTP duy nhất có thể xử lý tất cả điều này.

Người giới thiệu

Nhiều phần sẽ cung cấp giải pháp "tối thượng" được trải rộng trên trang web của U & L trong các câu hỏi như:

Chắc chắn là những người khác nhưng đây là những người mà tôi thấy rằng có liên quan.



1
FYI: Lập kế hoạch làm việc trên một câu trả lời toàn diện cho vấn đề này. Xem nhật ký trò chuyện bắt đầu tại chat.stackexchange.com/transcript/message/11350138#11350138
derobert

# 2 không nên xảy ra nếu ntpd đang chạy
dfc

@dfc - điều này có thể xảy ra khi VM bị tạm dừng và sau đó được nối lại, có những tình huống khác cũng có thể xảy ra.
slm

@slm "phát triển" có nghĩa là một thời gian nhảy trong xiên sau khi VM khởi động lại? Có vẻ như trong một vài giờ sau khi khởi động lại, ntpd sẽ kiểm soát được độ lệch. Chắc chắn không làm cho nó tồi tệ hơn. Các tình huống khác là gì?
dfc

Câu trả lời:


6

Vì bạn không thể sửa sai lệch lớn trong thời gian bằng cách sử dụng ntp (trừ khi bạn có vài giờ để đồng hồ bắt kịp hoặc làm chậm) Tôi làm điều này:

dịch vụ ntpd dừng
ntpdate us.pool.ntp.org
dịch vụ ntpd bắt đầu

Tôi cron nó một lần một ngày, mỗi ngày. Tôi cũng đặt ntpdate trong tập lệnh init để chạy trước khi ntp bắt đầu sau khi khởi động, vì khởi động lại và chu kỳ nguồn là những sự kiện có thể xảy ra / thường xuyên nhất gây rối với thời gian hệ thống.


Nếu ntpd đang chạy thành công, tại sao bạn cần dừng lại và khởi động nó? Đây dường như là một ý tưởng khủng khiếp.
dfc

3
ntpdate sẽ không hoạt động nếu ntpd đang chạy.
Grizly

4

Những gì bạn đang tìm kiếm là ntpdvới --panicgatetùy chọn.

Tùy chọn panicgate cho phép điều chỉnh đầu tiên sau khi ntpdbắt đầu có kích thước bất kỳ. Điều này chính xác cho trường hợp sử dụng mà bạn đã mô tả khi máy xuất hiện và đồng hồ của nó cực kỳ không chính xác. Khi ntpd bắt đầu với tùy chọn này được bật, có thể mất một chút thời gian để nó tìm thấy một máy chủ và thiết lập đồng bộ hóa với nó.

Tùy chọn đó tự nó giải quyết mục số 1 của bạn.

# 2 là ntpd vani. Ntpd giữ một tập tin trôi dạt, đó là tốc độ lệch đồng hồ của hệ thống.

# 3 cũng giống như # 1. Các --panicgatetùy chọn không giới hạn ngay lập tức khi bắt đầu ntpd, nó được giới hạn để "điều chỉnh đầu tiên", bất cứ khi nào điều chỉnh đó là.


gõ ntpd --panicgate và sau đó hẹn hò hoàn toàn không có gì
AlxVallejo

Bạn có sửa đổi các tập tin init để vượt qua -ghoặc có một tùy chọn tương đương để thiết lập ntp.confkhông?
Jérôme

Tôi mới nhận ra rằng -gnó đã được sử dụng theo mặc định trong cài đặt Debian của tôi, nhưng tôi không biết tệp init / config này được thực hiện ở đâu.
Jérôme

2

Sử dụng chronyd / chronyc thay vì ntp / ntpdate. Đó là phương thức mặc định trong fedora và, tôi cho rằng, sẽ có trong RHEL 7.0 ngay khi nó sẵn sàng.

Tài liệu có thể được tìm thấy tại http: // syncy.tuxf Family.org/

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.