Основы синхронизации данных в ISPmanager 6 Business
Введение
При работе с узлами кластера возникает необходимость выполнять в фоновом режиме какие-либо действия с сервером (например, установка ПО), либо производить синхронизацию общесистемных данных . Для решения подобных задач используется механизм синхронизаторов.
Что такое синхронизатор
- Каждый синхронизатор представляет собой внутреннюю сущность панели управления, производящую по требованию панели управления какие-либо действия и сигнализирующую об успешности или неуспешности выполнения этих действий
- Каждый синхронизатор соответствует определённому типу данных панели управления или какому-либо определённому действию с узлом кластера, в целом это называется типом синхронизатора
- Рассинхронизация данных регистрируется для узла кластера с помощью прикрепления к нему синхронизатора определённого типа
- Для каждого синхронизатора указывается, в какое состояние приходит узел кластера, если для него регистрируется рассинхронизация
- Каждый синхронизатор имеет приоритет, который влияет на порядок выполнения синхронизаций для узла кластера
- Состояние узлов кластера изменяется только в результате работы механизма синхронизаторов
Функционирование механизма синхронизаторов
Рассинхронизация данных может быть зарегистрирована при выполнении каких-либо запросов в панели управления (например, при добавлении узла кластера для него регистрируется рассинхронизация всех доступных типов). При регистрации рассинхронизации узел кластера сразу переходит в состояние, соответствующее синхронизатору.
Периодически панель проверяет список рассинхронизаций для каждого узла кластера и запускает синхронизацию данных, описанную синхронизатором. Для каждого узла кластера в один момент времени может выполняться синхронизация только одного типа данных, порядок запуска синхронизаторов жёстко определён их приоритетом.
Когда для узла кластера остаются зарегистрированы только рассинхронизации, для которых состояние узла определено как "Готов", сам узел приходит в состояние "Готов" и может быть использован для обслуживания запросов пользователей.
Дополнительная информация
Посмотреть список выполняемых в настоящий момент синхронизаторов можно в разделе Узлы кластера. В поле "Состояние" отображается значок , если выполняется синхронизатор.
Также список всех зарегистированных синхронизаторов можно посмотреть с помощью MyQSL запроса к базе данных ispmgr:
select * from node2sync join syncactions on node2sync.syncactions=syncactions.id;
Если синхронизатор висит долгое время и не завершается, значит возникают ошибки при синхронизации данных. В данном случае следует искать ошибки синхронизации в логе ispmgr.log (/usr/local/mgr5/var/ispmgr.log).
Инициировать выполнение зависшего синхронизатора можно с помощью команды
/usr/local/mgr5/sbin/mgrctl -m ispmgr nodesync