База знаний VMmanager
Режим фокусировки

Синхронизация времени. Траблшутинг

Платформа VMmanager использует встроенный сервис синхронизации времени для корректной работы кластера. Подробнее см. в статье Синхронизация времени.

Сервис синхронизации времени работает автоматически, но в некоторых случаях могут возникать проблемы, препятствующие его нормальной работе. В этой статье описаны типичные сценарии и методы их решения.

Базовая проверка службы синхронизации времени на узле

Внимание!

В версиях Astra Linux Special Edition 1.8 и новее стандартная служба ntp была заменена на ntpsec. Это влияет на расположение конфигурационного файла:

  • в Astra Linux Special Edition 1.8 и новее конфигурация находится в файле /etc/ntpsec/ntp.conf;
  • в более ранних версиях конфигурационный файл располагается по пути /etc/ntp.conf.

Учитывайте это при выполнении проверок и изменении настроек.

Если узел не добавляется в кластер или платформа сообщает о проблемах синхронизации времени, выполните следующие проверки:

  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Проверьте, какие службы для синхронизации установлены:
    Astra Linux
    sudo apt policy chrony
    sudo apt policy ntp
    Alma Linux
    sudo rpm -q chrony
    sudo rpm -q ntp
    Внимание!
    На сервере платформы и всех узлах кластеров должна быть использована одна и та же служба синхронизации. Например, если на сервере с платформой используется служба синхронизации chrony, то и на узлах необходимо использовать её же.

    Astra Linux по умолчанию использует ntp (ntpsec). Но для корректной синхронизации времени в случаях, когда платформа на Astra Linux взаимодействует с узлами на AlmaLinux, рекомендуется использовать chrony вместо ntp (ntpsec).

    Если установлены оба пакета, удалите ntp (ntpsec):

    Внимание!
    Перед удалением любого пакета убедитесь, что альтернативная служба синхронизации времени правильно настроена и работает.
    Astra Linux
    sudo apt purge ntp
    AlmaLinux
    sudo dnf remove ntp
  3. Проверьте статус служб ntp или chrony:

    Для Astra Linux SE 1.8 и новее
    sudo systemctl status ntpsec
    sudo systemctl status ntp
    sudo systemctl status chronyd 
    
  4. Проверьте конфигурацию служб ntp или chrony:

    Для Astra Linux SE 1.8 и новее
    cat /etc/ntpsec/ntp.conf
    cat /etc/ntp.conf
    cat /etc/chrony/chrony.conf

    Убедитесь, что в файле указаны корректные серверы времени. Подробнее см. в статье Синхронизация времени.

  5. Проверьте общий статус времени в системе:
    timedatectl

    Ожидаемый результат: В строке System clock synchronized должно быть значение yes.

  6. Только для службы chrony, проверьте:
    • точность синхронизации:
      chronyc tracking

      Ожидаемый результат: значение параметра Last offset — небольшое. Например, менее нескольких миллисекунд.

      Пример вывода
      Stratum         : 3
      Ref time (UTC)  : Tue Nov 18 09:42:49 2025
      System time     : 0.000004589 seconds slow of NTP time
      Last offset     : -0.000031991 seconds
    • текущие источники синхронизации:
      chronyc sources -v

      Ожидаемый результат: есть источники с состоянием ^* или ^+ . Источники с ^? означают потерю связи.

Задачи на узлах завершаются ошибкой

Проблема

Настройка синхронизации времени применяется, на узлах появляются задачи по синхронизации, но они почти сразу завершаются с ошибкой.

Решение

Чтобы найти причину проблемы:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Перейдите в контейнер vm_box:
    docker exec -it vm_box sh
  3. Проверьте следующие логи за время применения настройки:
    • /var/log/vm_writer.log;
    • /var/log/vmctl.log.

Подробнее о работе с логами см. в статье Лог-файлы платформы

Настройка не применяется на платформе

Проблема

После попытки применить настройку синхронизации времени задачи на узлах не создаются.

Решение

Чтобы найти причину проблемы:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Перейдите в контейнер vm_box:
    docker exec -it vm_box sh
  3. Проверьте следующие логи за время применения настройки:
    • /var/log/vm_writer.log;
    • /var/log/vm-install*.log — логи инсталлятора. Например, /var/log/vm-install.log.

В логах будет указана конкретная ошибка, которая мешает платформе инициировать процесс синхронизации.

Подробнее о работе с логами см. в статье Лог-файлы платформы

Узел синхронизирован, но есть предупреждение «Время не синхронизировано»

Проблема

После подключения нового узла все задачи выполнены успешно, проверки на узле показывают корректную синхронизацию, но в платформе присутствует предупреждение Время не синхронизировано.

Решение

Это нормальное поведение. Мониторинг синхронизации запускается по расписанию раз в час и мог сохранить состояние узла до синхронизации. Чтобы решить проблему, выполните одно из следующих действий:

  • подождите около часа. Предупреждение должно исчезнуть автоматически после следующего запуска мониторинга;
  • перезапустите сервис мониторинга на сервере платформы:
    docker restart nodewarden

Узел был в режиме обслуживания и его время рассинхронизировалось

Проблема

Настройки времени были изменены, пока узел был отключён. После его возвращения в кластер время на нём не синхронизировано.

Решение

Чтобы решить проблему:

  1. Перейдите в раздел Настройки в правом боковом меню → раздел Глобальные настройки → блок Время
  2. На баннере-предупреждении Время не синхронизировано на N узлах нажмите кнопку Применить настройки.

Это инициирует процесс синхронизации на всех узлах, в том числе на только что подключённом.

Появляется предупреждение «Время не синхронизировано», но время настроено корректно

Проблема

На узле кластера с ОС Astra Linux установлена и работает служба синхронизации времени ntpsec (ntp). После перезагрузки виртуальных машин (ВМ) платформа отображает предупреждение о том, что время на узле не синхронизировано. При этом время на сервере настроено правильно.

Указанное поведение возникает, потому что перезапуск ВМ приводит к перезапуску службы ntpsec (ntp). На время перезапуска синхронизация времени приостанавливается и платформа выводит ложное предупреждение о том, что время на узле не синхронизировано. Это обусловлено взаимодействием NetworkManager и службы синхронизации времени и не является ошибкой платформы.

Решение

Чтобы ложное предупреждение не появлялось, необходимо исключить из управления NetworkManager сетевые интерфейсы ВМ. Эти интерфейсы имеют характерные имена и подпадают под следующие маски:

  • vm*net* — интерфейсы сетей ВМ;
  • vm*vxlan* — интерфейсы VXLAN-сетей для ВМ.

Чтобы решить проблему:

  1. Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Проверьте, что все интерфейсы, которые соответствуют маскам, принадлежат ВМ и не выполняют других функций на узле кластера. Такие интерфейсы могут быть исключены из управления NetworkManager:
    1. Выведите список всех интерфейсов, которые подпадают под маски:
      ip link show | grep -E 'vm.*net|vm.*vxlan'
      Пример вывода
      40193: vm4385_net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UNKNOWN mode DEFAULT group default qlen 1000
      40246: vm5607_net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UNKNOWN mode DEFAULT group default qlen 1000
      40256: vm5628_net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UNKNOWN mode DEFAULT group default qlen 1000
      327: vm3909_net0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master vmbr0 state DOWN mode DEFAULT group default qlen 1000
    2. Проанализируйте вывод. Ожидаемый результат: все интерфейсы относятся к ВМ.
    3. Если на узле кластера есть интерфейсы, которые подпадают под указанные маски, но не должны быть отключены, выполните одно из следующих действий:
      • не применяйте текущее решение. Предупреждение об отсутствии синхронизации времени не повлияет на работу платформы;
      • измените маски так, чтобы под них подпадали только интерфейсы ВМ.
  3. Исключите интерфейсы ВМ из управления NetworkManager:
    1. Создайте следующий файл конфигурации 99-unmanaged-devices.conf:
      cat << EOF > /etc/NetworkManager/conf.d/99-unmanaged-devices.conf 
      [keyfile]
      unmanaged-devices=interface-name:vm*net*;interface-name:vm*vxlan* 
      EOF
      Пояснения:
      • vm*net*, vm*vxlan* — маски интерфейсов ВМ. Если вы изменили маски в п. 2.с, скорректируйте эти значения в соответствии с вашими изменениями.
    2. Перезапустите NetworkManager:
      sudo systemctl restart NetworkManager
Может быть полезно