Для изменения системного таймера кластера используется встроенная утилита freeze-ticktime. Данная утилита меняет значение параметра net_ticktime с трех секунд (стандартное значение) на 30 секунд на всех нодах хоста.
Это значение поддерживается в течение заданного интервала (должен задаваться в минутах). Если в течение этого периода запустятся другие ноды, то на них net_ticktime также будет изменён.
По истечении интервала значение net_ticktime на всех нодах меняется на стандартное значение.

Использование

freeze-ticktime <интервал в минутах>

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

Для настройки автоматического включения увеличенного таймера netticktime необходимо создать system.service и systemd.timer
Сервис и таймер, настраивается на каждом из двух серверов.

Создание сервиса

Пример system сервиса /etc/systemd/system/ecss-freeze-ticktime.service
[Unit]
Description=Turn on long timer netticktime

[Service]
Type=oneshot
User=root
ExecStartPre=/usr/bin/freeze-ticktime get-ticktime
ExecStart=/usr/bin/freeze-ticktime 30 
# Запуск сервиса для увеличения таймера на 30 минут
ExecStartPost=/bin/sleep 10
ExecStartPost=/usr/bin/freeze-ticktime get-ticktime

Создание таймера

Обязательно прочитайте комментарий в 15 строке ниже


Пример system таймера /etc/systemd/system/ecss-freeze-ticktime.timer
[Unit]
Description=Execute ecss-freeze-ticktime by timer

[Timer]
# Формат таймера: ДеньНедели Год-Месяц-День Часы:Минуты:Секунды
#
# Чтобы указать все значения  используется (*)
# для перечисления значения используется (,)
# для промежутка используется (..)
#
# Запуск каждый день в 12:00: *-*-* 12:00
# Запуск первые 3 дня месяца в 00:00 (по умолчанию): *-*-1..3
# Запуск каждый понедельник и субботу в 12:00: Mon,Sat *-*-* 12:00
OnCalendar=*-*-* 21:00 
# Запуск таймера каждый день в 21:00 (Этот параметр следует изменить т.к этот сервис необходимо включить ТОЛЬКО перед бекапом виртуальных машин)
#Возможные вариации
#OnCalendar=Sat *-*-* 21:00 #Запуск каждую субботу в 21:00 - Раскомментировать при использовании

[Install]
WantedBy=multi-user.target

Запуск таймера 

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

Перечитывание конфигураций всех сервисов
sudo systemctl daemon-reload 

Далее, запустить таймер:

Запуск таймера
sudo systemctl start ecss-freeze-ticktime.timer

И добавить его в автозагрузку:

Добавление в автозагрузку
sudo systemctl enable ecss-freeze-ticktime.timer

После этого, проверить запущенные таймера

Список запущенных таймеров
sudo systemctl list-timers

NEXT                         LEFT         LAST                         PASSED               UNIT                         ACTIVATES
Fri 2025-04-04 08:35:00 UTC  2min 5s left Fri 2025-04-04 08:30:18 UTC  2min 35s ago         ecss-copycdr.timer           ecss-copycdr.service
Fri 2025-04-04 23:00:00 UTC  14h left     Thu 2025-04-03 23:00:18 UTC  9h ago               ecss-restfs-cleaner.timer    ecss-restfs-cleaner.service
Sat 2025-04-05 00:00:00 UTC  15h left     Fri 2025-04-04 00:00:02 UTC  8h ago               ecss-restfs-crawler.timer    ecss-restfs-crawler.service
Sat 2025-04-05 07:40:00 UTC  23h left     Fri 2025-04-04 07:40:08 UTC  52min ago            ecss-freeze-ticktime.timer   ecss-freeze-ticktime.service #наш таймер



  • Нет меток