LINUX.ORG.RU
ФорумAdmin

Неправильно время linux

 


0

1

Добрый день.

Linux стоит на виртуальной машине. Red Hat Enterprise Linux Server release 7.4 (Maipo) 4.1.12-112.14.13.el7uek.x86_64 GNU/Linux

На ней крутится база данных и немного стороннего софта.

На днях были жёсткие провисания, после чего время системы ушло вперёд на примерно 17мин, как с этим бороться и из-за чего это произошло? Благодарю за ответы. p.s. являюсь админом бд, но не сисадмином.


Похоже аппаратные часы глючат. Выше дельный совет дали.
Заодно посмотри логи (syslog/message) на предмет проблем.

Deleted
()
Ответ на: комментарий от DELIRIUM

Обычно гость синхронизирует время с хостом, если хост hyper-v или esxi. Это поведение конечно же можно настроить.

Deleted
()
Ответ на: комментарий от Deleted

спасибо за ответ. эта команда синхронизирует с хостом? виртуалка арендованная, хост не виден. в логах нашёл сообщения вида: systemd: Time has been changed Подскажите, как узнать причину этого действия

Alex_V
() автор топика
Ответ на: комментарий от Alex_V

Эта команда синхронизирует время с ntp сервером через интернет.

systemd: Time has been changed

когда появилось ?

Deleted
()

У вас там случаем не hyper-v?

В нём наблюдаются проблемы с синхронизацией времени в Linux системах и вообще поддержка Linux корявая.

Поставьте модули ядра для поддержки hyper-v в Linux виртуальной машине, ну либо настройте синхронизацию с NTP сервером и дёргайте его каждые допустим 5 минут.

Ну либо напишите баг репорт Microsoft.

anonymous
()
Ответ на: комментарий от anonymous

спасибо за ответ. У вас там случаем не hyper-v? --- без понятия, как об этом узнать

каждые 5 минут не надёргаешь с рабочей бд

Alex_V
() автор топика
Ответ на: комментарий от Alex_V

Спросите у администратора хост системы, если ваша виртуалка крутится где-то в интернет, а не в вашей фирме, то скорее всего ваш гипервизор это kvm или другой на базе Linux.

anonymous
()
Ответ на: комментарий от Deleted

timedatectl set-ntp true ---не помогает запустил systemctl status systemd-timesyncd.service выдало Unit systemd-timesyncd.service could not be found.

наверное, надо что-то доставить

Alex_V
() автор топика
Ответ на: комментарий от Alex_V

Ну что как маленькие? Или все еще привыкли обвязываться вариантами...ненужнод?

killall ntpd
ntpd -q
и смотрим
watch ntpq -p

Черт возьми, это очень просто. ntp «банален как пробка»

anc ★★★★★
()
Ответ на: комментарий от anonymous

каждые допустим 5 минут

Если разница незначительная, chrony всяко лучше запустить, он нежно приводит время к номинальному. А то ntp обычно через ntpdate при загрузке резко двигает время.

linuxnewbie
()
Ответ на: комментарий от linuxnewbie

А то ntp обычно через ntpdate при загрузке резко двигает время.

Ога, казалось бы причем тут ntpdate ? а «ntpd -q» Что делает? Если вы не очень в курсе, то зачем даете советы?

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

При запуске сервиса в моём дистрибутиве запускается ntpdate. Это был довольно неприятный эффект, поэтому я считаю необходимым это упомянуть.

linuxnewbie
()
Ответ на: комментарий от anc

изменил с помощью date +%T -s «11:14:00» и никаких танцев

Alex_V
() автор топика
Ответ на: комментарий от linuxnewbie

При запуске сервиса в моём дистрибутиве запускается ntpdate

Автоматизированный бардак как результат бездумной автоматизации бардака.
Подобный подход был общеупотребителен при старте машины, сразу после подъема сети и до подъема сервисов, когда нужды в плавном приведении системного времени к синхронизированному еще нет и можно безопасно сделать рывок в будущее/скачок в прошлое. Дергать ntpdate на каждом перезапуске клиентского ntp — так себе идея, так сделано в расчете на то, что и запуск клиента ntp не при старте машины тоже идея так себе (что в целом весьма похоже на правду). Этот подход отлично работает в общем случае: если машине нужна синхронизация времени, то клиент ntp стартует один раз при старте машины, предварительно время выравнивается скачком по ntpdate, никто в здравом уме не будет перезапускать этот сервис — нет ни одного разумного сценария такого использования.

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 2)
Ответ на: комментарий от anc

в rhel всё располагает к использованию systemd*, хотя я бы тоже первым делом поискал в репах ntpd.

SevikL ★★★★★
()
Ответ на: комментарий от linuxnewbie

При запуске сервиса в моём дистрибутиве запускается ntpdate. Это был довольно неприятный эффект,

Удивительно. Это в каком такое? Раньше такое было было популярно, точнее сначала это руками костыляли. Но я думал все уже давно про это забыли.

anc ★★★★★
()
Ответ на: комментарий от bormant

Автоматизированный бардак как результат бездумной автоматизации бардака.
....

Разницы между ntpdate и ntpd -g приблизительно ровно ноль. Выше я не правильно написал ключик, каюсь. Но любимая слака также запускает с -g.

anc ★★★★★
()
Ответ на: комментарий от Deleted

ntpd пасует перед аппаратными проблемами.

Ну против «аппаратных проблем» простите много кто «пасует». Хотя в случае времени и если оно не сильно волнует в части резкого скачка, можно нарисовать костыль в кроне раз в минуту.

anc ★★★★★
()
Ответ на: комментарий от anc

Мне нечего добавить к сказанному выше:
Неправильно время linux (комментарий)
У меня слишком бедная фантазия, не способная придумать полезного применения такого сценария, когда синхронизация времени не нужна при старте, но становится нужна лишь когда-то потом...

bormant ★★★★★
()
Ответ на: комментарий от bormant

Вы правильно написали

Подобный подход был общеупотребителен при старте машины, сразу после подъема сети и до подъема сервисов,

Обращаем внимание на «при старте машины» но не при старте сервиса. Вроде «понятно» что при работе мы не собираемся делать /etc/rc.d/rc.ntpd restart но «хто ж его знает?» Сам факт «мгновенного» исправления времени при старте сервиса же есть? Есть! Именно сервиса, а не «при старте машины».

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.