Jump to content

Recommended Posts

Posted (edited)

День добрый, коллеги!
Имеем кластер из трех хостов на Proxmox.
Есть массив на ceph.
С некоторого времени (месяц-два) начались проблемы с синхронизацией времени из внешних источников.
Возможно, в связи с ними, периодически возникают проблемы с к кластером ceph.
Первый раз сбой (уже не помню, повлекло ли это сбой массива, там ещё были проблемы с райд на одном из серверов, заменил контроллер) был, когда отвалился сервер ВНИИФТРИ (до этого использовал два их наиболее близких сервера). В логах маршрутизаторов стали часто появляться записи о коррекции времени до 10+ секунд.
Также, связываю возможность программных сбоев из-за частых периодических обновлений ПО Proxmox, которые я периодически накатываю (мало ли, что там привнесли).
После отвала сервера ВНИИФТРИ стал использовать ntp.pool.org pool.ntp.org.
Имею два локальных ntp-сервера в контейнерах proxmox. Возможно, тут есть часть проблемы, мало ли, в каком ядре гипервизора что-то сменилось (обновляю постоянно) в плане "течения времени".
Сейчас один настроен на ntp.pool.org pool.ntp.org, второй настроен на синхронизацию с первым. Периодически хосты обновляю и перезагружаю поочередно вместе с контейнерами, поэтому и для дублирования, использую два сервера.
Серверы и клиенты (в основном) на chrony. При возможности везде указаны оба сервера.
В консоли ceph практически всегда висит предупреждение о рассинхроне какого-то из хостов.
Логи ceph в день сбоя скопировал, будем ещё изучать.
Возможно, укажете на ошибку схемы, либо подскажете, то, что изменит ситуацию.
Может, если поможет, можно вынести ntp-сервера на виртуалки (не контейнер), либо на физические хосты. Либо оставить один экземпляр. Отключить внешнюю синхронизацию...

Edited by tcup
Posted

Pool.ntp.org тоже часто страдает, то половина серверов выпадет, то подсунет сбитый источник. Советую ниифтри бекапить MSK-IX, https://kb.msk-ix.ru/public/ntp-server/

 

Касаемо синхронизации вообще - надо убедиться, что хосты идентично настроены в плане powerplan, фич процессора, таймеров BIOS, и даже шедулера ОС. Технологии динамической частоты и различных таймеров, используемых ядром,  способны увести часы достаточно быстро, быстрее, чем дефолтные интервалы внешней синхронизации.

Posted (edited)
3 hours ago, murano said:

Для начала оставьте один ntp локальный.

Оставил, плавает пока до 5 сек. на маршрутизаторах

В консоли ceph визуально меньше предупреждений о рассинхроне

2 hours ago, jffulcrum said:

Pool.ntp.org тоже часто страдает, то половина серверов выпадет, то подсунет сбитый источник. Советую ниифтри бекапить MSK-IX, https://kb.msk-ix.ru/public/ntp-server/

 

Касаемо синхронизации вообще - надо убедиться, что хосты идентично настроены в плане powerplan, фич процессора, таймеров BIOS, и даже шедулера ОС. Технологии динамической частоты и различных таймеров, используемых ядром,  способны увести часы достаточно быстро, быстрее, чем дефолтные интервалы внешней синхронизации.

Попробуем, спасибо!

Edited by tcup
Posted
2 часа назад, tcup сказал:
5 часов назад, murano сказал:

Для начала оставьте один ntp локальный.

Оставил, плавает пока до 5 сек. на маршрутизаторах

Видимо я не очень понимаю текущую структуру и образцовый источник. При локальном NTPS рассинхрон в 5 секунд возможен, только если сам NTPS получает откуда-то этот рассинхрон.

Да, если что - работа ТСПУ иногда влияет на NTP.

Posted (edited)
2 hours ago, straus said:

Видимо я не очень понимаю текущую структуру и образцовый источник. При локальном NTPS рассинхрон в 5 секунд возможен, только если сам NTPS получает откуда-то этот рассинхрон.

Да, если что - работа ТСПУ иногда влияет на NTP.

Образцового нет источника, используются внешние "открытые". Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники

Edited by tcup
Posted
21 минуту назад, tcup сказал:

Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники

И получить рассинхронизацию???

Posted (edited)

Возможно придётся самому лепить некое несерийное изделие.

Для основного источника времени берётся практически любая плата GPS-приёмника. Питание обычно 3.3 V, это делается LDO-стабилизатором из 5 V. На выходе там банальный COM-порт с уровнями 3.3 V. Если цеплять его на стандартный COM - нужен преобразователь уровня, например на MAX3232. Если цеплять на USB - шнурок от древнего кнопочного мобильника. Антенну нужно запихать в некую конструкцию, которая будет мешать заджаммить и заспуфить - кондуктивные кольца, РЭБовцы подскажут, это известная нынче тема. Всё время, пока есть сигнал со спутника - эта штуковина будет выдавать STRATUM 1. Ну естественно, это надо вынести на окно или за окно. Стандартный COM в этом отношении лучше, ибо позволяет 12 метров, а вот USB только 5 метров. Для максимальной точности можно ещё использовать сигнал 1PPS. Смысл в том, что задержки передачи через COM и обработки в софте дают погрешность времени со спутника в десяток миллисекунд, а при использовании сигнала 1PPS погрешность измеряется сотнями пикосекунд (лучше на 5 порядков). Правда тут уже и софт и операционка должны быть реалтаймовые.

Когда пропадает сигнал со спутника - софт этой нестандартной железяки должен переходить на внешние NTP, при этом ещё и сверяя их между собой, плюс отлавливая ситуацию, когда ТСПУ задерживает пакеты на разное время, что влияет на NTP.

Также в качестве резерва можно добавить любые коммерческие точные часы - плату с рубидиевым или каким-либо другим стандартом частоты (даже термостатированный хороший кварцевый резонатор даст уход, который позволит приемлемо работать в автономе 2-3 суток).

Есть любительские проекты, где с GPS-приёмника берётся не только готовое время, а ещё по сигналу 1PPS подстраивается местный генератор, что даёт образцовую частоту с точностью спутниковых атомных часов.

 

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

Edited by straus
Posted

Вот мой самопал, делалось ещё до коронавируса. В качестве приёмника GPS взята древняя плата от навигатора Packard Bell Compasseo. Плата USB-COM прилеплена прямо к приёмнику. Внешняя антенна куплена на барахолке. Добавлен ещё ионистор на вывод резервного питания приёмника. По теперешним ценам это всё получается около 50 гривен (100 рублей).

По нынешним временам чипсет SiRF Star III уже дже не вчерашний, а позавчерашний день, но работает. Сейчас конечно проще взять более современный uBlox.

После установки драйвера под используемый USB-COM сия приблуда подхватывается любой программой, которая умеет брать сообщения NMEA0183 с компорта, например любые карты - Visicom, Navitel и т.д. Ну и программами точного времени.

 

 

GPS.jpg

Posted
7 часов назад, tcup сказал:

Образцового нет источника, используются внешние "открытые". Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники

я не понимаю, как люди получают рассинхрон.

типовая схема - две виртуалки на разных физических хостах (прибитые к ним гвоздями) с белыми ip синхрят время по вниифтри, мских (упомянутыми здесь), и заодно по гуглу и клаудфларе (или не cf, а кто-то еще, уже сам не помню).

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

рассинхрона нет никакого и нигде (и никогда).

 

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

 

файерволлами-то udp/123 на in нигде не режется? ntp show peers/associations везде "красиво" выглядит?

Posted

Если ТСПУ задерживает соседние пакеты на разное время - протокол не может правильно скомпенсировать задержку, и при очередной синхронизации время "прыгает". На самом деле NTP достаточно устойчив к среде передачи с непостоянной задержкой, но и тут есть ограничения.

Posted (edited)
On 8/28/2026 at 8:56 PM, sdy_moscow said:

И получить рассинхронизацию???

Я так понимаю, у меня много пробелов данном вопросе.

Думал, что наиболее критичному ресурсу ко времени - кластеру гипервизоров и кластеру ceph в одном, дать для синхронизации локальный автономный ntp-сервер (Возможен ли такой вариант ручной? подводить его периодически? Как только будет при этом будут на скачки реагировать кластера, опять же). 

Остальным ресурсам - прописать внешние, по факту, скачащие сервера.

Не понятно, как будут жить виртуалки/контейнеры на этом же кластере, будут ли брать время с него, либо жить себе нормально изолированно, синхронизируясь со внешкой, убегая по времени с хостами.

О рассинхроне чего с чем идет речь?

 

On 8/28/2026 at 9:38 PM, straus said:

Возможно придётся самому лепить некое несерийное изделие.

...

Интересная тема, не ясно, на сколько нужно оно нам пока

 

On 8/29/2026 at 4:16 AM, nixx said:

я не понимаю, как люди получают рассинхрон.

типовая схема - две виртуалки на разных физических хостах (прибитые к ним гвоздями) с белыми ip синхрят время по вниифтри, мских (упомянутыми здесь), и заодно по гуглу и клаудфларе (или не cf, а кто-то еще, уже сам не помню).

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

рассинхрона нет никакого и нигде (и никогда).

 

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

 

файерволлами-то udp/123 на in нигде не режется? ntp show peers/associations везде "красиво" выглядит?

Работало пару лет нормально. До какого-то момента не видел почти (вроде) на маршрутизаторах записей о коррекции времени, потом начали появляться. Первый раз сбойнуло недавно, когда отвалился ресурс ВНИИФТРИ. Видимо, я последовательно перезагрузил хосты с прибитыми контейнерами с ntp-серверами, когда обновление накатывал гипервизоров.

Трафик ntp не мучаем, может выше пров. Надо, кстати, попробовать через другого направить

Edited by tcup
Posted (edited)
chronyc> sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- 89-179-240-219.static.co>     2   6   377    61    -15ms[  -15ms] +/-   46ms
^x mail.rashnikov.name           2   6   377     2   -148ms[ -148ms] +/-   57ms
^- as57164-151-0-2-54.htel.>     2   6   377    21   -149ms[ -149ms] +/-   46ms
^x mail.redway.ru                2   6   377    41    -20ms[  -20ms] +/-   25ms
chronyc> tracking
Reference ID    : 59B3F0DB (89-179-240-219.static.corbina.ru)
Stratum         : 3
Ref time (UTC)  : Mon Aug 31 02:30:43 2026
System time     : 0.041587289 seconds slow of NTP time
Last offset     : -0.114049703 seconds
RMS offset      : 0.065154314 seconds
Frequency       : 162.524 ppm fast
Residual freq   : -737.700 ppm
Skew            : 115.806 ppm
Root delay      : 0.072049290 seconds
Root dispersion : 0.056479629 seconds
Update interval : 64.8 seconds
Leap status     : Normal

Такой есть вывод в chronyc @nixx

Edited by tcup
Posted
chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* ntp.sstf.nsk.ru               1   6   377    26  +1697us[+5913us] +/- 4775us
^- ip83-228.ipblk.ksn.ru         1   6   377    25  +1776us[+1776us] +/- 4315us
^- ntp.ix.ru                     1   6   377    30  -4947us[ -732us] +/-   29ms
root@dns:/etc/chrony# chronyc tracking
Reference ID    : 50F253E3 (ntp.sstf.nsk.ru)
Stratum         : 2
Ref time (UTC)  : Mon Aug 31 03:03:17 2026
System time     : 0.026035927 seconds fast of NTP time
Last offset     : +0.004215654 seconds
RMS offset      : 0.025674693 seconds
Frequency       : 162.524 ppm fast
Residual freq   : +9.058 ppm
Skew            : 115.806 ppm
Root delay      : 0.007194872 seconds
Root dispersion : 0.007913897 seconds
Update interval : 64.6 seconds
Leap status     : Normal

Пока вернул на ВНИИФТРИ и добавил MSK-IX.

Скачков в логах пока не вижу.

Правильно ли я понимаю, что ВНИИФТРИ болтает почти на 5 секунд, судя по последнему столбцу?

Posted
4 часа назад, tcup сказал:

почти на 5 секунд

/1000

 

Skew            : 115.806 ppm

сильно перебор, скорее уж действительно что-то с железом/настройками + раскачка из-за виртуализации накладывается.

Posted
37 minutes ago, ixi said:

/1000

🙂

37 minutes ago, ixi said:
Skew            : 115.806 ppm

сильно перебор, скорее уж действительно что-то с железом/настройками + раскачка из-за виртуализации накладывается.

Натравил на те же сервера отдельно стоящий ПК, получил 10-12 ppm, критично ли, пока в логах и консолях чисто про рассинхрон

Posted (edited)
1 hour ago, jffulcrum said:

@tcup Смотрите powerplan, если не выставляли режим высокой производительности - частота CPU плавает, а с ней и большинство таймеров

Выставил на хостах (с гипервизорами) Static High Performance Mode

В контейнере с ntp-сервером сейчас 2.5 ppm, на гипервизорах от 27 до 170 ppm

Edited by tcup
Posted

Имхо поставьте свой сервер времени отдельный железячный, на виртуалке, любой и пусть с него всё остальное оборудование в подотчётной тебе сети забирают с него время и не будет никаких рассинхронов между собой.

Даже если твой сервер и будет иметь некий рассинхрон с интернетом, то все внутренние будут от него получать одно и то же время. У нас так построено и нигде, ни на вритуалках, ни на свитчах, нет проблем с рассинхроном. Кстати, основные сервера вниифтри. Зачем эти пляски с разными нтп серверами.

Posted (edited)
1 hour ago, No_name said:

Имхо поставьте свой сервер времени отдельный железячный, на виртуалке, любой

Железячный/виртуальный/любой?

1 hour ago, No_name said:

 

 

1 hour ago, No_name said:

 

и пусть с него всё остальное оборудование в подотчётной тебе сети забирают с него время и не будет никаких рассинхронов между собой.

 

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

Не зависеть от внешних факторов - это хорошо

А, перечитал, думал речь про отдельный несинхроризируемый сервер. Так-то вроде структуру нашу описал выше я

1 hour ago, No_name said:

 

 

1 hour ago, No_name said:

Кстати, основные сервера вниифтри. Зачем эти пляски с разными нтп серверами.

Плясок не было, пока не отвалился недавно фтри

Edited by tcup
Posted
11 часов назад, tcup сказал:

Правильно ли я понимаю, что ВНИИФТРИ болтает почти на 5 секунд, судя по последнему столбцу?

На 5 миллисекунд. Там первые две строки в микросекундах.

Очень даже неплохо.

Posted
On 8/28/2026 at 5:48 AM, tcup said:

Имею два локальных ntp-сервера в контейнерах proxmox.

ААААААААААААА!!!!!!!!!!!!!

А с чего вы взяли что часы в виртуалках тикают правильно!?

 

Потом хрони по дефолту часы будет медленно подводить. А если время совсем далеко ушло то и не станет пытаться.

Мой мой конфиг для примера. Он у меня везде одинаковый и на сервере и на клиентах, разница в том, что сервер клиентов себе запросы заворачивает вместо инета на 127, а клиенты соответственно из сети не доступны для запросов времени.

 

chrony.conf

Posted
11 hours ago, straus said:

На 5 миллисекунд. Там первые две строки в микросекундах.

Очень даже неплохо.

Ага)

2 hours ago, Ivan_83 said:

ААААААААААААА!!!!!!!!!!!!!

А с чего вы взяли что часы в виртуалках тикают правильно!?

Какое-то время работало, сейчас спрашиваю советов, как правильно)

2 hours ago, Ivan_83 said:

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

Файерволом запросы заруливаются? Чота не соображу, как это, на локалхост

Posted

Утром опять пошли рассинхроны, до 7 секунд. Возможно, нагрузка на оборудование возрастает. Контейнер с ntp-сервером по совместительству клиентский dns резольвер

Posted

Точно секунд, а не миллисекунд?

Получить 7 секунд на NTP я даже не представляю как. Это с локального NTPS на разных устройствах в локалке такой рассинхрон?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...