Чому час мого сервера EC2 вимкнено ~ 10 секунд щодня?


12

Я вважаю, що це системний файл, /etc/cron.daily/ntpupdateякий працює
ntpdate ntp.ubuntu.comщодня для синхронізації з мережевим часом. Щодня він генерує вихід, дуже подібний до цього:

/etc/cron.daily/ntpupdate:
16 Jan 06:30:42 ntpdate[21446]:
step time server 91.189.94.4 offset -12.646804 sec

Я не впевнений, що 91.189.94.4означає, але я впевнений, -12.646804 secщо мій сервер вимкнений приблизно на 12 секунд. Але я не знаю, чому вона вимикається приблизно однаково кожен день. Це екземпляр Amazon EC2 під управлінням Ubuntu.

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

Що мені робити, щоб спробувати відстежити це далі? Я не бачу жодних інших завдань на Cron в /etc/cron.*каталогах або в роботі cron користувачів ...

ОНОВЛЕННЯ

Я просто подумав, що поділюсь, що я почав бігати в цю годину, щоб побачити, чи не буде великого стрибка в певну годину. Це щогодинний вихід:

16 Jan 15:17:04 ntpdate[8346]:
adjust time server 91.189.94.4 offset -0.464418 sec

Тому, мабуть, щогодини годинник вимикається приблизно на півсекунди, так що має сенс, щоб щодня (24 години) годинник вимикався приблизно на 12 секунд. Вгадайте, годинник просто працює швидко! Дякую!


91.189.94.4 - IP-адреса ntp.ubuntu.com
Майкл Мрозек

перейдіть за цим посиланням. Ваша проблема буде вирішена. Це допомогло вирішити ту саму проблему docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

Відповіді:


13

Існує ряд факторів, які можуть змусити годинник програмного забезпечення працювати повільно або швидко. Годинники на віртуальних серверах особливо схильні до цілого класу цих проблем. 12 секунд на день - це досить погано, поки ви не натрапите на віртуальні коробки з годинниками, що працюють на швидкості 180–200%! Годинники на ноутбуках, які призупиняються, теж можуть постраждати від проблем із збереженням часу.

Ви повинні розглянути можливість відмови від цього ntupdateна користь ntpd. Назва пакета вказана ntpна Debian (і, мабуть, теж Ubuntu). Демон NTP зберігає ваш час у синхронізації набагато активніше, ніж робота із системою cron, синхронізуючись з одним або кількома іншими серверами NTP та зберігаючи годинник набагато точніше. Це ще одна реалізація цього ж протоколу ntpdate, за винятком ntpdтого, що він постійно контролює час.

Якщо ви не хочете, щоб (дуже маленькі) накладні витрати ntpd, ви можете запустити ntpdateраз на годину. Якщо припустити, що ви знімаєте 0,5 секунди щогодини, це повинно бути достатньо.


3
Проблеми з віртуальною машиною також можуть бути значною мірою вирішені за допомогою запуску ядерного ядра (CONFIG_NO_HZ). Не впевнений, чи це можливо з ядром ubuntu, чи вам доведеться створити своє власне.
Патрік

1
Я щойно перевірив конфігурацію ядра на установці Ubuntu 11 (3.0.0-14-generic), і це, безумовно, CONFIG_NO_HZувімкнено.
Олексій

0

Відповідаючи на другу половину вашого питання, чому це відбувається: Годинники комп'ютерних апаратних засобів, як відомо, неточні, тому, коли дрейф 12 секунд на день є незвичним, це насправді не все так незвично.

(Це, мабуть, через поширеність використання мережевого часу, так що дрейф навіть 12 секунд на день є незначним роздратуванням порівняно з тим, що було б у годинниках, - і таким чином апаратні компанії можуть використовувати дешеві годинникові чіпи. Фізично те, що відбувається, ймовірно, що коливання вашої годинникової мікросхеми не відкалібровано цілком правильно, тому він працює трохи, але надійно повільно.)


-1

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

Перевірте конфігурацію мінімального порогу для синхронізації.


3
Це не правда. Навпаки, NTP намагається зменшити різницю наскільки це можливо. Існує поріг в іншому напрямку: NTP не буде оновлювати годинник, якщо різниця занадто велика (підозрює неправильну конфігурацію, наприклад, неправильний часовий пояс).
Жил 'ТАК - перестань бути злим'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.