Sinot
@Sinot

Как настроить ntp для ceph?

Приветствую!

Есть задача настроить отказоустойчивый кластер из трех нод на Proxmox. В качестве хранилища данных решено использовать Ceph на тех же трех нодах. Для него необходимо настроить синхронизацию времени так, чтобы разница между нодами не превышала 50 мс (это к вопросу зачем мне такая точность).

Внутренняя сеть 192.168.0.0/22.

Имеем отдельный сервер Debian 9 (vt-gate) с настроенным ntpd:
/etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntpd.log

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

pool 0.ru.pool.ntp.org iburst
pool 1.ru.pool.ntp.org iburst
pool 2.ru.pool.ntp.org iburst
pool 3.ru.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict 127.0.0.1
restrict ::1

restrict 0.ru.pool.ntp.org
restrict 1.ru.pool.ntp.org
restrict 2.ru.pool.ntp.org
restrict 3.ru.pool.ntp.org

restrict 192.168.0.0 mask 255.255.252.0 nomodify notrap


Так как у меня нет лишних "железок", тестовый стенд представляет собой три виртуальных машины под управлением Proxmox 5 с таким же Proxmox на борту. Адреса внутренней сети нод 192.168.3.11, 192.168.3.12, 192.168.3.13.
/etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntpd.log

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server vt-gate.crb.local iburst prefer
#Для первой ноды
peer 192.168.3.12 iburst
peer 192.168.3.13 iburst

#Для второй ноды
#peer 192.168.3.11 iburst
#peer 192.168.3.13 iburst

#Для третьей ноды
#peer 192.168.3.11 iburst
#peer 192.168.3.12 iburst

restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited

restrict 127.0.0.1
restrict ::1

restrict vt-gate.crb.local

#Для первой ноды
restrict 192.168.3.12
restrict 192.168.3.13

#Для второй ноды
#restrict 192.168.3.11
#restrict 192.168.3.13

#Для третьей ноды
#restrict 192.168.3.11
#restrict 192.168.3.12

restrict 192.168.0.0 mask 255.255.252.0 nomodify notrap


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

Так вот это не работает. Судя по ntpq -p разница может составлять вплоть до секунд.

Подскажите как все это правильно готовить?

Спасибо.

P.S. Еще по не понятной причине ноды не пишут логи в /var/log/ntpd.log (нет доступа), хотя ntp запускается под root.

UDP 0:
Вспомнилось из предыдущих экспериментов, что при синхронизации только с vt-gate Ceph на время не ругался, но стоило добавить еще один источник синхронизации (другой локальный сервер под Windows), так сразу появлялось расхождение.

UDP 1:
Вспомнил про systemd-timesyncd. По идее он должен быть выключится после установки ntp, но на всякий случай произвел следующие манипуляции для его отключения:
# cp /lib/systemd/system/pve-cluster.service /etc/systemd/system/pve-cluster.service

В файле /etc/systemd/system/pve-cluster.service изменил
Wants=systemd-timesyncd.service
на
Wants=ntp.service

# systemctl daemon-reload

Проверил systemctl status systemd-timesyncd пишет Active: inactive (dead).

Пока ntpq -p выдает расхождение между нодами не более 27мс:
root@vt-test-pve03:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+192.168.3.11    192.168.0.4      3 s  106  512  373    0.165    0.027   0.015
+192.168.3.12    192.168.0.4      3 s  446  512  367    0.174    0.022   0.033
*vt-gate.crb.loc 192.36.143.130   2 u  247  512  377    0.183   -0.003   0.053
  • Вопрос задан
  • 862 просмотра
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Ceph не так уж и критичен ко времени, у нас бывает разбежка до 5 минут! А сделать лучше так, запустите один дополнительный ntp, и с нено синхронизирутесь.
Другими словами, vt-gate -> ntp на одной из нод -> остальные ntp + vt-gate
Только приоритеты правильные выставляйте!!!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы