В документе описана процедура кластерной установки Почты. Минимальной отказоустойчивой конфигурацией для установки почтовой системы считается кластер на 9 машин.
- Знание Linux на уровне системного администратора.
- Знание основ работы Систем управления базами данных (СУБД).
- Знание основ работы служб каталогов (Directory Service).
- Понимание основ контейнеризации.
- Знание основ работы сетей и сетевых протоколов.
- Знание основных инструментов для работы в командной строке: bash, awk, sed.
- Знание основ работы инфраструктуры доставки почты.
Инструкция по установке обновлений на кластер
Что делать, если при входе в панель администратора появляется ошибка «Неверный пароль»
Как обновить лицензионный ключ
Установщик не может получить доступ до гипервизора
Настройка интеграции с LDAP-каталогами
Как настроить геораспределенную почту
Вне зависимости от размера кластера нужно соблюдать следующее соотношение виртуальных машин:
Минимальная отказоустойчивая конфигурация на 8 машин, которая будет описана в документе, выглядит таким образом:
- 1 ВМ отводится под мониторинг.
- 2 ВМ — под фронты.
- 2 ВМ — под базы данных.
- 3 ВМ — под хранилища.
Дистрибутив Почты и файл onpremise-deployer_linux должны находиться на гипервизоре, отведенном под мониторинг.
Перед установкой убедитесь, что инфраструктура соответствует требованиям к инфраструктуре Почты VK WorkSpace. Там описаны поддерживаемые операционные системы, требования к CPU, виртуализации, дискам и сети, протоколы и порты, DNS-записи, SSL-сертификаты, настройки ОС, SELinux, антивирус и синхронизация времени, а также то, что нужно подготовить до начала установки.
По вопросам создания сайзинг-модели специально для вашей компании обратитесь к представителям VK. Минимальные технические параметры для 8 машин:
- Установщик + мониторинг: 16 vCPU, 24 GB RAM, 570 GB SSD.
- Фронт №1: 24 vCPU, 48 GB RAM, 570 GB SSD.
- Фронт № 2: 24 vCPU, 48 GB RAM, 570 GB SSD.
- База данных №1: 16 vCPU, 32 GB RAM, 570 GB SSD.
- База данных №2: 16 vCPU, 32 GB RAM, 570 GB SSD.
- Хранилище №1: 8 vCPU, 16 GB RAM, 570 GB SSD.
- Хранилище №2: 8 vCPU, 16 GB RAM, 570 GB SSD.
- Хранилище №3: 8 vCPU, 16 GB RAM, 570 GB SSD.
Также потребуется минимум одна виртуальная машина под Control Plane ноду Kubernetes кластера. Если вы используете несколько дата центров для инсталляции, то для каждого понадобится минимум одна нода Control Plane. Причем количество машин под Control Plane должно быть нечетным.
Требования к дискам (SSD, HDD, IOPS, задержки) приведены в разделе Какие диски использовать для сервисов.
Весь процесс установки можно разделить на два этапа:
- В командной строке на сервере выполняются действия для запуска установщика.
- Последующая установка производится в специальном веб-интерфейсе.
При кластерной установке вам нужно создать пользователя deployer и скопировать ssh-ключи на всех виртуальных машинах в кластере. Необязательно добавлять один и тот же ssh-ключ, главное, чтобы ВМ с установщиком имела доступ по ssh к другим ВМ в кластере. Ниже алгоритм, который надо выполнить на ВМ с установщиком. На остальных машинах нужно создать пользователя deployer и скопировать ssh-ключи. /home/deployer/.ssh и /home/deployer/.ssh/authorized_keys должны быть с правами 600
-
В командной строке выполните последовательность команд:
Astra LinuxРЕД ОСsudo -i# Задаем пароль и создаем пользователя deployerDEPLOYER_PASSWORD=PASSWORDuseradd -G astra-admin -U -m -s /bin/bash deployerecho deployer:"$DEPLOYER_PASSWORD" | chpasswd# Игнорируем ошибку "НЕУДАЧНЫЙ ПАРОЛЬ: error loading dictionary"# в случае, если она появилась# Перелогиниваемся под пользователем deployersudo -i -u deployerssh-keygen -t rsa -N ""# Нажимаем Enter (согласиться с вариантом по умолчанию)# Копируем ssh-ключ в нужную директориюcat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keyschmod 600 /home/deployer/.ssh/authorized_keys# Опционально: проверяем, что сами к себе можем зайти без пароляssh deployer@localhostexit -
Выполните команду
sudo visudo. -
В файле
/etc/sudoersуберите # в начале следующей строки:Astra LinuxРЕД ОС# %astra-admin ALL=(ALL) NOPASSWD: ALL -
Выйдите из Vim c сохранением файла.
То же самое можно сделать с помощью редактора nano:
sudo EDITOR=nano visudo# Находим нужную строку, удаляем # в ее начале {params[number=1;position=prefix;anchor=nakhodim_nuzhnuyu_stroku_udalyaem_v_ee_nachale]}# Выходим из nano c сохранением изменений {params[number=2;position=prefix;anchor=vykhodim_iz_nano_c_sokhraneniem_izmeneniy]}
-
Распакуйте дистрибутив под пользователя deployer (в директорию
/home/deployer). Вы можете распаковать архив с дистрибутивом и в другую папку или создать подпапку. Нет разницы, каким архиватором пользоваться. Ниже приведен пример для unzip:Astra LinuxРЕД ОС# Если на машину не установлен unzip, скачиваем его:sudo apt-get install unzipexport UNZIP_DISABLE_ZIPBOMB_DETECTION=trueunzip -o <имя_архива> -
Если при создании пользователя вы следовали инструкциям из Шага 1, то вам не нужно создавать директорию `/home/deployer', она уже создана.
mkdir -p /home/deployercd /home/deployer -
Распакуйте основной архив deployer.tar:
tar -xf deployer.tar -
Создайте директорию для статики и распакуйте архив:
tar -xf static.tar.gz -
Подготовьте Docker-репозиторий
cp registry/mail/dockerRepo.tar source/ -
Скопируйте файлы md5:
cp registry/mail/dockerRepo.md5 source/
InfraKit входит в состав дистрибутива. Отдельно скачивать его не нужно. После распаковки дистрибутива на сервере, где будет запускаться установщик, файлы InfraKit расположены по следующим путям:
- Запускаемый файл:
/home/deployer/configs/infrakit/infrakit-bin - Файл конфигурации:
/home/deployer/configs/infrakit/project-spec.yaml
Чтобы запустить проверку:
-
Откройте файл
/home/deployer/configs/infrakit/project-spec.yamlи настройте параметры подключения к серверам в секцииhostsв простом или расширенном формате. Подробнее смотрите в разделе Форматы описания хостов. -
Выполните команду на сервере с распакованным дистрибутивом, заменив <IP_адрес_сервера> на внешний IP-адрес этого сервера:
/home/deployer/configs/infrakit/infrakit-bin --project-specific /home/deployer/configs/infrakit/project-spec.yaml --infrakit.bind 0.0.0.0:5555 --infrakit.url <IP_адрес_сервера> -
После завершения проверок отчет выводится в консоль. В нем указан статус каждой проверки и описание ошибок при их возникновении.
InfraKit проводит следующие проверки:
Название проверки | Что проверяется |
|---|---|
Проверка ОС | Дистрибутив, версия ядра и параметры ядра |
Проверка CPU | Архитектура, количество ядер, частота, наличие обязательных инструкций |
Проверка памяти | Общий объем и характеристики оперативной памяти |
Проверка гипертрейдинга | Состояние Hyper-Threading на процессоре |
Проверка виртуализации | Тип виртуализации (KVM, VMware и др.) |
Проверка SSH доступа | Возможность входа по SSH-ключу |
Проверка sudo без пароля | Возможность выполнения команд sudo без ввода пароля |
Проверка SELinux | Статус SELinux (включен/выключен) |
Проверка места на диске | Размеры и параметры файловых систем |
Проверка IOPS | Производительность дисковой подсистемы |
Проверка портов | Доступность и состояние обязательных портов |
Проверка DNS | DNS-серверы и записи |
Проверка tuned | Активный профиль tuned |
Проверка swap | Наличие и состояние swap |
Дополнительная информация о работе с InfraKit и расшифровке его отчетов представлена в разделе Проверки инфраструктуры.
Для корректной работы установщика и почтовой системы в настройках SSH на всех машинах должен быть разрешен TCP Forwarding.
Чтобы изменить настройку TCP Forwarding, нужно в файле /etc/ssh/sshd_config установить следующее значение:
AllowTcpForwarding yes
Установщик onpremise-deployer_linux рекомендуется запускать как сервис. При таком запуске не придется прибегать к дополнительным мерам (screen, tmux, nohup), позволяющим установщику продолжить работу в случае потери соединения по SSH.
Чтобы запустить установщик как сервис, выполните команду (подходит для Astra Linux и РЕД ОС):
sudo ./onpremise-deployer_linux -concurInstallLimit 5 \-serviceEnable -serviceMake -serviceUser deployer
По умолчанию выставлен лимит в 5 потоков, при необходимости вы можете увеличить количество потоков до 10, однако это увеличит и нагрузку на систему. Использование более чем 10 потоков не рекомендуется.
Ответ в случае успешного запуска установщика выглядит следующим образом:
deployer.service was added/updatessee status: <systemctl status deployer.service>can`t restart rsyslog services: [exit status 5]OUT: Failed to restart rsyslog.service: Unit rsyslog.service not found.deployer.service was enable and startedsee status: <systemctl status deployer.service>
Если веб-интерфейс не открывается по адресу http://server-ip-address:8888, то проверьте журналы:
journalctl -u deployer
И убедитесь, что порт 8888 слушают:
ss -lanp|grep :8888
-
Перейдите в веб-интерфейс установщика, в адресной строке браузера укажите адрес:
http://server-ip-address:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен. -
На стартовой странице нажмите на кнопку Установить.
-
Введите лицензионный ключ или укажите путь к файлу лицензии .lic.
-
Нажмите кнопку Сохранить.
-
Нажмите на кнопку Далее.
Информацию о том, как обновить лицензионный ключ или проверить сроки действия лицензий по продуктам VK WorkSpace, вы сможете найти в разделе с дополнительной документаци.
-
Включите флаги Диск VK WorkSpace и Почта VK WorkSpace.
-
Нажмите на кнопку Далее.
-
Включите нужные вам компоненты в разделе Почта.
Для функционирования распределенной инсталляции необходимо, чтобы продукт был включен на всех инсталляциях, которые вы хотите объединить. И он должен быть включен при первичной установке. Если вы включите продукт после установки, то инструкция по настройке геораспределенной почты не сработает.
ПродуктОписаниеСистема AntispamКомплекс сервисов, анализирующих письма и помечающих их как спам. Подробнее: Как включить Антиспам системуСистема доставки обновлений антиспамаСервис обновления сигнатурных баз Антиспама с серверов VKКалендарьОбязательный продукт. Продукт VK WorkSpace для управления календарями и событиямиКалендарь. Миграция календарей по протоколу EWSМиграция календарей пользователей из внешних систем для работы в VK WorkSpace. Миграция производится по протоколу EWSКалендарь. Интеграция календаря с TrueConf (сервер)Календарь. Интеграция календаря с TrueConf (плагин)Для создания ссылок на звонки TrueConf при планировании встречКалендарь. Бот календаря для мессенджера VK WorkSpaceНастройки для автоматической отправки уведомлений о событиях Календаря в бот мессенджера VK WorkSpaceКалендарь. Планшеты для переговорных комнат ExtronБронирование и управление переговорными комнатами через планшеты Extron в Календаре VK WorkSpaceПоддержка протокола CardDAVСинхронизации контактов между почтовой системой и клиентскими приложениямиAPI больших вложений VK WorkMailОбязательный продукт. Набор сервисов для хранения больших вложений почтыСистема расширенных транспортных правилНастройки для управления потоками входящих и исходящих писем в целях усиления безопасностиУправление размерами ящиков и политиками хранения писем в почтовых ящикахBeta. Назначение групповых политик хранения на отдельные группы пользователейИмпорт данных из Microsoft ExchangeСервис получения из MS Exchange in-place архивов, пользовательских правил обработки почты из MS ExchangeРаспределенная инсталляцияВозможность настройки связей между отдельно развернутыми инсталляциями для управления маршрутизацией почты, просмотра занятости пользователей в календарях и объединения контактов в общую адресную книгу. Неприменимо для инсталляции, развернутой в минимально рабочей конфигурации на одной виртуальной машине. Подробнее: Геораспределенная Почта VK WorkSpaceПоддержка режима катастрофоустойчивости 2 ЦОД + witnessДает возможность установить VK WorkSpace в катастрофоустойчивой конфигурации на двух ЦОД и дополнительном сервере, не находящемся в этих двух ЦОДЭкспорт событий во внешний брокер (Kafka)Позволяет настроить экспорт событий во внешнюю Kafka для дальнейшей аналитикиРедактирование данных в ADBeta. Сервис редактирования данных в Active DirectoryУправление автоудалением писемBeta. Настройки управления автоматическим удалением писемБот новых почтовых сообщений для для мессенджера VK WorkSpaceУведомления о новых полученных письмах будут отправляться в бот мессенджера VK WorkSpaceАвтоматическое удаление старых писемDeprecated. Дает возможность настраивать автоматическое удаление старых писем. Устаревшая функциональностьКомпактная версия некоторых сервисовКомпактная версия сервисов, обрабатывающих почтовые очередиИнтеграция с другими инсталляциями VK WorkSpaceDeprecated. Устаревшая версия геораспределенной Почты VK WorkSpace. Не поддерживается и не рекомендуется к включениюПоиск писем во всех ящикахОпция поиска и удаления писем во всех ящиках в интерфейсе АдминпанелиПоддержка протокола POP3Система отправки push-уведомлений на мобильные устройстваАнализ логов доставки почтыBeta. Набор сервисов для логирования почты. Хранит в базе данных сведения о получателе, отправителе, теме письма и времени прохождения сообщения через сервера внутри установки -
Нажмите на кнопку Далее.
-
Включите нужные вам компоненты в разделе Диск.
ПродуктОписаниеСистема миграции Диска VK WorkSpace из внешних сервисовBeta. После включения опции появится возможность мигрировать в VK WorkSpace файлы из Microsoft OneDrive, Google Drive, NextCloudСистема проверки файлов Диска через DLPBeta. Настройки дополнительной проверки файлов Диска с помощью внешней DLP-системы для повышения уровня безопасностиИнтеграция с антивирусом по протоколу ICAPДает возможность интегрировать сторонние антивирусные системы с VK WorkSpace -
Нажмите на кнопку Далее.
-
Включите нужные вам компоненты в разделе Администрирование.
ПродуктОписаниеАутентификация v26.2.0Обязательный продукт. Настройка способов входа и защиты аккаунтовАутентификация v26.2.0. Единый вход (SSO)Вход в систему через внешний сервис идентификации (IdP)Аутентификация v26.2.0. Вход через KerberosВход через Kerberos для пользователей корпоративной сетиВход через Kerberos. Blitz (внешний)BetaВход через Kerberos. Keycloak (внутри инсталляции) v17.0.1Вход через Kerberos. Keycloak (внешний)Аутентификация v26.2.0. Двухфакторная аутентификацияДополнительная проверка личности при входеДвухфакторная аутентификация. Коды подтверждения в VK WorkSpaceПолучение кодов подтверждения в VK WorkSpace при входе в системуАудит действий пользователяСервисы записи и чтения действий пользователей, хранилище действий пользователей (ScyllaDB)Аудит действий пользователя. Дублирование действий пользователей во внешние хранилищаНужно, чтобы хранить историю операций пользователей отдельно от почтовой системыСистема BI-аналитикиBetaСистема BI-аналитики. Kafka внутри инсталляции16 GB RAM, 8 vCPUКонсолидация серверов TarantoolПереключает тарантулы выбранных групп на консолидированныеБазы ДанныхВключение обратной совместимости с версиями VK WorkSpace для определенных сервисов, ранее поддерживающих только работу с MySQL.Базы Данных. Использовать MySQLИнструменты разработкиВключает дополнительные сервисы для тестирования системы, например, генерирование аккаунтовПоддержка Российских криптографических стандартов (ГОСТ TLS)Beta. Позволяет VK WorkSpace работать с российскими криптографическими стандартами: ГОСТ Р 34.12-2015 (шифрование) и ГОСТ Р 34.10-2012 (электронные подписи). Это необходимо для обеспечения безопасного соединенияСистема групповых политикBetaСистема групповых политик. Kafka внутри инсталляции16 GB RAM, 8 vCPUВстроенное хранилище образов контейнеровХранения образов контейнеров почтовой системы внутри вашей инфраструктурыVK KubernetesBeta. Возможность развертывания в среде контейнеризации KubernetesРезервное копирование (бэкап)Средства резервного копирования данных диска, почты, календарей, профилей пользователей и адресных книгМониторингНабор сервисов, обеспечивающих хранение метрик сервисов в базе данных Prometheus и визуализацию данных с помощью GrafanaМониторинг. Экспортер метрик из Victoria Metrics в ZabbixСервис, обеспечивающий отправку данных из Victoria Metrics и Node Exporter в ZabbixСбор и отправка метрикСборщики и трансляторы Graphite и Prometheus-метрикПрогноз и контроль объема почтового хранилищаBeta. Мониторинг заполнения хранилища почтыИнтеграция с редактором «МойОфис» по протоколу WOPIОтменить проверку контейнеров OneDB после запускаРедактор «Р7-Офис» внутри инсталляцииПозволяет использовать встроенный в VK WorkSpace редактор «Р7-Офис». Требует дополнительных ресурсов системыИнтеграция с редактором «Р7-Офис» по протоколу WOPIАудит действий пользователя (облегченная версия)Сервисы записи и чтения действий пользователей, хранилище действий пользователей (PostgreSQL)Аудит действий пользователя (облегченная версия). Дублирование действий пользователей во внешние хранилищаНужно, чтобы хранить историю операций пользователей отдельно от почтовой системыЯдро объектного хранилища S3Обязательный продукт. Сервисы, обеспечивающие хранение любых неструктурированных данных по протоколу S3Ядро объектного хранилища S3. Ядро распределенного файлового хранилищаОбязательный продукт. Отвечает за логику распределения данных по узлам, целостность и отказоустойчивость хранилищаИнтеграция почты с мессенджером VK WorkSpace -
Включите продукты VK Kubernetes и Логирование. Логирование позволяет сохранять историю логов пода, но потребуется больше дискового пространства.

-
Нажмите на кнопку Далее.
В релизе 26.2 появилась возможность использовать готовые шаблоны для создания кластерных инсталляций продуктов VK WorkSpace. Шаблоны позволяют автоматизировать следующие шаги при установке:
Ниже будут описаны шаги для ручной настройки машин и для шаблонов.
Для установки вручную переключитесь на вкладку Ручная настройка. Ниже описано как добавить одну из worker машин и как добавить Control Plane ноду.
Чтобы добавить worker-ноду:
-
Нажмите на кнопку Добавить.
-
Заполните поля:
-
IP-адрес — адрес машины, на которую производится установка.
-
Имя сервера — укажите имя сервера (гипервизора) или оставьте поле пустым. В случае если вы оставите поле незаполненным, имя гипервизора будет взято из
hostname -sи добавится автоматически. В документации будет использовано имя hypervisor1. -
Имя пользователя — укажите имя того пользователя, под которым запущен установщик. В рассматриваемом примере это пользователь deployer.
-
-
Заполните поле Метки:
-
Напротив server, в выпадающем меню выберите опцию worker.
-
Напротив DC укажите любое название дата-центра.
-
Напротив project выберите опцию mail.
-
Для машины отведенной под мониторинг напротив type выберите: monitoring и registry. Для всех остальных машин укажите одну опцию type соответствующую роли машины: storage, database, frontend.

-
Оставьте чекбокс Сервер во внешней (dmz) зоне пустым.
-
После заполнения полей нажмите на кнопку Добавить сервер — гипервизор отобразится в веб-интерфейсе установщика.
-
Аналогичным образом добавьте еще 6 гипервизоров:
- 2 — под фронты,
- 1 — под базы данных,
- 3 — под хранилища.
-
Добавьте ноду Control Plane. Ее рекомендуется устанавливать на отдельную виртуальную машину. Но она может быть установлена на гипервизор отведенный под базы данных.
-
Если нода Control Plane будет установлена на ВМ под базы данных, то при добавлении гипервизора, в поле Метки, напротив server укажите опцию control-plane.

-
Нажмите Далее внизу страницы.
-
В открывшемся окне нажмите Запустить проверки. Будут выполнены следующие проверки:
- Проверка ОС, дистрибутива и параметры ядра.
- Проверка архитектуры CPU, количества ядер и обязательных фич.
- Проверка общего объема и характеристик оперативной памяти.
- Проверка размеров и параметров файловых систем.
- Проверка производительности дисковой подсистемы по IOPS.
- Проверка доступности и состояния обязательных портов.
- Проверка DNS-серверов и записей.
- Проверка активного tuned профиля.
- Проверка наличия и состояния swap.
После успешного выполнения всех проверок нажмите Далее.
Чтобы настроить Kubernetes кластер перейдите в раздел Настройки -> Kubernetes. Или по адресу http://server-ip-address:8888/config/main/k8s/commonTab, если оно не откроется автоматически.
В разделе Общие настройки укажите:
- Режим маршрутизации: VXLAN.
- Namespace по умолчанию — пространство имен, в котором будут работать сервисы Почты.
- Домен в кластере K8s.
- Использовать WG — установщик самостоятельно установит и настроит WireGuard на серверах на шаге
enable_hybrid_bgp. - Tunnel CIDR — диапазон адресов для интерфейсов WireGuard или
tunl0. - Версия Kubernetes.

Заполните поля в разделе Настройки кластеров. Пример заполнения полей для трех кластеров:

Подробную информацию о создании доменных имен вы найдете в разделе DNS-записи.
На вкладке Доменные имена необходимо заполнить все поля:
- Название вашей компании — введите название компании, которое будет отображаться в интерфейсе почты.
- Сайт вашей компании — укажите сайт вашей компании.
- Основной домен для сервисов — в поле необходимо указать ранее созданный Основной домен для почты.
- Домен для облачных хранилищ — в поле введите ранее созданный Домен для облачных хранилищ.
Когда все поля будут заполнены, нажмите на кнопку Сохранить для перехода к следующему шагу.

После сохранения доменных имен появятся ошибки. Они пропадут после добавления SSL-сертификатов на следующем шаге.
-
Нажмите на кнопку Добавить сертификат под заголовком SSL-сертификаты.
-
В открывшейся форме введите сертификат и ключ. Их необходимо указать полностью, включая:
-----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----и-----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----. -
Кликните по кнопке Сохранить.
Есть второй вариант:
- Нажмите на кнопку Выбрать файл.
- Укажите путь к файлу с сертификатом .crt.
- Укажите путь к файлу с ключом .key.
- Кликните по кнопке Сохранить.
Если все верно, в интерфейсе не будет отображаться ошибок и красной подсветки. Нажмите на зеленую кнопку Далее.
Чтобы установить гипервизоры и Kubernetes кластер, запустите автоматическую установку.
На изображении ниже приведен пример того, как выглядит веб-интерфейс установщика после завершения установки всех гипервизоров.

Если на гипервизорах есть шаги, помеченные серым или желтым цветом, то запустите автоматическую установку еще раз.
В релизе 26.3 секреты из main.yaml хранятся в vault — специализированном хранилище секретов от HashiCorp. Это хранилище типа «ключ-значение», данные в котором хранятся в зашифрованном виде. Для отказоустойчивости несколько инстансов vault объединяются в кластер по алгоритму распределенного консенсуса (RAFT).
Для начала работы с хранилищем его необходимо инициализировать: при инициализации указывается, сколько ключей для разблокировки (unseal keys) сгенерировать и сколько из них требовать для распечатки. Инициализация возвращает токен суперпользователя (rootToken) и ключи для распечатки (unseal keys), которые необходимы для дальнейшей работы с хранилищем.
Каждый перезапуск vault приводит его в состояние «запечатан» (sealed), и его надо распечатать (unseal).
Пример работы с ключами
Есть 10 доверенных сотрудников, при создании хранилища мы создаем 10 ключей и раздаем каждому сотруднику по одному ключу. Чтобы распечатать хранилище, будем требовать 3 ключа. Поэтому, когда нужно будет распечатать vault, нам потребуется 3 сотрудника, чтобы его распечатать.
Чтобы добавить и инициализировать хранилище:
-
Нажмите кнопку Добавить внизу главной страницы веб-интерфейса установщика.
-
Выберите опцию Хранилище секретов.
-
Выберите контейнер vault с помощью чекбокса.
-
В списке гипервизоров отметьте гипервизоры, на которых будут размещены инстансы vault.
-
Нажмите на кнопку Добавить.
-
Запустите автоматическую установку — после ее завершения инстансы vault будут запущены.
-
Перейдите в раздел Обслуживание -> Хранилище секретов или по адресу
http://server-ip-address:8888/service/vault. -
Если vault устанавливается впервые, нажмите кнопку Инициализировать Хранилище и задайте параметры инициализации:
- Всего ключей для распечатывания — сколько ключей сгенерировать.
- Минимум ключей для распечатывания — сколько ключей потребуется ввести для распечатки (unseal) хранилища. Значение не должно превышать общее количество ключей.
- Сохранить ключи в Deployer — включите опцию, чтобы установщик сохранил ключи и мог распечатывать хранилище в автоматическом режиме.
-
После инициализации в веб-интерфейсе отобразятся ключи для распечатки и токен суперпользователя. Сохраните эту информацию.
При инициализации установщик автоматически распечатает хранилище. Если вы обновляете инсталляцию с версии 26.2.3, миграция старых секретов из main.yaml произойдет автоматически.
Распечатка хранилища
Если при инициализации вы включили опцию Сохранить ключи в Deployer, установщик будет автоматически распечатывать хранилище при каждом своем перезапуске и запуске задачи up_container. В этом случае ключи для распечатывания сохраняются на машине с установщиком в файле /home/deployer/workmail/.secStoreKeys.yaml. Если установщику не удалось распечатать хранилище, установка будет заблокирована.
Чтобы распечатать хранилище вручную:
- Перейдите на страницу
http://server-ip-address:8888/service/vault. - В блоке Распаковка Хранилища секретов введите ключи, полученные при инициализации.
- Нажмите кнопку Распаковать (unseal).
В кластерной установке инициализация выполняется только на одном инстансе vault — остальные инстансы подключатся к нему и инициализируются самостоятельно. Распечатка выполняется на каждом инстансе.
Проверка состояния хранилища
На странице http://server-ip-address:8888/service/vault отображается состояние каждого инстанса vault: запущен ли он, инициализирован, запечатан или распечатан, готов ли к работе. Также отображаются «Количество ключей для распечатывания», «Количество необходимых секретов» и «Количество доступных секретов» — последние два значения должны совпадать.
Инстанс готов к работе, когда он запущен, инициализирован и распечатан, а количество доступных секретов совпадает с количеством необходимых.
Установщик автоматически проверяет актуальность секретов при каждом перезапуске и распечатке хранилища и при необходимости мигрирует или добавляет их.
Кликните по значку
и перейдите в раздел Описание сервисов, чтобы посмотреть развернутую информацию о назначении ролей, их дублируемости и зависимостях. В этом же выпадающем меню вы найдете дополнительную документацию, сможете включить или выключить продукты (внутри раздела Продукты) и обновить лицензионный ключ.
По завершении установки всех гипервизоров можно приступать к распределению и генерации подов.
В нижней части экрана выберите Добавить -> Несколько подов.
Откроется окно выбора ролей.

При распределении ролей нужно соблюдать такой порядок:
-
Хранилища + raft
-
xtaz
-
Базы данных
-
Мониторинг
-
Почтовый транспорт
-
API
-
Все, что осталось (опционально)
Для выбора ролей используйте поле Теги в качестве фильтра.
Первыми должны быть выбраны роли для хранилищ:
-
В колонке Тег нажмите на значок
и в выпадающем меню выберите Хранилище. -
В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. -
В колонке Тип нажмите на значок
и в выпадающем меню выберите StatefulSet. -
Отметьте все доступные для установки роли с помощью чекбокса в таблице.

-
Ниже в списке гипервизоров отметьте те, которые были отведены под хранилища.
-
Режим генерации — На каждом гипервизоре.

-
Нажмите на кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.
-
Аналогично добавьте роли с типом Deployment. В поле Кластер K8s выберите кластер для сервисов Почты. Название кластера указывалось на Шаге 5.
На гипервизоры-хранилища необходимо добавить кластер raft.
- В колонке Тег нажмите на значок
и в выпадающем меню выберите raft. - В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. Если пропустить этот фильтр, кластер не соберется. - Отметьте все доступные для установки роли с помощью чекбокса в таблице.
- Ниже в списке гипервизоров отметьте те, которые были отведены под хранилища.
- Нажмите на кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.
На каждом из гипервизоров-хранилищ нужно дополнительно сгенерировать еще по одному контейнеру xtaz.
-
В колонке Роль нажмите на значок
и введите xtaz. -
Очистите значение фильтра в колонке Установлено.
-
Выберите контейнер xtaz с помощью чекбоксов.
-
В списке гипервизоров отметьте те, которые были отведены под хранилища.
-
Нажмите на кнопку Добавить.

Следующий шаг — распределение ролей для баз данных.
- В колонке Тег нажмите на значок
и в выпадающем меню выберите База данных. - В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. - В колонке Тип нажмите на значок
и в выпадающем меню выберите StatefulSet. - Отметьте Все доступные для установки роли.
- Ниже выберите гипервизоры, отведенные под базы данных.
- Нажмите на кнопку Добавить.
- Аналогично добавьте роли с типом Deployment. В поле Кластер K8s выберите кластер для сервисов Почты. Название кластера указывалось на Шаге 5.
Чтобы добавить роли для мониторинга, повторно откройте окно выбора ролей.
- В колонке Тег нажмите на значок
и в выпадающем меню выберите Мониторинг. - В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. - Отметьте Все доступные для установки роли.
- Выберите гипервизор-мониторинг.
- Нажмите на кнопку Добавить.
- Аналогично добавьте роли с типом Deployment. В поле Кластер K8s выберите кластер для сервисов Почты. Название кластера указывалось на Шаге 5.
Далее нужно распределить роли для почтового транспорта. Перейдите в окно выбора ролей, нажав Добавить -> Несколько подов.
- В колонке Тег нажмите на значок
и в выпадающем меню выберите Почтовый транспорт. - В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. - Отметьте Все доступные для установки роли.
- Выберите гипервизоры, отведенные под фронты.
- Нажмите на кнопку Добавить.
- Аналогично добавьте роли с типом Deployment. В поле Кластер K8s выберите кластер для сервисов Почты. Название кластера указывалось на Шаге 5.
Завершающий этап — распределить роли для API.
- В колонке Тег нажмите на значок
и в выпадающем меню выберите API. - В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. - Отметьте Все доступные для установки роли.
- Выберите гипервизоры, отведенные под фронты.
- Нажмите на кнопку Добавить.
- Аналогично добавьте роли с типом Deployment. В поле Кластер K8s выберите кластер для сервисов Почты. Название кластера указывалось на Шаге 5.
- Откройте окно добавления выбора ролей, нажав на Добавить -> Несколько подов.
- В колонке Установлено нажмите на значок
и в строке Не более установите значение 0. - Список ролей, доступных для добавления, должен быть пустым. Если это не так, распределите оставшиеся роли по гипевизорам в соответствии с тегами.
После того как все контейнеры сгенерированы, нажмите на зеленую кнопку Далее в правом верхнем углу.
-
В разделе формируются дисковые пары для гипервизоров-хранилищ. Разделение на дисковые пары происходит автоматически, если вы не подключали дополнительные диски. В таком случае можно переходить в настройке Mescalito, описанной в следующем шаге.
Под дисковой парой подразумеваются связанные разделы дисков, которые размещены на двух разных гипервизорах. Для повышения отказоустойчивости на дисковую пару записываются одни и те же данные.
Каждому кластеру zepto нужен обособленный диск. Zepto совершает ряд maintenance-операций, помимо чтения и записи с дисков. Например, сверяет контрольные суммы файлов. Такие операции создают дополнительную нагрузку на диск. Поэтому zepto необходим эксклюзивный доступ к диску. Так он сможет корректно планировать онлайн и офлайн задачи по доступу к диску и при этом сохранять допустимый уровень нагрузки на дисковую подсистему.
Не подключайте 2 zepto-кластера на одни и те же диски, диски могут деградировать из-за повышенного уровня нагрузки. Не устанавливайте к уже установленному кластеру zepto любой другой компонент, создающий нагрузку на диск.
Ниже описана процедура ручного распределения дисковых пар. Дисковые пары нужно распределять вручную, если вы подключали дополнителные диски.
Минимальная отказоустойчивая конфигурация состоит из трех машин, на каждой из которых по 2 дисковых раздела:
- Диск хранилища 1 разделен на 2 части.
- Диск хранилища 2 разделен на 2 части.
- Диск хранилища 3 разделен на 2 части.
Всего 6 разделов дисков (2 на одном гипервизоре, 2 — на втором, еще 2 — на третьем).
При такой конфигурации:
- Всегда есть пара на запись.
- Остальные пары доступны для чтения.
При сборке хранилищ дисковые пары объединяются в «логические треугольники». Объединение происходит по принципу: 1-2, 2-3, 3-1.
В списке слева доступные хранилища будут отмечены восклицательными знаками. Нужно перейти на вкладку каждого хранилища и сформировать дисковые пары.

Чтобы добавить дисковые пары вручную:
- Нажмите на кнопку Добавить.
- В выпадающем меню выберите контроллер и устройство для Диска 1 первой пары.
- Выберите контроллер и устройство для Диска 2 первой пары.
- Повторите шаги 2-3 еще для двух пар.
На изображении ниже приведен пример для хранилища zepto_skel:

Для обеспечения отказоустойчивости в разделе уже заданы автоматические настройки кластеров хранилищ писем.

-
Обработчики писем (mescalito) — специальные процессы внутри контейнеров stm. Задача обработчика — собрать письмо из частей, находящихся в разных хранилищах.
-
Хранилища индексов (tarantool xtaz) — хранилища «горячих» данных почтовых ящиков.
Существует 2 типа ящиков:
- Сервисный — admin@admin.qdit (администраторы почты).
- Корпоративный — все остальные ящики системы, которые администрируются в
biz.<почтовый домен>.
Чтобы обеспечить отказоустойчивость для каждого кластера необходимо назначать по 2-3 обработчика, которые находятся на разных машинах или в разных дата-центрах.
Контейнеры stm устанавливаются на каждый гипервизор, поэтому количество обработчиков равно количеству машин, отведенных под хранилища. При необходимости могут быть сгенерированы дополнительные контейнеры stm вручную.
Раздел актуален для ситуаций, когда были подключены дополнительные диски.
Необходимый набор томов для контейнеров хранилища выдается в виде набора записей для /etc/fstab.
Отредактировать fstab и смонтировать разделы нужно самостоятельно в консоли. Монтировать рекомендуется по UUID.
Ниже для примера приведен скриншот с одного из наших тестовых стендов.

Пример команд для монтирования разделов:
vi /etc/fstab# Вставляем строчки, скопированные из веб-интерфейса установщика. {params[number=3;position=prefix;anchor=vstavlyaem_strochki_skopirovannye_iz_veb_interfeysa_ustanovshchika]}# Сохраняем изменения. {params[number=4;position=prefix;anchor=sokhranyaem_izmeneniya]}mount -a# Получаем набор предупреждений <путь> mount point does not exist {params[number=5;position=prefix;anchor=poluchaem_nabor_preduprezhdeniy_put_mount_point_does_not_exist]}mkdir -p <путь># Повторяем для всех путей {params[number=6;position=prefix;anchor=povtoryaem_dlya_vsekh_putey]}mount -a
Настройка в этом разделе актуальна только для очень крупных инсталляций. В большинстве случаев достаточно настроек по умолчанию, и можно перейти к следующему шагу с помощью кнопки Далее.
Чтобы добавить более одного кластера, потребуется сгенерировать дополнительные контейнеры.

Чтобы добавить кластер:
- Нажмите кнопку Добавить в первой строке, отмеченной красным.
- Нажмите кнопку Добавить контейнер БД. В зависимости от типа базы данных может быть добавлен один или два контейнера.
- Сохраните изменения.
- Повторите шаги 1-4 для каждой строки, отмеченной красным.
После добавления всех кластеров появится возможность перейти к следующему шагу с помощью кнопки Далее.
В разделе выполняются настройки различных компонентов почтовой системы.

В разделе можно настроить следующие параметры:
- Защита от подбора паролей.
- Количество попыток входа в Почту по IP и адресу электронной почты.
- Указать IP-адреса с неограниченным количеством попыток авторизации.
- Настроить авторизацию по паролю через внешние протоколы.

Настройки авторизации по паролю через внешние протоколы — позволяет запретить пользователям авторизовываться во внешних приложениях (MS Outlook, Почта/Календарь на iOS и т.п.) с помощью основного пароля почты.
Если флаг одного или нескольких протоколов включен, для авторизации по этим протоколам пользователю потребуется не пароль от почты, а одноразовый пароль, сформированный по инструкции Пароль и безопасность из руководства пользователя Почты.
Если флаг протокола выключен, для входа во внешнее приложение достаточно будет ввести пароль аккаунта Почты.
Для случаев, когда необходимо создать общие почтовые ящики для адресов из разных доменов, включите флаг Общая адресная книга для всех доменов.
Чтобы создать организацию, под которой будут объединены домены, кликните по кнопке Добавить. Появится всплывающее окно, куда нужно ввести название организации.

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

Также есть возможность изменить названия организаций, добавить дополнительные домены и удалить домены/организации. После создания организаций перейдите к списку машин, чтобы повторить нужные шаги.
Дальнейшая настройка общих почтовых ящиков производится в административной панели (biz.<почтовый домен>).
Для изменения настроек в разделе нажмите на кнопку редактирования
.

Максимальная глубина вложенности папок — вы можете изменить разрешенную глубину вложенности папок, создаваемых пользователями в своих почтовых ящиках. Значение этого поля также используется при миграции. Если глубина вложенности в исходной системе больше установленного значения, папки будут переноситься в папку с крайней допустимой глубиной.
Максимальное количество получателей в письме — можно ограничить количество пользователей, которым письмо будет отправлено единовременно. Значение по умолчанию — 30 получателей, но, если вы хотите изменить их количество, минимальное значение — 100.
Срок хранения больших аттачей (в секундах) — срок хранения больших вложений.
Выберите нужный домен и нажмите на кнопку редактирования. После включения флага Ограничить доступ к домену появится раздел с более детальными настройками.
Ограничить доступ к домену — если включен только этот флаг, в поле ниже нужно будет ввести IP/подсети, которым будет разрешен доступ к домену. Также вы можете добавить комментарии, если это необходимо.

Режим запрета — запрещать следующим IP/подсетям — если включены оба флага (ограничение доступа и режим запрета), доступ к доменам будет запрещен IP/подсетям, введенным в поле.
Не забудьте повторить шаги на гипервизоре (нужные шаги уже отмечены желтым). Также можно нажать на кнопку Play в общей строке состояния. Для этого перейдите к списку шагов, кликнув по логотипу в левом верхнем углу веб-интерфейса.
Внутри раздела нужно ввести SPF-запись и DKIM-селектор почтового домена. Также есть возможность произвести некоторые настройки для административной панели (biz.<почтовый домен>). Чтобы начать настройку, нажмите кнопку редактирования
.

Административные домены — с помощью кнопки Добавить по одному введите домены (до знака @), которым нужно выдать максимальные права.
Серверная SPF-запись — введите в поле имя SPF-записи в DNS вашего домена, например: my_spf_record.onprem.ru. По умолчанию в SPF-запись ищется по следующему имени: _spf.<почтовый домен>. Подробнее про SPF-запись можно прочитать в статье Настройка SPF.
DKIM-селектор — в поле нужно добавить селектор DKIM-подписи почтового домена.
Количество дней перед удалением пользователя — количество дней, через которое пользователь будет удален из Почты. Изменение настройки по умолчанию актуально при одновременном использовании Почты c Active directory. По умолчанию выставлен срок 5 дней, то есть пользователь будет удален из Почты через 5 дней после его удаления из AD.
Размер облака пользователя по умолчанию (Мб) — при необходимости ограничьте максимальный размер облака для каждого пользователя.
Разрешить предварительную настройку сборщиков для всего домена — включите флаг, если необходимо отобразить окно настроек сборщиков писем в административной панели biz.<почтовый домен>/domains/.

Не проверять актуальность включенного функционала (фич) — при включенном флаге установщик будет пропускать шаг bizf → addBizFeatures.
Общие переменные окружения для всех сервисов панели администрирования — с помощью кнопки Добавить вы можете ввести имя и значение переменных, которые применятся к ролям bizf, biz-celery-worker-* и biz-celery-beat. Вам не нужно будет каждый раз отдельно для всех ролей прописывать переменные, достаточно добавить их в общие переменные окружения.
Для изменения настроек во вкладке кликните по кнопке редактирования
.

Разрешить пользователям менять пароли — включенный флаг разрешает пользователям менять пароли для своих почтовых ящиков.
Установить максимальный срок действия пароля — при установленном флаге можно установить срок действия пароля. Срок задается в секундах (под полем есть подсказка о том, сколько это будет в более крупных единицах измерения).
В этой вкладке вы можете изменить нужные вам настройки, нажав на кнопку редактирования
.

Перемещать письма в спам по заголовку от Kaspersky Linux Mail Server — включите флаг, если необходима проверка на заголовок X-KLMS-Message-Action. Если у письма присутствует этот заголовок и его значение отличается от clean, оно будет автоматически отправляться в папку Спам.
Устанавливать заголовок Received в соответствие требованиям Kaspersky Linux Mail Server — в некоторых случаях Kaspersky Linux Mail Server не может определить последний хоп (расстояние между ближайшими узлами в сетевом протоколе) передаваемого сообщения, из-за этого могут появиться ошибки с валидацией отправителя и проверкой SPF. Чтобы избежать подобных ситуаций, установите этот флаг.
Не сбрасывать письма на MX-сервере в медленную очередь при проблемах доставки — включите флаг, если ваша антиспам/антивирус система не умеет определять сервер отправки почты. Так как медленная почтовая очередь в Почте реализована отдельным шлюзом, с выключенным флагом могут происходить сбои при проверке подлинности отправителя.
Запретить на MX-сервере прием писем для неприпаркованных доменов — чтобы запретить прием писем для доменов с непроверенной MX-записью, включите этот флаг. При включенной отправке писем внутри системы через почтовый шлюз эта опция также будет включена автоматически.
Запретить на MX-сервере прием писем от припаркованных доменов — используется для защиты от подделки злоумышленниками писем локальных пользователей. Это неполноценная защита от подделки отправителя, поэтому рекомендуется установка полноценной антиспам-системы.
Перед почтовой системой есть почтовый шлюз — если перед почтовой системой VK WorkSpace будет установлен какой-либо почтовый шлюз, включите этот флаг. В поле нужно будет ввести адрес промежуточного MX.
Отправлять письма внутри системы через почтовый шлюз — если в вашей инфраструктуре есть система DLP или система антивирусной проверки и вы хотите отправлять всю исходящую переписку через них, включите эту опцию. Письмо от внутреннего отправителя будет перенаправляться в DLP/антивирус для проверки, а затем возвращаться в Почту для доставки отправителю. DLP/антивирус при этом должны работать в режиме SMTP relay. Если опция выключена, письма внутри системы доставляются сразу в почтовый ящик получателя.
Отправлять письма за пределы системы через почтовый шлюз — если в вашей инфраструктуре есть система DLP или система антивирусной проверки и вы хотите отправлять всю исходящую переписку ко внешним отправителям через них, включите эту опцию. Письмо от внутреннего отправителя будет перенаправляться в DLP/антивирус для проверки, а затем отправляться во внешний контур для доставки отправителю. DLP/антивирус при этом должны работать в режиме SMTP relay. Если опция выключена, письма внутри системы доставляются сразу в почтовый ящик получателя.
Ниже представлена схема движения трафика Почты при интеграции с системой DLP:


Кастомные маршруты для доменов — вы можете перенаправить домены на заданные шлюзы вместо стандартных. Вы можете внести в раздел «Почтовые домены» несколько доменов и задать для них несколько адресов шлюзов. Если нужно добавить по одному шлюзу для каждого домена, используйте кнопку Добавить.
Список серверов, имеющих право отправлять почту без авторизации — добавьте список IP-адресов серверов, почта с которых будет приниматься без авторизации. В список нужно обязательно добавить адреса шлюзов, с которых почта должна возвращаться в сервис Почта. В этот же список можно внести серверы рассылки почты или в соответствии с их назначением МФУ, отсканированные документы с которых будут отправляться без авторизации. Почта, отправленная в Почту VK WorkSpace без авторизации, будет приниматься на порту 1025.
Список серверов, имеющих право отправлять почту без авторизации для определенных почтовых доменов — если вы планируете использовать несколько почтовых доменов, есть возможность добавить для каждого домена свои доверенные IP. Письма с указанных доменов должны отправляться на порт 1025.
Отправлять скрытые копии сообщений — в почтовой системе VK WorkSpace реализована возможность отправки скрытых копий сообщений на специальный ящик: от внешних отправителей, сообщений между внутренними пользователями и от внутренних пользователей внешним. В таком случае проверка внутренних писем не будет блокировать потоки почты.
Канонические (PTR) имена гипервизоров — укажите название хоста в PTR-записи. PTR-запись позволяет определить по IP имя хоста, с которого приходит почта. Если при проверке имя хоста будет отличаться, письмо не будет доставлено или попадет в папку Спам.
В разделе настраиваются служебные почтовые рассылки для внутренних пользователей. Чтобы перейти к настройкам, нажмите на кнопку редактирования. Есть возможность создать рассылки для VK WorkDisk, административной панели и уведомлений об отзыве письма.

- Введите email и имя отправителя.
- Введите адрес и порт сервера рассылки.
- Сохраните изменения.
- Перейдите к списку ролей и запустите автоматическую установку, чтобы применить настройки.
-
Нажмите на
и перейдите в раздел Продукты. -
Перейдите на вкладку Почта.
-
Включите флаг Система расширенных транспортных правил.
-
Перейдите к списку ролей и запустите автоматическую уставку.
-
Когда нужные роли сгенерируются, перейдите в раздел Компоненты → Система расширенных транспортных правил и включите нужные флаги.

Дальнейшая настройка транспортных правил производится в административной панели по завершении установки.
Чтобы изменить время хранения логов, кликните по кнопке редактирования.

Время хранения событий по пользователям (в секундах) — вы можете установить время хранения логов. При установленном значении 0 срок хранения логов не будет ограничен.
Включить статистику по IP — при включенном флаге появится окно для изменения срока хранения логов по IP.
Настройки мониторинга актуальны для случаев, когда необходимо переключиться с внутреннего мониторинга Почты на внешние системы мониторинга (Graphite/Prometheus).
Чтобы включить внешнюю систему мониторинга:
-
Нажмите на
и перейдите в раздел Продукты. -
Перейдите на вкладку Администрирование.
-
Включите флаг Система сбора и отправки метрик. При этом флаг Система мониторинга будет автоматически отключен.

-
Сохраните изменения и вернитесь к списку ролей.
-
Внизу страницы нажмите на кнопку Сгенерировать автоматически, чтобы установщик сформировал новые роли.
-
Чтобы предотвратить возможные проблемы, перейдите в консоль и перезапустите установщик с помощью команды:
sudo systemctl restart deployer -
После перезапуска в списке ролей отобразятся роли, которые нужно удалить. Если в интерфейсе не подсветились роли для удаления, перезагрузите страницу.
-
Удаление может занять некоторое время. Когда все неактуальные роли будут удалены, запустите автоматическую установку.
-
Далее перейдите в раздел Настройки компонентов → Мониторинг. Введите необходимые данные для системы мониторинга, которую вы используете.

-
Сохраните изменения.
По ссылке Набор готовых дашбордов для Grafana вы можете скачать дашборды в формате JSON для добавления их в Grafana.
Если вы используете прокси-сервер при подключении клиентов к системе VK WorkSpace, включите флаг Перед VK WorkSpace есть прокси-сервер, чтобы контейнер, отвечающий за HTTPS-соединение, мог принимать трафик без шифрования.

Список IP прокси-серверов — введите в поле список IP-адресов, с которых Почта будет принимать заголовки с оригинальными IP клиента и оригинальным протоколом подключения.
HTTP-заголовок прокси с оригинальным IP клиента — добавьте в поле заголовок прокси, который передает реальный IP-адрес клиента, иначе сервис будет работать некорректно.
HTTP-заголовок прокси с оригинальным протоколом подключения клиента — для корректной работы почтовых сервисов введите заголовок оригинального протокола подключения.
Шаг выполняется, только если при выборе продуктов в разделе Администрирование был включен продукт Внешний S3 как хранилище для Почты и Диска. Если продукт выключен, инсталляция использует встроенное хранилище и настраивать ничего не нужно.
Параметры подключения задаются отдельно для каждого типа хранилища. Перейдите в раздел Настройки → вкладка Хранилища, слева выберите s3, затем откройте вкладку нужного типа хранилища и нажмите на значок карандаша.

Протокол, хост и порт S3 сервера — адрес внешнего S3 в формате <протокол>://<хост>:<порт>, например https://example.com:443. Обращение к объектам выполняется в стиле path-style, то есть по схеме http(s)://<хост>/<бакет>/<ключ>.
S3 Bucket — имя бакета, в котором будут храниться объекты этого типа хранилища.
S3 Access Key ID — идентификатор ключа доступа к S3.
S3 Secret Key — секретный ключ доступа к S3. После сохранения значение скрывается и в интерфейсе не отображается.
S3 Region — регион S3. Заполняется, если этого требует ваш провайдер. Значение по умолчанию — auto.
S3 Storage Class — класс хранения объектов. Заполняется, если этого требует ваш провайдер. Значение по умолчанию — auto. Рекомендуемый класс зависит от типа хранилища и указан в интерфейсе установщика в блоке Рекомендации к S3.
Заполните параметры на всех вкладках — blobcloud, blobsign, cloud, crow, skel. Набор вкладок зависит от состава устанавливаемых продуктов. Требования и рекомендации к каждому типу хранилища установщик показывает на его вкладке в блоках Требования к S3 и Рекомендации к S3.
После заполнения параметров нажмите Сохранить и продолжите установку.
Ограничения функциональности, требования к S3-хранилищу, список совместимых провайдеров, описание типов хранилищ с расчетом нагрузки и порядок изменения параметров подключения после установки описаны в отдельном документе — Как подключить внешний S3 как хранилище для Почты и Диска.
В блоке будут отображаться интеграции, которые вы включили на этапе выбора продуктов и опций (настройки интеграций могут также находиться в верхнем меню).
Настройка интеграции Мессенджер и ВКС и Почты — с помощью документа вы сможете настроить интеграцию между Мессенджер и ВКС и Почтой.
Миграция календарей по протоколу EWS — документ по настройке миграции событий из MS Exchange в сервис Почта.
Интеграция с Keycloak для SSO-авторизации — в документе содержится инструкция по настройке интеграции с сервисом SSO-авторизации.
Аудит действий пользователей -- в документе описаны предусмотренные в Почте системы аудита действий пользователя и их отличия. Описано, как включить сбор статистики по IP и настроить отправку событий во внешние хранилища.
Настроить дублирование действий пользователей во внешние хранилища
В разделе есть возможность добавить почтовые серверы для синхронизации/миграции, а также список папок, которые не будут участвовать в синхронизации.

Белый список удаленных серверов — по умолчанию в полях указаны внутренние IP-адреса. Если вы планируете миграцию почты с других почтовых серверов, добавьте их IP-адреса или имена в белый список — Почта будет определять эти IP/хосты как публичные. При миграции из систем с белым IP/доменом поле можно оставить пустым. При настройке миграции в административной панели вам нужно будет ввести IP/хост, с которого будет производиться миграция.
Список папок, исключенных из синхронизации — если у вас есть папки, которые не должны участвовать в синхронизациив соответствии с их назначением «Черновики» и «Удаленные», введите их названия через запятую в строгом соответствии с оригинальным названиям из вашей системы (названия папок регистрозависимы).
В разделе вы можете настроить интеграции с несколькими инсталляциями Почты и/или миграции с Exchange и других почтовых серверов.
Чтобы перейти к настройкам, нажмите на кнопку редактирования. Появится возможность изменить значения полей.

Список адресов машин с БД namespase sharing — с помощью кнопки Добавить внесите IP-адреса машин с инсталляциями Почты. При нескольких инсталляциях введите все адреса машин, объединенных в БД namespase sharing.
Каждая из инсталляций получит реплики каталогов пользователей с IP, указанных в поле. При отправке письма система будет знать, на какой почтовый сервер его направить.
По умолчанию в поле указан локальный IP. Если вы пока что не планируете работу с несколькими инсталляциями, оставьте значение по умолчанию.
Также потребуется настройка переменных окружения, описанная в следующем шаге.
Перенаправлять письма неизвестных получателей на сервер — если вы будете проводить миграцию с других почтовых серверов, введите его IP-адрес в поле. В случаях, когда письмо отправляется в адрес пользователей, которые еще не мигрировали в Почту, система будет автоматически перенаправлять их на указанный IP-адрес. Перенаправление будет работать только для припаркованных доменов.
Продублируйте значение по умолчанию из поля выше, если перенаправление писем в данный момент не требуется.
Сохраните изменения и перейдите к следующему шагу, нажав на кнопку Далее.
Чтобы получить возможность просматривать статистику использования Диска VK WorkSpace в административной панели (biz.<почтовый домен>), в списке продуктов необходимо включить опцию Система BI-аналитики и Kafka внутри инсталяции и нажать на кнопку Сохранить.
Чтобы подключиться к внешнему серверу Kafka, перейдите в раздел Интеграции -> Настройки cистемы BI-аналитики и заполните соответствующие поля.

Сохраните изменения.
Перейдите к списку ролей, кликнув по логотипу в левом верхнем углу веб-интерфейса. Внизу страницы необходимо создать дополнительные роли.
-
Нажмите на кнопку Добавить -> Несколько контейнеров.
-
В поле Установлено не более: введите значение 0. Появятся контейнеры для распредления.
-
Добавьте контейнеры для Clickhouse на гипервизоры для хранилищ.
-
Если вы используете Kafka внутри инсталяции, распределите контейнеры с Kafka на гипервизоры для баз данных тем же способом (с помощью кнопки Добавить).
-
По окончании генерации контейнеров запустите автоматическую установку в общей строке состояния.
Перед запуском автоматической установки оставьте включенными все проверки. Подробнее о работе проверок можно прочитать здесь: Диагностика системы в веб-интерфейсе установщика
</info>
Когда установка будет завершена, у вас появится возможность просматривать статистику Диска в панели администратора.
В разделе производится настройка кастомных переменных почтовой системы.

Чтобы добавить кастомную переменную:
-
Нажмите на кнопку редактирования.
-
Нажмите кнопку Добавить.
-
В выпадающем меню выберите название переменной.
-
Введите значение переменной. Значение переменной должно быть введено корректно, иначе установщик не позволит создать переменную.

-
Нажмите на кнопку Сохранить.
-
Нажмите на кнопку Далее для перехода к следующему шагу.
-
Кликните по кнопке Play рядом c общей строкой состояния в верхней части экрана.
-
Подтвердите запуск автоматической установки, нажав на кнопку Запустить.
В зависимости от этапа установки будет меняться цвет индикатора:
- Серый — в ожидании начала генерации;
- Синий — в процессе генерации;
- Желтый — шаг будет повторен (автоматически);
- Красный — ошибка.
-
Ожидайте завершения установки. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.
Если в процессе установки и настройки системы происходят изменения конфигурации, некоторые задачи могут потребовать повторного выполнения.
Для повторного запуска необходимо нажать на кнопку Play в общей строке состояния в верхней части экрана или рядом с названием конкретного контейнера.
При появлении ошибок на гипервизоре на нем появится тег Не отвечает, а на контейнерах, относящися к этому гипервизору — Не отвечает гипервизор.

Чтобы продолжить установку:
-
Сгруппируйте объекты по гипервизору — так вам будет наглядно видно, на каком гипервизоре ошибка.

-
После этого перейдите в командную строку и устраните ошибку. По завершении необходимо нажать на шестеренку в строке гипервизора, на котором была ошибка, затем на странице в списке шагов на гипервизоре.


-
В окне настроек гипервизора нажмите на кнопку Обновить.

-
Повторно запустите автоматическую установку.
Когда установка будет завершена, соответствующий статус отобразится в строке состояния.
-
Нажмите на кнопку Далее.

-
Введите имя почтового домена и нажмите на кнопку Добавить.

Откроется новая вкладка, на которой необходимо авторизоваться:
- Имя пользователя — admin@admin.qdit.
- Пароль находится в файле — bizOwner.pass, для его просмотра введите в консоли команду:
cat <путь до директории с установщиком>/bizOwner.pass.

Если логин и пароль были введены правильно, вы попадете в панель администратора.
-
Нажмите на кнопку Проверить сейчас, чтобы проверить MX-запись.

При успешно пройденной проверке появится уведомление о том, что MX-запись настроена верно.

После проверки MX-записи установку можно считать оконченной. Также потребуется настройка SPF-записи и DKIM-подписи. Инструкции по их настройке вы найдете по ссылке.
Если вы планируете использовать несколько доменов, добавьте их с помощью кнопки Добавить домен.
Если хотите сделать домен припаркованным, необходимо пройти проверку MX-записи способом, описанным выше. Чтобы сделать домен известным для Почты, достаточно просто добавить домен в список.
Симптомы:
Шаг create_and_upload_S3_docs_onprem или другой шаг создания бакетов S3, например create_S3_bucket, завершается с ошибкой.
Диагностика:
В командах ниже <namespace> — пространство имен, указанное в параметре Namespace по умолчанию при настройке кластера Kubernetes.
-
Найдите поды streamer-hotbox:
kubectl get pods -n <namespace> | grep streamer-hotbox -
Проверьте, есть ли в логах подов ошибка
NO_ROUTE_TO_BUCKET:kubectl logs -n <namespace> <имя_пода> -c streamer-hotbox | grep NO_ROUTE_TO_BUCKETПример ошибки:
2026-09-27T20:04:04.752119697+03:00 [ERRO] Not commit transaction for pair: 1, hash: 72A2DA223EEF53EC18212623F4A953173F924BAC, err: not started transaction for move file: pair - 1, hash - 72A2DA223EEF53EC18212623F4A953173F924BAC, err: time to all retries is reached, last error: INTERNAL: [nil] Request to FileDB failed: {"bucket_id":469550,"code":9,"type":"ShardingError","message":"Bucket 469550 cannot be found. Is rebalancing in progress?","name":"NO_ROUTE_TO_BUCKET"} (0x20) [2et3AqwTf]2026-09-27T20:04:04.916872554+03:00 [ERRO] Nylon fail func: nylon.api.storage.hash_download, need_retry: false, attemt: 2/10, err: time to all retries is reached, last error: INTERNAL: [nil] FileDB failed communication: {"bucket_id":469550,"code":9,"type":"ShardingError","message":"Bucket 469550 cannot be found. Is rebalancing in progress?","name":"NO_ROUTE_TO_BUCKET"} (0x20) [2UFwD5edU]Ошибка означает, что роутер vshard в сервисе nylon не знает, где хранится часть данных FileDB. Бакеты в тексте ошибки — это виртуальные бакеты vshard, они не связаны с бакетами S3.
-
Если ошибка есть, откройте консоль в поде nylon, например nylon1-0:
kubectl exec -it -n <namespace> nylon1-0 -c nylon -- bash -
Подключитесь к консоли Tarantool:
tarantoolctl connect /var/run/tarantool/tarantool.sock -
Выполните команду:
vshard.router.info() -
Проверьте параметр
alertsв конце вывода. Если роутер видит все бакеты, список пуст:alerts: []. Если часть бакетов не обнаружена, их количество указано в параметреunknownблокаbucket, а вalertsесть предупреждениеUNKNOWN_BUCKETS:bucket:unreachable: 0available_ro: 0unknown: 13available_rw: 1048563identification_mode: uuid_as_keystatus: 1alerts:- ['UNKNOWN_BUCKETS', '13 buckets are not discovered']...Если подов nylon несколько, проверьте каждый.
Решение:
- В веб-интерфейсе установщика выполните шаг up_container для каждого контейнера nylon, в поде которого есть предупреждение
UNKNOWN_BUCKETS. Имя контейнера совпадает с именем пода без суффикса-0: поду nylon1-0 соответствует контейнер nylon1. - Когда шаг завершится, снова выполните
vshard.router.info()в поде и убедитесь, что списокalertsпуст. - Повторно выполните шаг, который завершился с ошибкой.
-
Перезапуск установщика:
sudo systemctl restart deployer -
Логи установщика:
sudo journalctl -fu deployer -
Список запущенных подов:
kubectl get pods -n <namespace>Добавьте флаг
-o wide, чтобы увидеть, на каких нодах размещены поды. -
Список подов, которые не перешли в состояние
Running:kubectl get pods -n <namespace> --field-selector=status.phase!=Running -
Состояние нод кластера:
kubectl get nodes -o wide -
Логи конкретного пода:
kubectl logs -n <namespace> <имя_пода>Полезные флаги:
-f— следить за логом в реальном времени.--tail=100— вывести только последние 100 строк.--previous— логи предыдущего запуска. Пригодится, если под успел перезапуститься и логи упавшего экземпляра уже не отдаются.-c <имя_контейнера>— выбрать контейнер, если в поде их несколько.
-
Подробная информация о поде — события, причина перезапуска, ограничения по ресурсам:
kubectl describe pod -n <namespace> <имя_пода> -
События в пространстве имен в порядке возникновения:
kubectl get events -n <namespace> --sort-by=.lastTimestamp -
Консоль внутри пода:
kubectl exec -it -n <namespace> <имя_пода> -- bash -
Перезапуск пода:
kubectl delete pod -n <namespace> <имя_пода> -
Перезапуск всех подов сервиса:
kubectl rollout restart -n <namespace> deployment/<имя_сервиса>kubectl rollout restart -n <namespace> statefulset/<имя_сервиса>
Технический писатель: Груздев Никита

