У меня есть сервер RHEL6 с базой данных Oracle. Когда сервер был построен, NTP не был включен или настроен. Моя задача - сделать это, не затрагивая базу данных. Проведя некоторое исследование, я предположил, что при включении NTP на RHEL6 время будет сдвигаться до тех пор, пока оно не будет синхронизировано. Однако, когда я сделал это на своей тестовой машине, система сразу же перешла на время NTP. До включения NTP оставалось примерно 2 1/2 минуты. Когда я запустил ntpstat
команда, некоторое время не синхронизировалась, но теперь синхронизирована.
Итак, как мне включить NTP и заставить его двигаться в правильное время вместо "грубой силы" для синхронизации? Спасибо за вашу помощь!!
[root@host etc]# service ntpd status
ntpd is stopped
[root@host etc]#
[root@host etc]# ntpdate -q time.mydomain.com
server 1.1.1.1, stratum 2, offset 154.573234, delay 0.02890
2 May 15:47:59 ntpdate[21584]: step time server 1.1.1.1 offset 154.573234 sec
[root@host etc]#
[root@host etc]# service ntpd start
Starting ntpd: [ OK ]
[root@host etc]# ntpdate -q time.mydomain.com
server 1.1.1.1, stratum 2, offset -0.000118, delay 0.02876
2 May 15:50:47 ntpdate[21606]: adjust time server 1.1.1.1 offset -0.000118 sec
[root@host etc]# date
Tue May 2 15:51:01 EDT 2017
[root@host etc]# ntpstat
unsynchronised
polling server every 64 s
[root@host etc]# ntpstat
synchronised to NTP server (1.1.1.1) at stratum 3
time correct to within 80 ms
polling server every 1024 s
NTPD может медленно настраивать ваши часы, если они выключены, часы вращаются. Идея заключается в том, что медленные шаги не вызовут проблем с программными таймерами, странных пробелов в файлах журналов, ваших данных и т. Д.
Максимально возможная скорость нарастания ограничена ядром Unix до 500 частей на миллион (PPM). В результате часы могут отсчитывать 2000 секунд за каждую секунду, когда часы выходят за пределы допустимого диапазона.
Согласно странице руководства, ntpd не будет работать, если ваши часы отстают более чем на 1000 секунд. (Хотя вы можете настроить это с помощью -грамм медленное переключение на компенсацию 1000-секундного смещения уже займет более 3 недель.)
Во-вторых, скачок времени, который вы заметили, когда начали ntpd
является результатом поведения ntpd по умолчанию: пошагово, а не нарастает тактовый сигнал, когда смещение больше 128 мс при запуске ntpd. Это имеет смысл, когда ntpd запускается при загрузке, но не совсем то, что вам нужно в работающей системе.
Вы можете предотвратить это, добавив -x
переключитесь на параметры запуска для ntpd. Из руководства:
-x
Обычно время изменяется, если смещение меньше порогового значения шага, которое по умолчанию составляет 128 мс, и шаговое, если оно выше порога. Эта опция устанавливает порог на 600 с, что находится в пределах диапазона точности для ручной установки часов. Примечание. Так как скорость нарастания типичных ядер Unix ограничена 0,5 мс / с, каждая секунда настройки требует амортизационного интервала 2000 с. Таким образом, настройка до 600 с займет почти 14 дней. Этот параметр можно использовать с параметрами -g и -q.
В системах RHEL, которые могут быть скорректированы /etc/sysconfig/ntpd
config перед запуском службы ntpd:
# /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g -x"