IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Кластерная установка

Кластерная установка используется для развёртывания 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 указаны суммарные для системы хранения данных (СХД), так как в кластере используется общее хранилище.

Технические примечания к архитектуре:

  1. Дисковое пространство (HDD/SSD): для системных разделов на каждом узле рекомендуется резервировать 60-100 ГБ. Объём общего дискового пространство на СХД для пользовательских данных рассчитывается отдельно, исходя из установленных квот на почтовые папки.

  2. СХД: для инсталляций от 10000 аккаунтов рекомендуется использование Flash/NVMe массивов, так как требования к IOPS становятся критичными для скорости обработки очередей и работы с данными в папках.

  3. Балансировка: для функционирования кластерных инсталляций и обеспечения доступности сервисов необходимо настроить балансировку входящих клиентских подключений. Балансировщик распределяет трафик между узлами по следующим портам и протоколам:

    • семейство клиентов IVA Mail и IVA One:

      • протокол JUMP (HTTPS) порт 443;

    • сторонние почтовые клиенты (IMAP+SMTP):

      • IMAP (незащищённый/STARTTLS) порт 143;

      • IMAPs (SSL/TLS) порт 993;

      • SMTP Submission порт 587 или 465.

  4. Масштабирование: начиная с 20000 аккаунтов, выгоднее наращивать количество узлов средней мощности (8vCPU/16-24 RAM), чем увеличивать ресурсы одного "тяжёлого" сервера. Это упрощает обслуживание и повышает общую доступность системы.

Рекомендуется при использовании 4 и более узлов распределять их по разным хостам виртуализации (Anti-Affinity rules), чтобы выход из строя одного физического сервера не привёл к деградации всего кластера.

Общий принцип установки

Кластерная установка включает следующие этапы:

  1. Установка IVA Mail на каждый узел.

  2. Подготовка общего хранилища.

  3. Подключение общего хранилища на каждом бэкенд-узле.

  4. Создание символьной ссылки Cluster на каждом бэкенд-узле.

  5. Установка лицензии на первый запускаемый узел — Dispatcher.

  6. Настройка параметров кластера в панели администратора.

  7. Создание файла параметров запуска на каждом узле.

  8. Последовательный запуск узлов.

  9. Проверка состояния кластера.


Установка IVA Mail на узлы кластера

Выполните установку сервера IVA Mail на каждый узел кластера согласно разделу Установка одиночного сервера.


Подключение общего хранилища

На каждом бэкенд-узле необходимо:

  • смонтировать общее файловое хранилище по протоколу NFS v3 в локальную точку монтирования операционной системы;

  • создать в директории /var/ivamail символьную ссылку Cluster, указывающую на эту точку монтирования.

Фронтенд-узлы к общему хранилищу не подключаются.

Пример создания символьной ссылки:

cd /var/ivamail
ln -s <точка-монтирования> Cluster
Символьная ссылка Cluster обязательна для запуска бэкенд-узлов в кластерном режиме.

Права доступа

Все файлы и директории внутри кластерного хранилища должны принадлежать: ivamail:ivamail.

Пример:

chown -R ivamail:ivamail /var/ivamail

Структура общего хранилища описана в разделе Архитектура хранения данных.


Установка лицензии

Лицензия устанавливается только на первый запускаемый узел.

Остальные узлы получают лицензию после подключения к кластеру.

Подробнее см. раздел Лицензирование.


Настройка параметров кластера

На каждом узле необходимо настроить параметры кластера.

Для настройки:

  1. В панели администратора перейдите:

    Модули → Кластер

  2. Заполните параметры согласно разделу Настройки кластера.

    Параметры узлов, CMD-порта, шифрования и пароля должны совпадать на всех узлах. В поле Адрес сервера в кластере указывается IP-адрес текущего узла.
  3. Выполните остановку сервера IVA Mail:

    systemctl stop ivamail

Настройка кластерного запуска

  1. На каждом узле создайте файл:

    /var/ivamail/parameters.conf
  2. В файл parameters.conf добавьте строку запуска.

    На бэкенд-серверах:

    ARGS="--backend"

    На фронтенд-серверах:

    ARGS="--frontend"

    Параметры --backend и --frontend переводят сервер в режим бэкенд- или фронтенд-узла кластера.

    Сервер не сможет запуститься в бэкенд-режиме без доступа к кластерной директории Cluster.

Последовательность запуска

После настройки кластерного запуска:

  1. Запустите первый бэкенд-узел (на котором установлена лицензия):

    systemctl start ivamail
  2. Дождитесь его появления в разделе Мониторинг → Кластер → Статистика:

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

После запуска каждого узла дождитесь его появления в разделе Мониторинг → Кластер → Статистика. Только после этого запускайте следующий узел.
Первый запущенный бэкенд-узел получает роль Dispatcher (Диспетчер).
Первый запущенный backend-узел получает роль Dispatcher (Диспетчер).

Проверка состояния кластера

Проверка состояния узлов кластера выполняется в панели администратора в разделе:

Мониторинг → Кластер → Статистика

Раздел отображает:

  • текущую роль узла;

  • состояние узлов;

  • доступность узлов;

  • состояние кластера.


Часто встречающиеся проблемы

Бэкенд-узел кластера не запускается или запускается с ошибкой

Возможная причина:

  • Сервер IVA Mail запущен с параметром `--backend `, но не имеет доступа к файлам кластерной директории.

Возможное решение:

Проверьте:

  • доступность примонтированной кластерной директории;

  • корректность точки монтирования;

  • права доступа к файлам и каталогам кластера.


Не удаётся выполнить вход в кластерный аккаунт

Возможная причина:

  • Для общего хранилища используется NFS версии 4.

Возможное решение:

Для кластерного хранилища рекомендуется использовать NFS версии 3.


Не синхронизируются или не сохраняются настройки кластерных объектов

Возможная причина:

  • Сервер IVA Mail не имеет необходимых прав доступа к файлам кластерного хранилища.

Возможное решение:

  1. Проверьте права доступа к директории:

    /var/ivamail/Cluster
  2. Права в ней должны принадлежать ivamail:ivamail.


Отсутствуют почтовые папки у кластерных аккаунтов

Возможная причина:

  • Нарушена сетевая связанность между узлами кластера.

Возможное решение:

Проверьте доступность порта, указанного в параметре Порт CMD, между узлами кластера. По умолчанию используется порт 106.

Необходимо обеспечить:

  • входящие подключения по порту 106;

  • исходящие подключения по порту 106;

  • отсутствие блокировок со стороны межсетевых экранов.


Узел не отображается в разделе Мониторинг

Возможная причина:

Узел не завершил процедуру подключения к кластеру или был запущен до полной инициализации предыдущего узла.

Возможное решение:

  1. Запускайте узлы последовательно.

  2. После запуска каждого узла дождитесь его появления в разделе Мониторинг → Кластер → Статистика.

  3. Только после этого запускайте следующий узел.