Проверяем статус синхронизации кластера через 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 - онлайн фото с вебкамеры с эффектами
Чат рулетка 2026: Интерактивные элементы
Чат-рулетка: случайный собеседник в одно нажатие
Чат рулетка в 2026: будущие функции
Интерьер с использованием текстиля
Как настроить бэкапы для вашего сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как обновить PHP на хостинге Host.bg
Как решить проблемы с загрузкой сайта на Host.bg
Какие бывают ЛОР болезни у детей
Калькулятор зарплаты SEO-оптимизатора
Кассовые терминалы с оплатой картами
Монетизация через платные услуги
Мск: ИП или ООО — лучший старт для бизнеса?
Общение в интернете без риска
Общение вживую через экран
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Ошибки при настройке хостинга и их решения
Проблемы с доменами и их решения на хостинге Host.bg
Сколько стоит биткоин
Сравнение ценовых диапазонов хостинга Host.bg
Сумки с бусинами
Техника для строительства загородных трасс
Трубная продукция для трубопроводных конструкций
Узбекские фильмы фэнтези
Видео рулетка 18+
Видеочат с случайным собеседником онлайн
Видеообщения по всему миру
рейтинг хостингов 2026 Быстрые VDS серверы