tcup Posted August 28 Posted August 28 (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 August 31 by tcup Вставить ник Quote
jffulcrum Posted August 28 Posted August 28 Pool.ntp.org тоже часто страдает, то половина серверов выпадет, то подсунет сбитый источник. Советую ниифтри бекапить MSK-IX, https://kb.msk-ix.ru/public/ntp-server/ Касаемо синхронизации вообще - надо убедиться, что хосты идентично настроены в плане powerplan, фич процессора, таймеров BIOS, и даже шедулера ОС. Технологии динамической частоты и различных таймеров, используемых ядром, способны увести часы достаточно быстро, быстрее, чем дефолтные интервалы внешней синхронизации. Вставить ник Quote
tcup Posted August 28 Author Posted August 28 (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 August 28 by tcup Вставить ник Quote
straus Posted August 28 Posted August 28 2 часа назад, tcup сказал: 5 часов назад, murano сказал: Для начала оставьте один ntp локальный. Оставил, плавает пока до 5 сек. на маршрутизаторах Видимо я не очень понимаю текущую структуру и образцовый источник. При локальном NTPS рассинхрон в 5 секунд возможен, только если сам NTPS получает откуда-то этот рассинхрон. Да, если что - работа ТСПУ иногда влияет на NTP. Вставить ник Quote
tcup Posted August 28 Author Posted August 28 (edited) 2 hours ago, straus said: Видимо я не очень понимаю текущую структуру и образцовый источник. При локальном NTPS рассинхрон в 5 секунд возможен, только если сам NTPS получает откуда-то этот рассинхрон. Да, если что - работа ТСПУ иногда влияет на NTP. Образцового нет источника, используются внешние "открытые". Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники Edited August 28 by tcup Вставить ник Quote
sdy_moscow Posted August 28 Posted August 28 21 минуту назад, tcup сказал: Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники И получить рассинхронизацию??? Вставить ник Quote
straus Posted August 28 Posted August 28 (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 August 28 by straus Вставить ник Quote
straus Posted August 28 Posted August 28 Вот мой самопал, делалось ещё до коронавируса. В качестве приёмника GPS взята древняя плата от навигатора Packard Bell Compasseo. Плата USB-COM прилеплена прямо к приёмнику. Внешняя антенна куплена на барахолке. Добавлен ещё ионистор на вывод резервного питания приёмника. По теперешним ценам это всё получается около 50 гривен (100 рублей). По нынешним временам чипсет SiRF Star III уже дже не вчерашний, а позавчерашний день, но работает. Сейчас конечно проще взять более современный uBlox. После установки драйвера под используемый USB-COM сия приблуда подхватывается любой программой, которая умеет брать сообщения NMEA0183 с компорта, например любые карты - Visicom, Navitel и т.д. Ну и программами точного времени. Вставить ник Quote
nixx Posted August 28 Posted August 28 7 часов назад, tcup сказал: Образцового нет источника, используются внешние "открытые". Возможно, кластеру нужно будет прописать локальный, дабы время не плавало. А не критичным - внешние источники я не понимаю, как люди получают рассинхрон. типовая схема - две виртуалки на разных физических хостах (прибитые к ним гвоздями) с белыми ip синхрят время по вниифтри, мских (упомянутыми здесь), и заодно по гуглу и клаудфларе (или не cf, а кто-то еще, уже сам не помню). с них забирают время все остальные виртуалки и не-виртуалки (полторы тысячи свитчей, роутеров), в которых нтп-серверами прописаны только эти два. рассинхрона нет никакого и нигде (и никогда). при этом на другой работе, где мне сервера в доступ не дают, и я занимаюсь только сетью - заббикс постоянно спамит про рассинхрон на серверах. вроде уже три раза обговорили, что "используем только эти". буду пытать начальника, как он подобного добивается... файерволлами-то udp/123 на in нигде не режется? ntp show peers/associations везде "красиво" выглядит? Вставить ник Quote
straus Posted August 29 Posted August 29 Если ТСПУ задерживает соседние пакеты на разное время - протокол не может правильно скомпенсировать задержку, и при очередной синхронизации время "прыгает". На самом деле NTP достаточно устойчив к среде передачи с непостоянной задержкой, но и тут есть ограничения. Вставить ник Quote
tcup Posted August 31 Author Posted August 31 (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 August 31 by tcup Вставить ник Quote
tcup Posted August 31 Author Posted August 31 (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 August 31 by tcup Вставить ник Quote
tcup Posted August 31 Author Posted August 31 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 секунд, судя по последнему столбцу? Вставить ник Quote
ixi Posted August 31 Posted August 31 4 часа назад, tcup сказал: почти на 5 секунд /1000 Skew : 115.806 ppm сильно перебор, скорее уж действительно что-то с железом/настройками + раскачка из-за виртуализации накладывается. Вставить ник Quote
tcup Posted August 31 Author Posted August 31 37 minutes ago, ixi said: /1000 🙂 37 minutes ago, ixi said: Skew : 115.806 ppm сильно перебор, скорее уж действительно что-то с железом/настройками + раскачка из-за виртуализации накладывается. Натравил на те же сервера отдельно стоящий ПК, получил 10-12 ppm, критично ли, пока в логах и консолях чисто про рассинхрон Вставить ник Quote
jffulcrum Posted August 31 Posted August 31 @tcup Смотрите powerplan, если не выставляли режим высокой производительности - частота CPU плавает, а с ней и большинство таймеров Вставить ник Quote
tcup Posted August 31 Author Posted August 31 (edited) 1 hour ago, jffulcrum said: @tcup Смотрите powerplan, если не выставляли режим высокой производительности - частота CPU плавает, а с ней и большинство таймеров Выставил на хостах (с гипервизорами) Static High Performance Mode В контейнере с ntp-сервером сейчас 2.5 ppm, на гипервизорах от 27 до 170 ppm Edited August 31 by tcup Вставить ник Quote
No_name Posted August 31 Posted August 31 Имхо поставьте свой сервер времени отдельный железячный, на виртуалке, любой и пусть с него всё остальное оборудование в подотчётной тебе сети забирают с него время и не будет никаких рассинхронов между собой. Даже если твой сервер и будет иметь некий рассинхрон с интернетом, то все внутренние будут от него получать одно и то же время. У нас так построено и нигде, ни на вритуалках, ни на свитчах, нет проблем с рассинхроном. Кстати, основные сервера вниифтри. Зачем эти пляски с разными нтп серверами. Вставить ник Quote
tcup Posted August 31 Author Posted August 31 (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 August 31 by tcup Вставить ник Quote
straus Posted August 31 Posted August 31 11 часов назад, tcup сказал: Правильно ли я понимаю, что ВНИИФТРИ болтает почти на 5 секунд, судя по последнему столбцу? На 5 миллисекунд. Там первые две строки в микросекундах. Очень даже неплохо. Вставить ник Quote
Ivan_83 Posted August 31 Posted August 31 On 8/28/2026 at 5:48 AM, tcup said: Имею два локальных ntp-сервера в контейнерах proxmox. ААААААААААААА!!!!!!!!!!!!! А с чего вы взяли что часы в виртуалках тикают правильно!? Потом хрони по дефолту часы будет медленно подводить. А если время совсем далеко ушло то и не станет пытаться. Мой мой конфиг для примера. Он у меня везде одинаковый и на сервере и на клиентах, разница в том, что сервер клиентов себе запросы заворачивает вместо инета на 127, а клиенты соответственно из сети не доступны для запросов времени. chrony.conf Вставить ник Quote
tcup Posted September 1 Author Posted September 1 11 hours ago, straus said: На 5 миллисекунд. Там первые две строки в микросекундах. Очень даже неплохо. Ага) 2 hours ago, Ivan_83 said: ААААААААААААА!!!!!!!!!!!!! А с чего вы взяли что часы в виртуалках тикают правильно!? Какое-то время работало, сейчас спрашиваю советов, как правильно) 2 hours ago, Ivan_83 said: Он у меня везде одинаковый и на сервере и на клиентах, разница в том, что сервер клиентов себе запросы заворачивает вместо инета на 127, а клиенты соответственно из сети не доступны для запросов времени. Файерволом запросы заруливаются? Чота не соображу, как это, на локалхост Вставить ник Quote
tcup Posted September 1 Author Posted September 1 Утром опять пошли рассинхроны, до 7 секунд. Возможно, нагрузка на оборудование возрастает. Контейнер с ntp-сервером по совместительству клиентский dns резольвер Вставить ник Quote
straus Posted September 1 Posted September 1 Точно секунд, а не миллисекунд? Получить 7 секунд на NTP я даже не представляю как. Это с локального NTPS на разных устройствах в локалке такой рассинхрон? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.