Проверяем статус синхронизации кластера через systemctl status lsyncd-
Дата публикации: 24.06.2026

Проверяем статус синхронизации кластера через systemctl status lsyncd-

Хочу себе такие же кнопки
ccb9a536

Что вы узнаете и зачем это нужно

Вы быстро проверите, работает ли lsyncd (Live Syncing Daemon) в кластере вашего сайта на 1риксе, поймёте, какие состояния может принимать сервис и как реагировать на каждый из них. Это спасёт от «мёртвых» репликаций, ускорит диагностику и позволит поддерживать высокую доступность магазина даже при росте нагрузки.


1. Что такое lsyncd и почему он важен

Термин Описание Пример
lsyncd Демон, который в реальном времени синхронизирует файлы между узлами кластера, используя rsync + inotify. На двух VDS‑инстансах битрикса файлы /bitrix копируются мгновенно.
cluster Набор серверов, работающих как единый ресурс, где каждый узел хранит одинаковый набор файлов. Три сервера: prod-01, prod-02, prod-03.
systemctl Утилита управления сервисами systemd. Позволяет запускать, останавливать и проверять статус демонов. systemctl status nginx.

lsyncd — это «мост», который гарантирует, что изменения кода, шаблонов и медиа‑файлов сразу попадают на все узлы. Если мост «потерян», пользователи могут видеть устаревший контент или даже получать ошибки 404.


2. Как называется сервис в systemd

При установке lsyncd в каждом узле создаётся отдельный юнит‑файл, обычно именованный по шаблону:

lsyncd-<имя_хоста>.service
  • <имя_хоста> — это hostname сервера, получаемый командой hostname.
  • Пример: на сервере prod-01 сервис будет lsyncd-prod-01.service.

Это позволяет управлять каждым узлом независимо, но в то же время видеть их статус в единой команде.


3. Основная команда

systemctl status lsyncd-$(hostname).service
  • $(hostname) автоматически подставит текущий хостнейм.
  • Вывод будет содержать: Active, Main PID, Memory, CPU, Log messages и Unit file state.

Пример вывода (успешный)

● lsyncd-prod-01.service - LSyncD for prod-01
   Loaded: loaded (/etc/systemd/system/lsyncd-prod-01.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2026-06-24 09:12:34 UTC; 2h 15min ago
 Main PID: 1245 (lsyncd)
    Tasks: 7 (limit: 4915)
   Memory: 12.3M
   CPU: 1.2s
   CGroup: /system.slice/lsyncd-prod-01.service
           └─1245 /usr/bin/lsyncd -nodaemon -log /var/log/lsyncd-prod-01.log

Пример вывода (проблема)

● lsyncd-prod-01.service - LSyncD for prod-01
   Loaded: loaded (/etc/systemd/system/lsyncd-prod-01.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2026-06-24 10:02:11 UTC; 5min ago
 Main PID: 1245 (code=exited, status=1/FAILURE)
    Tasks: 0 (limit: 4915)
   Memory: 0B
   CPU: 0s
   CGroup: /system.slice/lsyncd-prod-01.service

4. Что означают статусы

Статус Что значит Как действовать
active (running) Даемон запущен и работает без ошибок. Всё в порядке, проверяйте логи только при необходимости.
inactive (dead) Сервис остановлен. Запустите systemctl start lsyncd-$(hostname).service.
failed Процесс завершился с ошибкой. Смотрите journalctl -u lsyncd-$(hostname).service для деталей.
activating (start) Запуск в процессе. Дайте пару секунд, затем проверьте снова.
deactivating (stop) Остановка в процессе. Ожидайте завершения, проверьте, не зависает ли.

5. Быстрый доступ к журналу

journalctl -u lsyncd-$(hostname).service -n 30 --no-pager
  • -n 30 — показать последние 30 строк.
  • --no-pager — вывести сразу, без less.

В журнале ищите строки типа:

  • INFO [2026-06-24 09:12:34] Starting lsyncd – обычный старт.
  • ERROR [2026-06-24 10:02:11] rsync exited with code 23 – проблема с копированием.
  • WARNING [2026-06-24 09:45:00] Inotify limit reached – нужно увеличить fs.inotify.max_user_watches.

6. Частые причины падения и как их исправить

Причина Как проверить Как исправить
Недостаточно прав ls -l /var/log/lsyncd-*.log Установите chmod 640 и chown root:root.
Неправильный путь к конфигурации cat /etc/lsyncd/lsyncd.conf Убедитесь, что target указывает на существующий каталог на удалённом узле.
Сетевые ограничения ping <peer> и nc -zv <peer> 22 Откройте порты 22 (SSH) и 873 (rsync) в firewall.
Переполненный inotify sysctl fs.inotify.max_user_watches Увеличьте значение: sysctl -w fs.inotify.max_user_watches=524288.
Конфликт имён сервисов systemctl list-units | grep lsyncd Удалите дублирующие юнит‑файлы, оставив только один на хост.

7. Автоматический перезапуск

В юнит‑файле можно добавить:

[Service]
Restart=on-failure
RestartSec=5

Это заставит systemd попытаться перезапустить lsyncd через 5 секунд после любой ошибки. После изменения выполните:

systemctl daemon-reload
systemctl restart lsyncd-$(hostname).service

8. Проверка синхронизации на уровне файлов

Иногда сервис «работает», но файлы не копируются. Быстро проверяем:

ls -l /bitrix/ /remote/bitrix/
diff -qr /bitrix/ /remote/bitrix/ | head -n 20
  • diff -qr — рекурсивное сравнение, выводит только различия.
  • Если различий нет, синхронизация в порядке. Если есть, смотрите журнал lsyncd на ошибки копирования.

9. Сценарий «проверка всех узлов кластера»

Если у вас несколько серверов, удобно собрать статус в один вывод:

for host in prod-01 prod-02 prod-03; do
    echo "=== $host ==="
    ssh $host "systemctl status lsyncd-$host.service | head -n 7"
done
  • head -n 7 — показывает только первые 7 строк (ключевые поля).
  • Такой скрипт можно добавить в cron и отправлять отчёт на email.

10. Лучшие практики

Практика Почему важно
Логи в отдельный файл (-log /var/log/lsyncd-$(hostname).log) Упрощает поиск ошибок, не «засоряет» системный журнал.
Отдельный пользователь lsyncd Ограничивает доступ к файлам, повышает безопасность.
Регулярный мониторинг (systemctl is-active в cron) Позволяет автоматически реагировать на падения.
Тестовый режим (-dryrun) перед изменением конфигурации Предотвращает случайную потерю данных.

Практика для закрепления

  1. Проверьте статус lsyncd на текущем сервере и запишите, какой статус отображается.
  2. Найдите причину состояния failed, если она есть, используя journalctl. Сформулируйте одно‑предложное решение.
  3. Измените конфигурацию так, чтобы сервис автоматически перезапускался при падении. Перезапустите сервис и проверьте, что Restart=on-failure действительно работает.
  4. Сравните каталоги /bitrix и /remote/bitrix на двух узлах кластера, используя diff -qr. Сколько различий найдено? Что это может означать?
  5. Напишите короткий Bash‑скрипт, который опрашивает три узла (prod-01, prod-02, prod-03) и выводит их статусы в виде таблицы:
HOST       STATUS
prod-01    active
prod-02    failed
prod-03    active

Подсказка: используйте ssh, systemctl is-active и printf.


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


CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы