Кластерная установка
Кластерная установка используется для развёртывания IVA Mail в отказоустойчивой конфигурации с несколькими узлами и общим кластерным хранилищем.
Описание архитектуры кластера приведено в разделе Архитектура кластера.
| Подготовку к кластерной установке необходимо выполнять до начала эксплуатации сервера, так как после перехода в кластерный режим локальные домены, объекты, настройки и сертификаты из изолированной установки не используются как кластерные данные. |
Назначение
Кластерная установка позволяет:
-
объединить несколько узлов IVA Mail в единый кластер;
-
обеспечить отказоустойчивость серверной части;
-
использовать общее файловое хранилище для кластерных данных;
-
синхронизировать состояние узлов через CMD-взаимодействие;
-
распределять клиентские подключения через сетевой балансировщик.
Требования к аппаратной части
Для отказоустойчивости необходимо минимум 2 узла на малых инсталляциях и переход на схему N+1 (или распределение нагрузки на большее количество узлов) при росте базы пользователей.
Минимальные требования к серверному аппаратному обеспечению при инсталляции в кластерной конфигурации зависят от количества аккаунтов. Расчётная можно произвести по таблице ниже.
| Кол. аккаунтов | Кол. узлов | vCPU (на узел) | RAM, ГБ (на узел) | Суммарные IOPS(СХД) |
|---|---|---|---|---|
100 |
2 |
1 |
2 |
125 |
500 |
2 |
2 |
2 |
625 |
1000 |
2 |
2 |
4 |
1250 |
3000 |
2 |
4 |
6 |
3750 |
5000 |
2 |
4 |
8 |
6250 |
10000 |
4 |
4 |
8 |
12500 |
20000 |
4 |
6 |
12 |
25000 |
50000 |
6 |
8 |
16 |
62500 |
100000 |
10 |
8 |
24 |
125000 |
250000 |
16 |
12 |
32 |
312500 |
500000 |
26 |
16 |
64 |
625000 |
750000 |
34 |
20 |
96 |
937500 |
1000000 |
42 |
24 |
128 |
1250000 |
| Требования к IOPS указаны суммарные для системы хранения данных (СХД), так как в кластере используется общее хранилище. |
Технические примечания к архитектуре:
-
Дисковое пространство (HDD/SSD): для системных разделов на каждом узле рекомендуется резервировать 60-100 ГБ. Объём общего дискового пространство на СХД для пользовательских данных рассчитывается отдельно, исходя из установленных квот на почтовые папки.
-
СХД: для инсталляций от 10000 аккаунтов рекомендуется использование Flash/NVMe массивов, так как требования к IOPS становятся критичными для скорости обработки очередей и работы с данными в папках.
-
Балансировка: для функционирования кластерных инсталляций и обеспечения доступности сервисов необходимо настроить балансировку входящих клиентских подключений. Балансировщик распределяет трафик между узлами по следующим портам и протоколам:
-
семейство клиентов IVA Mail и IVA One:
-
протокол JUMP (HTTPS) порт 443;
-
-
сторонние почтовые клиенты (IMAP+SMTP):
-
IMAP (незащищённый/STARTTLS) порт 143;
-
IMAPs (SSL/TLS) порт 993;
-
SMTP Submission порт 587 или 465.
-
-
-
Масштабирование: начиная с 20000 аккаунтов, выгоднее наращивать количество узлов средней мощности (8vCPU/16-24 RAM), чем увеличивать ресурсы одного "тяжёлого" сервера. Это упрощает обслуживание и повышает общую доступность системы.
| Рекомендуется при использовании 4 и более узлов распределять их по разным хостам виртуализации (Anti-Affinity rules), чтобы выход из строя одного физического сервера не привёл к деградации всего кластера. |
Общий принцип установки
Кластерная установка включает следующие этапы:
-
Установка IVA Mail на каждый узел.
-
Подготовка общего хранилища.
-
Подключение общего хранилища на каждом бэкенд-узле.
-
Создание символьной ссылки
Clusterна каждом бэкенд-узле. -
Установка лицензии на первый запускаемый узел — Dispatcher.
-
Настройка параметров кластера в панели администратора.
-
Создание файла параметров запуска на каждом узле.
-
Последовательный запуск узлов.
-
Проверка состояния кластера.
Установка IVA Mail на узлы кластера
Выполните установку сервера IVA Mail на каждый узел кластера согласно разделу Установка одиночного сервера.
Подключение общего хранилища
На каждом бэкенд-узле необходимо:
-
смонтировать общее файловое хранилище по протоколу NFS v3 в локальную точку монтирования операционной системы;
-
создать в директории
/var/ivamailсимвольную ссылкуCluster, указывающую на эту точку монтирования.
Фронтенд-узлы к общему хранилищу не подключаются.
Пример создания символьной ссылки:
cd /var/ivamail
ln -s <точка-монтирования> Cluster
Символьная ссылка Cluster обязательна для запуска бэкенд-узлов в кластерном режиме.
|
Права доступа
Все файлы и директории внутри кластерного хранилища должны принадлежать: ivamail:ivamail.
Пример:
chown -R ivamail:ivamail /var/ivamail
Структура общего хранилища описана в разделе Архитектура хранения данных.
Установка лицензии
Лицензия устанавливается только на первый запускаемый узел.
| Остальные узлы получают лицензию после подключения к кластеру. |
Подробнее см. раздел Лицензирование.
Настройка параметров кластера
На каждом узле необходимо настроить параметры кластера.
Для настройки:
-
В панели администратора перейдите:
Модули → Кластер
-
Заполните параметры согласно разделу Настройки кластера.
Параметры узлов, CMD-порта, шифрования и пароля должны совпадать на всех узлах. В поле Адрес сервера в кластере указывается IP-адрес текущего узла. -
Выполните остановку сервера IVA Mail:
systemctl stop ivamail
Настройка кластерного запуска
-
На каждом узле создайте файл:
/var/ivamail/parameters.conf -
В файл
parameters.confдобавьте строку запуска.На бэкенд-серверах:
ARGS="--backend"На фронтенд-серверах:
ARGS="--frontend"Параметры
--backendи--frontendпереводят сервер в режим бэкенд- или фронтенд-узла кластера.Сервер не сможет запуститься в бэкенд-режиме без доступа к кластерной директории Cluster.
Последовательность запуска
После настройки кластерного запуска:
-
Запустите первый бэкенд-узел (на котором установлена лицензия):
systemctl start ivamail -
Дождитесь его появления в разделе Мониторинг → Кластер → Статистика:
-
Последовательно запускайте остальные узлы, дожидаясь появления каждого из них в разделе мониторинга.
| После запуска каждого узла дождитесь его появления в разделе Мониторинг → Кластер → Статистика. Только после этого запускайте следующий узел. |
| Первый запущенный бэкенд-узел получает роль Dispatcher (Диспетчер). |
| Первый запущенный backend-узел получает роль Dispatcher (Диспетчер). |
Проверка состояния кластера
Проверка состояния узлов кластера выполняется в панели администратора в разделе:
Мониторинг → Кластер → Статистика
Раздел отображает:
-
текущую роль узла;
-
состояние узлов;
-
доступность узлов;
-
состояние кластера.
Часто встречающиеся проблемы
Бэкенд-узел кластера не запускается или запускается с ошибкой
Возможная причина:
-
Сервер IVA Mail запущен с параметром `--backend `, но не имеет доступа к файлам кластерной директории.
Возможное решение:
Проверьте:
-
доступность примонтированной кластерной директории;
-
корректность точки монтирования;
-
права доступа к файлам и каталогам кластера.
Не удаётся выполнить вход в кластерный аккаунт
Возможная причина:
-
Для общего хранилища используется NFS версии 4.
Возможное решение:
Для кластерного хранилища рекомендуется использовать NFS версии 3.
Не синхронизируются или не сохраняются настройки кластерных объектов
Возможная причина:
-
Сервер IVA Mail не имеет необходимых прав доступа к файлам кластерного хранилища.
Возможное решение:
-
Проверьте права доступа к директории:
/var/ivamail/Cluster -
Права в ней должны принадлежать
ivamail:ivamail.
Отсутствуют почтовые папки у кластерных аккаунтов
Возможная причина:
-
Нарушена сетевая связанность между узлами кластера.
Возможное решение:
Проверьте доступность порта, указанного в параметре Порт CMD, между узлами кластера. По умолчанию используется порт 106.
Необходимо обеспечить:
-
входящие подключения по порту
106; -
исходящие подключения по порту
106; -
отсутствие блокировок со стороны межсетевых экранов.
Узел не отображается в разделе Мониторинг
Возможная причина:
Узел не завершил процедуру подключения к кластеру или был запущен до полной инициализации предыдущего узла.
Возможное решение:
-
Запускайте узлы последовательно.
-
После запуска каждого узла дождитесь его появления в разделе Мониторинг → Кластер → Статистика.
-
Только после этого запускайте следующий узел.
