VMmanager

Синхронизация времени

В статье используются следующие термины:

Вы можете настроить автоматическую синхронизацию системного времени на сервере платформы и узлах кластера с сервером точного времени (NTP-сервером). Синхронизация времени на серверах:

  • упрощает работу с логами. Например, при анализе инцидентов;
  • позволяет избежать проблем с работой сервиса libvirt. Если разница во времени между сервером платформы и узлом кластера больше 15 минут, сервис не может проверить валидность сертификата libvirt и завершается с ошибкой.

Доступны следующие режимы синхронизации времени:

  • сервер платформы VMmanager — время на узлах кластера синхронизируется с сервером платформы. Синхронизация времени на сервере платформы не выполняется автоматически. Вы можете настроить её вручную с помощью ПО chrony или ntp. Инструкции для закрытого контура см. в статье базы знаний Установка NTP в закрытом контуре
  • стандартные серверы времени для используемой ОС — время каждого сервера синхронизируется по локальным настройкам службы chronyd или ntpd. Этот режим используется по умолчанию;
  • другие серверы — время каждого сервера синхронизируется с NTP-серверами, указанными администратором.

Логика работы

Сервис синхронизации времени запускается при установке или обновлении платформы до версии 2025.09.1 и выше. Отключение сервиса в платформе не поддерживается. Для корректной работы сервиса на сервере платформы и узлах кластера предварительно должно быть установлено ПО для синхронизации времени:

  • chrony — для ОС AlmaLinux;
  • ntp — для ОС Astra Linux.

Перед добавлением нового узла в кластер платформа проверяет на нём работу NTP. Если проверка завершилась с ошибкой, узел не добавляется в кластер. Этапы проверки:

  1. На сервере устанавливается ПО chrony. Если chrony не удалось установить, то устанавливается ПО ntp. Если ntp не удалось установить, проверка завершается с ошибкой. 
  2. Время сервера одномоментно синхронизируется в режиме, выбранном в настройках платформы.
  3. Если синхронизация не выполнена и разница во времени между сервером платформы и узлом составляет больше 15 минут, проверка завершается с ошибкой.

Настройка синхронизации времени

Настройка режима синхронизации

Чтобы настроить режим синхронизации времени:

  1. В правом меню нажмите значок  → раздел Глобальные настройки.
  2. В разделе Время нажмите кнопку Изменить.
  3. Выберите серверы, с которыми будет синхронизироваться время:
    • Сервер платформы VMmanager;
    • Стандартные серверы времени для используемой ОС;
    • Другие серверы → укажите IP-адреса или доменные имена серверов.
  4. Нажмите кнопку Сохранить.

После применения настроек запустится синхронизация времени на узлах кластеров. Синхронизация может занять около одного часа. 

Если в момент применения настроек часть узлов была отключена от кластера (например, находились в режиме обслуживания), то после подключения этих узлов настройки синхронизации не применятся автоматически. Чтобы применить настройки:

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

Настройка уведомлений

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

Тонкие настройки синхронизации

Вы можете изменить следующие настройки синхронизации:

  • интервал проверки. Значение по умолчанию — каждые 60 минут;
  • допустимое отклонение времени сервера от источника точного времени. Значение по умолчанию — 5 секунд.

Эти параметры задаются через переменные окружения в контейнере nodewarden. Чтобы изменить их значения:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Создайте файл патча /opt/ispsystem/vm/patch_time_sync.yaml со следующим содержимым:
    version: "3.5"
    services:
      nodewarden:
        environment:
          TIME_SYNC_INTERVAL: <T_sec>
          TIME_SYNC_MAX_OFFSET: <T_ms>
    Пояснения:
    • — интервал проверки в секундах;
    • — допустимое отклонение в миллисекундах.
  3. Примените патч:
    sudo vm add-patch -p=time_sync -f /opt/ispsystem/vm/patch_time_sync.yaml
  4. Проверьте, что изменения применены: 
    sudo docker exec nodewarden env | grep TIME_SYNC

    Если патч применён успешно, вывод будет содержать новые значения переменных:

    Пример вывода
    TIME_SYNC_INTERVAL: 30
    TIME_SYNC_MAX_OFFSET: 1000

Диагностика

Для диагностики проблем, связанных с синхронизацией времени, изучите лог-файлы:

  • /opt/ispsystem/vm/install.log на сервере платформы — cинхронизация времени на сервере платформы;
  • /var/log/vm_reader.log* и /var/log/vm_writer.log* в контейнере vm_box — ошибки синхронизации времени;
  • /var/log/node_alert.log в контейнере vm_box — логи уведомлений;
  • /var/log/nodewarden.log в контейнере nodewarden — логи мониторинга.


Дата последнего обновления статьи: 30.09.2025. Статья подготовлена техническими писателями ISPsystem