Основы реализации многосерверной конфигурации ISPmanager 5 Business

Материал из ISPWiki
Перейти к: навигация, поиск

Введение

ISPmanager 5 Business является панелью управления множеством серверов (кластером). Панель работает с данными не только локального сервера, но и с другими серверами (узлами кластера). Работа с данными узлов кластера выполняется посредством выполнения удалённых запросов к специальной панели управления ISPmanager 5 Node, установленной на каждом узле кластера.

Работа с локальным узлом кластера никак не отличается от работы с любым другим узлом, исключение составляет лишь процедура добавления узла в состав кластера

Добавление узлов в состав кластера

При добавлении узла в состав кластера для этого узла выполняются следующие действия:

  • создается пользователь с административными привилегиями с именем 'ispmaster'

пользователь является клоном пользователя root, следует проверить настройки sshd на добавляемой ноде - должна быть разрешена авторизация по ключам PermitRootLogin without-password

  • открытый ключ SSH мастер-сервера регистрируется в списке авторизованных ключей
  • добавляются необходимые репозитории
  • устанавливается и настраивается панель управления ISPmanager 5 Node
  • копируются файлы шаблонов
  • настраивается ihttpd для работы с мастер-сервером
  • регистрируются все доступные синхронизаторы

Синхронизатор ролей выполняется в первую очередь и выполняет следующие действия:

  • переводит узел кластера в состояние 'устанавливается'
  • назначает указанные роли узлу кластера
  • запускает механизм синхронизации программного обеспечения на узле, который устанавливает необходимое для функционирования ролей ПО.

Механизм сбора статистики информирует мастер-сервер об окончании процесса синхронизации программного обеспечения узла кластера, после этого выполняется синхронизация других данных.

Работа с данными различных узлов кластера

Как отмечалось выше, ISPmanager 5 Business в процессе работы с данными различных серверов выполняет удалённые запросов к специальной панели управления ISPmanager 5 Node, установленной на каждом узле кластера.

Данные, которыми управляет панель, разделяются на два основных типа:

  • Пользовательские данные - любые данные, владельцем которых является конкретный пользователь панели управления. Под пользователем понимаются именно учётные записи пользователей панели управления (меню "Учётные записи" -> "Пользователи")
  • Общесистемные данные - данные, идентичные для каждого узла кластера

В зависимости от типа данных меняется и подход к работе с такими данными.

Работа с пользовательскими данными

Примером пользовательских данных могут служить такие модули как "Web-домены", "Доменные имена", "Почтовые домены" и т. п.

Узел кластера, на котором расположены конкретные данные пользователя панели управления, определяется расположением роли, к которой относятся эти данные. Механизм распределения ролей подробнее описан в статье "Принципы работы ISPmanager 5 Business"

Определив, на каком конкретно узле кластера находятся данные, ISPmanager 5 Business передаёт запросы пользователя на исполнение в ISPmanager 5 Node, установленную на этом узле, затем получает ответ и формирует результат работы запроса для пользователя. Таким образом, работа с пользовательскими данными производится путём проксирования пользовательских запросов в панель управления конкретным узлом кластера.

Работа с общесистемными данными

Абсолютно другой механизм работы реализован для общесистемных данных.

Примером таких данных могут служить "Брандмауэр", "Планировщик", "Белый список" и т. п.

Такие данные должны быть идентичны на всех узлах кластера. При работе с общесистемными данными выполняется распределённый запрос на все узлы кластера, отвечающие определённому критерию (например, наличие включенной роли почтового сервера для "Черного списка").

Перед выполнением распределённого запроса проверяются условия возможности его выполнения, например, процент подходящих узлов кластера в состоянии "Готов" должен быть не ниже указанного в "Политиках". Затем запрос выполняется на нужных узлах кластера. Если запрос не выполнился ни на одном узле кластера, он считается ошибочным и внесенные изменения не применяются в ISPmanager 5 Business. Если запрос завершился удачно, для всех узлов, которые были недоступны в процессе выполнения распределённого запроса, регистрируется рассинхронизация списка данных, с которым производилась работа.

Списки данных, для которых была зарегистрирована рассинхронизация, впоследствии синхронизируются с узлом кластера с помощью механизмов синхронизации.