Назад | Перейти на главную страницу

Время RTC полностью сбивается через несколько минут (Ubuntu 16.04 + Hyper-V)

Мое время RTC на моем Ubuntu 16.04 сходит с ума. Через несколько минут время RTC полностью изменится.

Странно то, что если я отключу службу NTP (timedatectl set-ntp false и service ntp stop) и зафиксирую время один раз (hwclock -w), время RTC всегда будет правильным. Местное время (действительно правильное время) всегда правильно.

Моя конфигурация:

Без службы NTP:

timedatectl
Local time: Fri 2017-03-03 12:07:35 CET
Universal time: Fri 2017-03-03 11:07:35 UTC
RTC time: Fri 2017-03-03 11:07:35
Time zone: Europe/Berlin (CET, +0100)
Network time on: no
NTP synchronized: no
RTC in local TZ: no

С помощью службы NTP (запуск службы ntp):

timedatectl
Local time: Fri 2017-03-03 12:09:15 CET
Universal time: Fri 2017-03-03 11:09:15 UTC
RTC time: Fri 2017-03-03 11:09:29
Time zone: Europe/Berlin (CET, +0100)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no

и позже (с включенным NTP):

timedatectl
Local time: Fri 2017-03-03 13:12:28 CET
Universal time: Fri 2017-03-03 12:12:28 UTC
RTC time: Fri 2017-03-03 12:52:58
Time zone: Europe/Berlin (CET, +0100)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no

даже позже (с включенным NTP):

timedatectl
Local time: Fri 2017-03-03 13:42:16 CET
Universal time: Fri 2017-03-03 12:42:16 UTC
RTC time: Fri 2017-03-03 12:51:46
Time zone: Europe/Berlin (CET, +0100)
Network time on: no
NTP synchronized: yes
RTC in local TZ: no

То же самое происходит, если я использую «timedatectl set-ntp true» вместо ntpd. Это происходит только в Hyper-V. В моем Ubuntu 16.04 на esxi этой проблемы не было. Почему служба NTP меняет часы RTC? Как я могу это исправить?

Основная проблема заключается в том, что время RTC используется во время загрузки, а затем время возвращается в обратном направлении после загрузки. Некоторые службы имеют проблемы с этим и не работают должным образом, если на этот раз происходят скачки.

Вы могли бы попробовать Хронометраж PTP:

[...] Для решения этой проблемы в Linux-4.11 было введено решение: устройства PTP для KVM и Hyper-V. Эти устройства фактически не связаны с протоколом синхронизации времени PTP и не работают с сетевыми устройствами, но они представляют себя как устройства PTP (/ dev / ptp *), поэтому они могут использоваться существующим программным обеспечением для синхронизации времени. [...]

https://opensource.com/article/17/6/timekeeping-linux-vms

http://manpages.ubuntu.com/manpages/trusty/man8/ptpd.8.html