0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация часов в кластере Кассандра, Pt. 2: Решения

Синхронизация часов в кластере Кассандра, Pt. 2: Решения

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

  • Хорошая относительная синхронизация ; Требуется для синхронизации в кластере
  • Хорошая абсолютная синхронизация ; Желательно или требуется, если вы общаетесь с внешними службами или предоставляете API для клиентов
  • Надежность и высокая доступность ; Синхронизация часов должна выдерживать сбой экземпляра или определенные перебои в сети
  • Простота в обслуживании ; Должно быть легко добавлять / удалять узлы из кластера без необходимости изменять конфигурацию на всех узлах.
  • Сетевой этикет ; Хотя сам NTP очень скромен в использовании пропускной способности сети, это не относится к общедоступным серверам NTP. Вы должны уменьшить их нагрузку, если это возможно

Настройте весь кластер как сетку

Сетка NTP серверов

NTP использует древовидную топологию, но позволяет подключать пул пиров для лучшей синхронизации на одном уровне нитей. Это идеально подходит для синхронизации часов относительно друг друга. Пиры определяются аналогично серверам в /etc/ntp.conf ; просто используйте peer ключевое слово « » вместо « server » (вы можете объединить серверы и одноранговые узлы, но об этом позже):

Мы определяем, что узлы c0-c2 являются узлами на одном уровне и будут синхронизироваться друг с другом. Оператор restrict включает пиринг для локальной сети, предполагая, что ваши экземпляры защищены брандмауэром для внешнего доступа, но включены в кластере. NTP связывается по UDP через порт 123. Перезапустите демон NTP:

И проверьте, как это выглядит в ntpq -p :

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

Относительно новый бесхозный режим решает эту проблему путем выбора лидера, с которым синхронизируется каждый узел. Добавьте это утверждение в /etc/ntp.conf on all nodes :

включить сиротский режим. Режим включается, когда нет доступного слоя сервера меньше 7.

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

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

  • + относительные часы (стабильные в бесхозном режиме)
  • — абсолютные часы (риск побега)
  • + высокая надежность (- для многокамерного сервера)
  • — обслуживание (+ в автоматическом обнаружении бесхозного режима)
  • + низкая нагрузка на сеть

Logentries_Try_It_Free_Promo_W

Используйте внешний NTP-сервер и настройте весь кластер как пул

Учитывая отсутствие времени в качестве основного недостатка в предыдущем варианте, как насчет включения синхронизации с внешними серверами и улучшения относительных часов путем настройки пула между узлами?

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

  • — относительные часы
  • ? абсолютные часы (как будто все узлы синхронизируются независимо)
  • + высокая доступность
  • — поддержание
  • — высокая нагрузка на сеть
Читать еще:  Расчет реостата для регулировки напряжения

Настроить централизованный демон NTP

Следующий вариант — выделить один NTP-сервер (главный сервер, возможно, работающий в отдельном экземпляре). Этот сервер синхронизируется с внешними серверами, а остальная часть кластера синхронизируется с этим.

Помимо включения брандмауэра вам не требуется никакой специальной настройки на главном сервере. На стороне клиента вам нужно будет указать имя экземпляра ядра (пусть оно будет 0.ntp). /etc/ntp.conf Файл должен содержать следующую строку:

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

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

  • + относительные часы
  • + абсолютные часы
  • — высокая доступность (улучшена в бесхозном режиме)
  • — сопровождение (в случае, если экземпляр является частью масштабируемого кластера)
  • + низкая нагрузка на сеть

Настроить выделенный пул NTP

Пул NTP серверов

Эта опция похожа на выделенный демон NTP, но на этот раз вы используете пул серверов NTP (основных серверов). Рассмотрим три экземпляра 0.ntp, 1.ntp, 2.ntp, каждый из которых выполняется в своей зоне доступности, а демон NTP настроен на синхронизацию с внешними серверами, а также друг с другом в пуле.

Конфигурация на одном из основных серверов 0.ntp будет содержать:

Клиенты настроены на использование всех основных серверов, то есть 0.ntp-2.ntp. Например, /etc/ntp.conf файл содержит следующие строки:

Развертывая пул основных серверов, мы достигаем высокой доступности на стороне сервера (частичное отключение сети), а также на стороне клиента (сбой экземпляра). Это также облегчает обслуживание кластера, поскольку пул не зависит от масштабируемого кластера. Недостаток заключается в запуске дополнительных экземпляров. Вы можете избежать запуска дополнительных экземпляров, используя экземпляры, уже доступные за пределами масштабируемого кластера (например, статические экземпляры), такие как база данных или почтовый сервер.

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

Одним из решений является использование prefer модификатора для изменения алгоритма выбора NTP. Предположим, мы изменили бы конфигурацию на всех клиентах:

Тогда все клиенты будут синхронизироваться с узлом 0.ntp и переключаться на другой, только если 0.ntp не работает. Другим вариантом является явная установка возрастающего числа слоев для всех основных серверов, при условии, что клиенты будут стремиться к серверам с более низкими уровнями. Это больше взломать, хотя.

  • + относительные часы
  • + абсолютные часы
  • + высокая доступность
  • + обслуживание
  • + низкая нагрузка на сеть
  • — требует статических экземпляров

Поставшики времени

ad_ntp_1

И переходим Конфигурация компьютера->Административные шаблоны->Система->Службы времени Windows->Поставшики времени

Теперь нам нужно настроить 3 параметра.

Включить NTP клиент Windows — включено (для всех политик).

Включить NTP сервер Windows — включено (только в политике для локального сервера времени).

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

Читать еще:  Унитаз регулировку поплавка и перелива

Принцип действия УСВ-Г заключается в следующем.

Формирование шкалы времени УСВ-Г, синхронизированной с заданной точностью с национальной шкалой времени UTC(SU), сигналов проверки времени «6 точек» (СПВ) и выполнение других функций производится по программе в микропроцессоре, записанной в постоянном запоминающем устройстве. Источником опорного сигнала 1 Гц, а также кода текущих значений времени для формирования шкалы времени УСВ-Г, является встроенный OEM навигационный ГЛОНАСС/GPS приемник. УСВ-Г обеспечивают автоматическую подстройку встроенных часов.

В случае если навигационные космические аппараты вышли из зоны видимости УСВ-Г или ухудшились условия приема (то есть количество видимых спутников недостаточно для синхронизации времени УСВ-Г по сигналам глобальных навигационных спутниковых систем ГЛОНАСС/GPS), то УСВ-Г остается в состоянии «Синхронизирован» в течение 10 суток после последней синхронизации по сигналам глобальных навигационных спутниковых систем ГЛОНАСС/GPS. При этом поправка часов относительно национальной шкалы времени UTC (SU) не превысит ± 2,5 с на конец десятых суток.

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

1 кГц имеет синусоидальную форму, начинается и заканчивается «нулевой» фазой. Началом радиоимпульсов считается «нулевая» фаза первого периода сигнала заполнения. Начало формирования радиоимпульсов совпадает с началом 55-й секунды 59-й минуты каждого часа. Длительность каждого из пяти радиоимпульсов составляет 100 мс, а длительность шестого рассчитывается по формуле:

t = 100 + 20-h [мс], (1)

где h — номер часа.

Начало шестого радиоимпульса соответствует началу часа — 00m00s. Выдача сигналов проверки времени сопровождается звуковыми сигналами.

Синхронизация системного времени информационно-вычислительного комплекса (ИВК), таймера компьютера, производится по интерфейсу RS-232C в следующем порядке: ИВК (компьютер) считывает с интерфейса RS-232C время УСВ-Г и сравнивает с показаниями внутренних часов; при расхождении времени более чем на установленное значение (по умолчанию 60 мс), показания часов ИВК (таймера компьютера) корректируются по времени УСВ-Г.

Лист № 2 Всего листов 5

Синхронизация системного времени ИВК с двумя серверами (основным и резервным) производится в следующем порядке. Основной сервер подключается к УСВ-Г по интерфейсу RS-232C, при этом синхронизация системного времени производится в порядке, описанном выше. Резервный сервер подключается к устройству сервисному (из комплекта поставки УСВ-Г) по интерфейсу RS-232C. Устройство сервисное подключается по двухпроводной линии к выходу СПВ УСВ-Г. Устройство сервисное принимает СПВ и по началу шестого сигнала производит синхронизацию корректора времени, встроенного в устройство сервисное. Корректор времени представляет собой таймер, ведущий часы, минуты, секунды, миллисекунды. Резервный сервер ИВК обращается к устройству сервисному, считывает с корректора время и сравнивает с показаниями внутренних часов резервного сервера ИВК. При расхождении времени более чем на установленное значение (по умолчанию 60 мс), показания часов ИВК корректируются по времени корректора.

УСВ-Г предназначены для работы в составе автоматизированных информационноизмерительных систем (АИИС), построенных на базе комплекса технических средств (КТС) "Энергия +".

Внешний вид УСВ-Г и устройства сервисного с указанием мест нанесения знака утверждения типа и пломбировки от несанкционированного доступа приведены на рисунке 1.

Минусы и плюсы часов с синхронизацией точного времени при помощи Блютуз

Часы с синхронизацией точного времени через технологию Bluetooth работают следующим образом:

4 раза в сутки (непонятно, зачем так часто) часы подключаются к смартфону по Bluetooth соединению и с помощью установленного на смартфоне специального приложения синхронизируются через подключенный к смартфону интернет с сервером точного времени.

Следовательно, выставив в настройках часов синхронизацию времени по Bluetooth ваш смартфон всегда должен быть со включёнными Блютузом и мобильным (или WiFi) интернетом. А это будет жрать аккумулятор вашего телефона постоянно (и всё ради «точного времени»).

Плюс такого способа синхронизации — работает в любом городе и достаточно точное время выставляется. Кроме этого автоматически выставляется в часах календарь (не нужно раз в два месяца переставлять число с 30-го на первое).

Читать еще:  Часы настенные регулировка маятника и боя

Что такое SNTP (простой протокол сетевого времени) и как он работает?

Освободи Себя SNTP (Simple Network Time Protocol) протокол является менее сложная реализация протокола NTP , он использует тот же протокол и служит той же цели. Этот протокол широко используется во встроенном оборудовании, таком как домашние маршрутизаторы или домашние коммутаторы, где полная возможность протокола NTP не требуется. В настоящее время используется протокол SNTPv4, определенный в RFC4330.

SNTPv4 обеспечивает упрощенный доступ для серверов и клиентов, которые используют текущую и предыдущую версии NTP и сам SNTP, доступ идентичен протоколу UDP / TIME, поэтому адаптация должна быть очень простой. Этот протокол разработан для работы в конфигурации с выделенным сервером, который включает в себя встроенные радиочасы, кроме того, были улучшены и контролировались задержки, точное время можно вводить за несколько микросекунд без каких-либо проблем.

Протокол SNTP со временем развивался, улучшая его производительность, а также совместимость с различными базовыми протоколами. Например, единственное существенное изменение в SNTPv4 по сравнению с предыдущими версиями — это заголовки, адаптированные к протоколу IPv6. Некоторые дополнительные расширения также были добавлены к базовому NTP. В настоящее время, когда мы настраиваем NTP-сервер в различных NTP-клиентах, существующих во всем мире, операции и обмен информацией могут выполняться как с использованием протоколов NTP, так и SNTP, операция то же самое, так как у нас есть совместимость.

Настройка гостевых виртуальных машин

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

В большинстве случаев нужно отключить эту функцию для гостевых машин Windows Server, которые служат в качестве виртуализированных контроллеров домена. Для всех остальных гостей она должна быть включена.

Для настройки синхронизации времени с контроллером домена в гипервизоре Hyper-V откройте диалоговое окно Settings и перейдите на вкладку Integration Services. Снимите или установите флажок Time Synchronization. Для других гипервизоров обратитесь к документации производителя.

команда синхронизации времени

Список надежных и публичных серверов Stratum 1

Attention.pngВНИМАНИЕ!
Не настраивайте на данные адреса софт пользовательских машин! Эти сервера предназначены только для нижестоящих серверов Stratum 2.

Россия

  • ВНИИФТРИ [7] , Атомные часы [8][9]
    • 62.117.76.142 (ntp1.vniiftri.ru)
    • 62.117.76.141 (ntp2.vniiftri.ru)
    • 62.117.76.138 (ntp3.vniiftri.ru)
    • 62.117.76.140 (ntp4.vniiftri.ru)
    • 192.43.244.18 (time.nist.gov) National Institute of Standards and Technology [16] , Атомные часы [17]
    • 198.123.30.132 (ntp.nasa.gov) National Aeronautics and Space Administration [18] , GPS-источник

    Япония

    • 133.243.238.163 (ntp.nict.jp) National Institute of Information and Communications Technology [19] , Атомные часы [20]

    Другие способы

    Вы также можете запустить средство службы времени Windows или W32tm.exe, чтобы настроить параметры службы времени Windows.

    Откройте командную строку и введите W32tm /? и нажмите Enter. Вы увидите список всех параметров. Затем запустите инструмент w32tm вместе с аргументом / resync (w32tm / resync). Это запускает мгновенную синхронизацию времени при условии, что служба времени Windows работает.

    Этот метод работает в Windows XP, Windows Vista, Windows 7 и Windows 8. Мы не проверяли, работает ли он в Windows 10.

    Вы также можете использовать редактор реестра Windows и перейти с ключом реестра — HKEY_LOCAL_MACHINE SYSTEM ControlSet Services W32Time TimeProviders NtpClient .

    Там вы можете изменить запись SpecialPollInterval с интервалом опроса по умолчанию, установленным вашей операционной системой, и выполнять ее синхронизацию каждые 24 часа.

    голоса
    Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector