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

Невозможно синхронизировать дату по NTP в Debian 9

Debian 9 в качестве гостя Hyper-V не может синхронизировать часы и установить правильную дату, всегда отстает примерно на 6 минут:

(Часовой пояс запутан)

#  systemctl start ntp
#  date
    sáb jul  7 09:42:59 -03 2018
#  timedatectl 
    Local time: sáb 2018-07-07 09:43:09 -03
    Universal time: sáb 2018-07-07 12:43:09 UTC
    RTC time: sáb 2018-07-07 12:45:22
    Time zone: XXXXXXXXXXXXXX (-03, -0300)
    Network time on: yes
    NTP synchronized: no
    RTC in local TZ: no
 #  ntpstat 
     unsynchronised
     polling server every 64 s
 #  ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.001
 66.60.22.202 (a 64.113.44.54     2 u   20   64    1   10.385  321656.   7.049
 time.unnoba.edu 200.89.75.197    3 u   19   64    1   14.119  321640. 185704.
 131.0.232.2 (st 216.218.254.202  2 u   16   64    1    9.568  321660. 185705.


What could be wrong?

Hyper-V включает службу синхронизации системных часов, которая включена по умолчанию; другими словами, ваш ntpd или systemd-timesyncd борется с Hyper-V, синхронизирующим время гостевой виртуальной машины со временем хост-системы.

Перед реализацией любой синхронизации времени на основе NTP необходимо отключить синхронизацию времени Hyper-V.

См. Этот вопрос на Superuser.SE для получения инструкций по отключению синхронизации времени Hyper-V.

Я обнаружил, что теперь systemd синхронизирует время. Так я и сделал:

chmod -x /usr/sbin/ntpd
systemctl restart systemd-timesyncd

И сейчас самое время. Однако timedatectl сообщает, что часы не синхронизируются:

timedatectl | grep no$

NTP synchronized: no
RTC in local TZ: no