Наскільки далеко "занадто далеко" для ntpd? Чи може він туди потрапити раптовим стрибком до великого вантажу? Чи можна це відмінити?


21

У багатьох праймерах на ntpd, як у цьому , завжди є попередження, що ntpd перестане скидати годинник "[якщо] ваш годинник занадто далеко".

Наскільки далеко "занадто далеко"?

Крім того, якщо сервер зробить раптовий стрибок до великого навантаження, наприклад, від повного простою до 100% процесора, чи призведе до підвищення температури, щоб годинник перекинувся на «занадто далеко»?

Чи можна налаштувати ntpd для скидання годинника, навіть якщо час "занадто далеко" або принаймні зробити "занадто далеко" трохи далі?


How far off is "too far off"?Залежить. Які ОС / дистрибуції ви конкретно використовуєте?
HopelessN00b

@ Сервер ubuntu HopelessN00b. Я подумав, що важко буде приколоти через складність альго, тому я можу жити з фігурою бального парку.

Усі ваші запитання є змінними, які ви можете встановити в конфігурації
Яків

@Jacob Дякую, Якобе! Ви б не хотіли показати мені де? Я ніколи не бачив нічого, що розширює діапазон скидання, і все, що я можу знайти для більшої частоти синхронізації, це те, burstщо ви забороняєте. : / Дякую заздалегідь!

Я не думаю, що навантаження чи температура процесора не повинні впливати на ваш годинник. Усі таймери на типовому комп'ютері в кінцевому рахунку походять від осцилятора, який, наскільки я знаю, знаходиться поза пакетом процесора, і на нього не впливає нічого, що робить процесор.
Нейт Елдредж

Відповіді:


19

По-перше, максимальна різниця за замовчуванням - 1000, як згадували інші. Як @kyle заявив, ви можете використовувати -gпрапор, щоб ігнорувати цей ОДНІЙ час лише для початкового встановлення годинника.

Після цього ви дійсно не повинні бачити, як ваш годинник переміщається на 1000-ій частині між оновленнями навіть під великим навантаженням, і якщо вам дійсно потрібно замінити годинник. Установки в потрібній конфігурації є minpollі maxpoll. Це дозволить вам встановити тривалість інтервалу на потужність 2 (наприклад, 10 означає 2 10 = 1024 с).

Зверніть увагу, що ваша система, швидше за все, не буде переноситись навіть під великим навантаженням, і налаштування за замовчуванням повинні постійно перевіряти її. Ви не хочете бомбардувати NTP-сервери оновленнями щосекунди, оскільки ви витрачаєте ресурси, це заблокує вас і, швидше за все, дзвінок на ваш провайдер NOC NOC. Якщо вам справді потрібен надзвичайно точний час, використовуйте GPS або налаштуйте власний сервер NTP.


2
Залежно від того, що ви робите, декілька мс, які вона може плисти за день, "суттєво" для людей.
ПлазмаHH

2
@PlasmaHH Тоді я б запропонував використовувати краще джерело часу, наприклад, GPS.
Яків

Дякую тобі, Якові! Чи знаєте ви, що таке найпоширеніша межа ставки? Я хотів би добре провести час в діапазоні 10 мс, показаному тут ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK без дорогого обладнання. Заздалегідь дуже дякую!

1
@Gracchus Це залежить від окремих серверів NTP, і вам доведеться зв’язатися з ними. На мою думку, ви намагаєтесь використовувати NTP як милицю для чогось, де вам потрібен дуже точний час. Як таке, вам слід скористатися кращим рішенням (наприклад, GPS), щоб отримати його, а не додавати навантаження на безкоштовний сервіс.
Яків

3
@Gabe: Заміна тут також може означати додати ще один годинник до системи. Крім того, існує досить багато варіантів додавання різних видів годин як карт PCI.
ПлазмаHH

12

NTPD може налаштувати ваш годинник повільними кроками, якщо його вимкнено, повернення годинника. Ідея цього полягає в тому, що повільні кроки не спричинять проблем із програмними таймерами, дивними прогалинами у файлах журналів тощо.

Максимально можлива швидкість знищення обмежена 500 частинами на мільйон (PPM) ядром Unix. Як результат, годинник може зайняти 2000 с, за кожну секунду годинник виходить за рамки прийнятного діапазону.

Відповідно до сторінки керівництва ntpd не працюватиме, якщо ваш годинник більше 1000 секунд.

Оскільки увімкнення годинника для його регулювання на 1000 секунд займе щонайменше 3 тижні, і протягом цього часу всі дати / часові позначки все ще вимкнено, це не здається необґрунтованим.

ntpdateКоманда має -b перемикач , щоб просто налаштувати час без повороту крана. Це корисно у випадках, коли місцевий системний годинник занадто сильно відхиляється від "правильного" часу.


9

Це вказано в man ntpd, і ви перекриєте його, можливо, вас зацікавить -gваріант (Зверніть увагу на ", яке 1000 с за замовчуванням":

-g Зазвичай, ntpdвиходить із повідомленням у системний журнал, якщо зміщення перевищує порог паніки, який за замовчуванням становить 1000 с. Цей параметр дозволяє встановити час без обмежень на будь-яке значення; однак це може статися лише один раз. Якщо поріг після цього ntpdбуде перевищено, він вийде із повідомленням у системний журнал. Цей параметр можна використовувати з параметрами -qта -x. tinkerІнші параметри див. У команді.

Ви можете налаштувати це в ntpd.conf. Якщо ви хочете відключити його, ви можете встановити tinker panic 0. Щоб дізнатися більше, перегляньте документацію " Різні параметри" .


Ідеально! Нарешті знайшли minpollі maxpoll. Дякую!

Кайл, це неправильно. Це одноразова команда і не буде вирішувати майбутні проблеми. Ні ви не згадуєте, minpollні maxpoll.
Яків

1
Для цього мені довелося скористатись наступними кроками: «sudo service ntp stop» «ntpq -gq» та «sudo service ntp start»
Террі Хорнер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.