Перейти к содержанию

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

Назначение документа

В документе описана процедура кластерной установки Диска. Минимальной отказоустойчивой конфигурацией для установки системы считается кластер на 8 машин.

Требования к администраторам

  • Знание Linux на уровне системного администратора.
  • Знание основ работы Систем управления базами данных (СУБД).
  • Знание основ работы служб каталогов (Directory Service).
  • Понимание основ контейнеризации.
  • Знание основ работы сетей и сетевых протоколов.
  • Знание основных инструментов для работы в командной строке: bash, awk, sed.

Дополнительная документация

Что делать, если при входе в панель администратора появляется ошибка «Неверный пароль»

Как обновить лицензионный ключ

Установщик не может получить доступ до гипервизора

Настройка интеграции с Active Directory

Схема тестового кластера

Вне зависимости от размера кластера нужно соблюдать следующее соотношение виртуальных машин:

cluster-architecture

Минимальная отказоустойчивая конфигурация на 8 машин, которая будет описана в документе, выглядит таким образом:

  • 1 ВМ отводится под мониторинг;
  • 2 ВМ — под фронты;
  • 2 ВМ — под базы данных;
  • 3 ВМ — под хранилища.

Дистрибутив Диска и файл onpremise-deployer_linux должны находиться на гипервизоре, отведенном под мониторинг.

Технические требования

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

  • Astra Linux SE Орел — версия 1.7.5+, версия ядра — 5.15.
  • Astra Linux SE Орел — версия 1.8, версия ядра — 6.1.
  • РЕД ОС — версия 7.3.5, версия ядра — 6.1.
  • РЕД ОС — версия 7.3с (сертифицированная), версия ядра — 6.1.
  • РЕД ОС — версия 8, версия ядра — 6.6 или 6.12.
  • MosOS Arbat — версия 15.5, версия ядра — 5.14.

Архитектура системы — x86_64.

Обновлять операционную систему можно только на поддерживаемую версию и только после консультации с представителем VK. Список поддерживаемых ОС может быть уточнен в рамках работ по индивидуальному проекту.

Внимание

Чтобы Диск VK WorkSpace работал корректно, нужно установить оперативное обновление ядра ОС указанной выше версии. Версия должна быть актуальной на момент установки.

Пример настройки параметров ОС

Важно

Установка данных параметров возможна только после консультации с вашими системными администраторами.

Создайте файл /etc/sysctl.d/98-vkworkspace.conf с настройками sysctl:

kernel.pid_max=4194304
net.ipv4.tcp_tw_reuse=1
net.netfilter.nf_conntrack_tcp_timeout_time_wait=3
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=5
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.netfilter.nf_conntrack_max = 4194304
net.ipv4.tcp_syncookies = 1

Создайте файл /etc/security/limits.d/98-vkworkspace-limits.conf с настройками лимитов:

*    hard nofile 1048576
*    soft nofile 131072
*    hard nproc  257053
*    soft nproc  131072
root hard nofile 1048576
root soft nofile 262144
root hard nproc  514106
root soft nproc  262144

Дополнительные настройки для сертифицированной РЕД ОС 7.3

Файл /etc/sysctl.d/98-vkworkspace.conf с настройками sysctl для сертифицированной РЕД ОС 7.3 будет отличаться:

kernel.pid_max=4194304
net.ipv4.tcp_tw_reuse=1
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv4.tcp_syncookies = 1

До установки Диска VK WorkSpace:

  1. Внесите изменение в конфигурации /etc/systemd/system.conf:

    DefaultLimitNOFILE=524288:524288
    
  2. Установите следующие пакеты из репозитория РЕД ОС 7.3, поставляемого с операционной системой:

    • docker-ce-cli-20.10.24-1.el7.x86_64
    • docker-ce-rootless-extras-20.10.24-1.el7.x86_64
    • docker-ce-20.10.24-1.el7.x86_64
    • docker-ce-20.10.24-1.el7.i686
    • docker-compose-2.29.2-1.el7.x86_64
    • docker-compose-switch-1.0.5-1.el7.x86_64

    Установить пакеты можно с помощью команды:

    yum install docker-ce-cli-20.10.24-1.el7.x86_64 docker-ce-rootless-extras-20.10.24-1.el7.x86_64 docker-ce-20.10.24-1.el7.x86_64 docker-ce-20.10.24-1.el7.i686 docker-compose-2.29.2-1.el7.x86_64 docker-compose-switch-1.0.5-1.el7.x86_64
    

Дополнительные настройки для MosOS Arbat

Установите docker 20.x и docker-compose из репозитория MosOS:

zypper install -y docker docker-compose bind-utils ncat

Требования к ресурсам серверов

Внимание

Требования ниже не учитывают работу антивируса, DLP и других дополнительных систем устанавливаемых на сервера. Требования учитывают только базовые функции, если вы хотите включить дополнительные Продукты, то предварительно проконсультируйтесь с представителем VK о дополнительных системных требованиях.

По вопросам создания сайзинг-модели специально для вашей компании обратитесь к представителям VK. Минимальные технические параметры для 8 машин:

  • Установщик + мониторинг: 8 vCPU, 16 GB RAM, 200 GB SSD;
  • Фронт №1: 16 vCPU, 40 GB RAM, 150 GB SSD;
  • Фронт № 2: 16 vCPU, 40 GB RAM, 150 GB SSD;
  • База данных №1: 16 vCPU, 20 GB RAM, 150 GB SSD;
  • База данных №2: 16 vCPU, 20 GB RAM, 150 GB SSD;
  • Хранилище №1: 8 vCPU, 16 GB RAM, 250 GB SSD;
  • Хранилище №2: 8 vCPU, 16 GB RAM, 250 GB SSD;
  • Хранилище №3: 8 vCPU, 16 GB RAM, 250 GB SSD.

Рекомендация

Используйте процессоры Intel Xeon Gold 6140 и новее.

Как использовать системы виртуализации

Если вы используете системы виртуализации для развертывания серверов VK WorkSpace необходимо учитывать особенности выделения ресурсов:

vCPU

Не допускайте переподписку. Суммарные vCPU на хосте не должны превышать количество физических ядер, выделенных всем виртуальным машинам. При этом не рекомендуется считать Hyper-Threading полноценными ядрами.

Не выделяйте одной виртуальной машине количество ядер больше, чем количество ядер на физическом сокете.

RAM

Не назначайте суммарную vRAM выше физической RAM хоста.

Механизмы экономии памяти

Не включайте механизмы ballooning и сжатия памяти.

swap

Не используйте swap — как на гипервизоре, так и внутри виртуальных машин.

Резервирования ресурсов виртуальных машин

Устанавливайте всю выделенную память и процессоры в резерв для виртуальных машин системы.

Хранилище

Не используйте тонкие диски (диски типа Thin) — диски с отложенным выделением пространства на СХД.

Таблица совместимости

Технология Версия
Мессенджер и ВКС не старше двух последних версий
MS Exchange Server 2013/2016
Keycloak 17, с использованием OAuth 2.0
Kerberos 5
Р7-Офис ee-2024.1.1.375.rev1

Примечание

Keycloak является внешним провайдером аутентификационной информации (proxy) и не выступает в качестве полноценной IDM системы.

Предварительные условия

Представители VK предоставили вам следующие данные:

  • Ссылку на скачивание дистрибутива Диска 25.4.
  • Пароль от архива с дистрибутивом.
  • Лицензионный ключ.
  • Комплект документации.

Также вам потребуется:

  • Набор DNS-записей: A, CNAME, MX, SPF, TXT, NS.
  • Поддержка процессорами набора инструкций 3DNow, ADX, AES, AVX, AVX2, BMI, BMI2, CMOV, MMX, MODE64, NOT64BITMODE, NOVLX, PCLMUL, SHA, SSE1, SSE2, SSE41, SSE42, SSSE3 и XOP для каждого гипервизора.
  • DKIM-подпись с селекторами для каждого домена (или несколько DKIM c разными селекторами для одного домена).
  • Доступ к серверам по SSH с правами администратора (вход по ключу или по паролю).
  • Локальная сеть 10 GbE.
  • Отключить swap.
  • Сертификаты SSL для каждого CNAME или Wildcard-сертификат для домена.
  • Доступ к портам: 25, 2525, 80, 143, 443, 465, 993, 1025.
  • Доступ к административным портам: 22, 8888*.
  • tar.
  • Утилита для распаковки zip-архивов, например 7zip или unzip.
  • Active Directory или другая служба каталогов, работающая по протоколу LDAP.

Внимание

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

Для доступа к веб-интерфейсу: 80 (http), 443 (https). Вы должны сами определить с каких IP-адресов будут доступны порты.

Информация

Порт 8888 используется сервисом deployer (установщик). Рекомендуется применять следующие наложенные средства защиты:

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

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

Как работать с Wildcard-сертификатами

Один wildcard-сертификат охватывает только один уровень поддоменов. Это означает, что wildcard-сертификат выпущенный для domain.ru будет действительным для всех его субдоменов третьего уровня, но не будет работать для четвертого. Соответственно если необходима защита поддоменов четвертого и далее уровней нужно получить отдельный wildcard-сертификат для родительского домена каждого из них. Например, домен для Диска disk.onprem.ru, а домен для хранилища disk-st.onprem.ru, тогда в сертификат необходимо добавить шесть доменов:

  • *.disk.onprem.ru
  • *.cloud.disk.onprem.ru
  • *.disk-st.onprem.ru

Какие протоколы использует Диск

  • HTTPS для доступа к веб-интерфейсу Диска с использованием TLS.
  • CalDAV для синхронизации календаря.
  • CardDAV для синхронизации и управления контактами.
  • WebDAV для работы с Диском.
  • Kerberos или NTLM — протокол взаимодействия с Active Directory клиента.
  • IP in IP — протокол туннелирования IP.

Защита сетевых соединений

Для защиты сетевых соединений между серверами, виртуальными машинами и контейнерами системы используется ПО WireGuard.

Обязательные предварительные действия

Настройте ротацию логов в journald

Выполните шаги из инструкции Как настроить ротацию логов в journald.

Создание DNS-записей

Для работы Диска вам нужны:

  • Два основных домена: для диска и для хранилищ.
  • Набор A- или CNAME-записей.

Примечание

В случае кластерной установки есть минимум две виртуальные машиные выделенные под фронт. Поэтому вам нужно обеспечить резолвинг всех доменных имен в IP-адреса машин выделенных под фронт. Резолвингом называется процесс получения IP-адреса по символическому имени. Например, вы можете создать две А-записи с одинаковыми именем, но разными IP-адресами от машин под фронт.

Для примера в документе будут использоваться следующие DNS-записи:

  • Домен для сервисов Дискаdisk.onprem.ru. При создании домена рекомендуется соблюдение структуры: ***disk.***.*** или ***disk.***.
  • Домен для облачных хранилищdisk-st.onprem.ru. Пример структуры: ***st.***.*** или ***cloud.***.

Домен для облачных хранилищ должен быть того же уровня, что и домен для сервисов диска, и иметь свое уникальное имя.

Внимание

Изменять структуру основных доменов запрещено! Несоблюдение структуры и уровня доменов может привести к утечке данных через проброс cookies. Также вы столкнетесь с ошибками на этапе настройки доменных имен.

Далее в таблицах представлен список A- или CNAME-записей, которые нужно создать перед установкой сервиса Диск. Домены из таблиц должны являться поддоменами для двух основных.

Для Диска:

Как создается домен: account (субдомен из таблицы) + disk.onprem.ru (основной домен из примера, который вы замените своим) = account.disk.onprem.ru.

Назначение домена Имя домена Пример
Веб-интерфейс авторизации account account.disk.onprem.ru
Доменная авторизация (внутренних запросов браузера) auth auth.disk.onprem.ru
Интерфейс администрирования biz biz.disk.onprem.ru
Капча c c.disk.onprem.ru
VK WorkDisk cloud cloud.disk.onprem.ru
Загрузка файлов в VK WorkDisk cld-uploader.cloud cld-uploader.cloud.disk.onprem.ru
Скачивание файлов в веб-интерфейсе VK WorkDisk cloclo.cloud cloclo.cloud.disk.onprem.ru
Загрузка файлов в VK WorkDisk cloclo-upload.cloud cloclo-upload.cloud.disk.onprem.ru
Интеграция с API VK WorkDisk openapi.cloud openapi.cloud.disk.onprem.ru
Загрузка файлов в публичные папки в VK WorkDisk pu.cloud pu.cloud.disk.onprem.ru
Портальная авторизация VK WorkDisk sdc.cloud sdc.cloud.disk.onprem.ru
Загрузка больших почтовых вложений в VK WorkDisk uploader.e uploader.e.disk.onprem.ru
Превью файлов в VK WorkDisk thumb.cloud thumb.cloud.disk.onprem.ru
Сервис аватарок filin filin.disk.onprem.ru
Исполняемые статические данные imgs imgs.disk.onprem.ru
OAUTH2-авторизация o2 o2.disk.onprem.ru
Общепортальные сервисы авторизации portal portal.disk.onprem.ru
Сервер авторизации (межсерверные запросы) swa swa.disk.onprem.ru
Webdav webdav.cloud webdav.cloud.disk.onprem.ru

Для хранилищ:

Как создается домен: cloclo (субдомен из таблицы) + disk-st.onprem.ru (основной домен из примера, который вы замените своим) = cloclo.disk-st.onprem.ru.

Назначение домена Имя домена Пример
Защита от XSS-атак при скачивании файлов из VK WorkDisk cloclo cloclo.disk-st.onprem.ru
Скачивание больших почтовых вложений из VK WorkDisk cloclo-stock cloclo-stock.disk-st.onprem.ru
Распаковка архивов в интерфейсе VK WorkDisk cld-unzipper cld-unzipper.disk-st.onprem.ru
Домен для текстового редактора R7-office docs docs.disk-st.onprem.ru

Внимание

Изменять доменные имена из таблицы запрещено! Установщик сервис Диск использует их при развертывании системы. Если при установке не будет найден соответствующий домен, может произойти сбой.

Подключение дисков

К машинам, отведенным под хранилища, рекомендуется заранее подключить диски. Подключенные диски необходимо разбить на разделы, для этого можно использовать любые привычные утилиты, например fdisk.

На разделах дисков необходимо создать файловую систему. Мы рекомендуем ext4, также поддерживается xfs.

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

mkfs.ext4 <путь к устройству>

Внимание

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

Список портов для установки

Внимание

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

Для доступа к веб-интерфейсу: 80 (http), 443 (https). Вы должны сами определить с каких IP-адресов будут доступны порты.

Протокол Порт Служба/Контейнер Описание службы/контейнера Назначение порта Кто обращается
TCP 9091 calico-node Демон динамической маршрутизации Сбор метрик prometheus victoria-metrics
TCP 5000 registry Хранилище docker-образов Подключение к сервису Все машины инсталляции
TCP 2379 infraetcd etcd, которое хранит инфраструктурные данные, например настройки сети Подключение клиентов (потребителей) Все машины и контейнеры инсталляции
TCP 2380 infraetcd etcd, которое хранит инфраструктурные данные, например настройки сети Общение между инстансами etcd Другие infraetcd
TCP 4001 infraetcd etcd, которое хранит инфраструктурные данные, например настройки сети Подключение клиентов (потребителей) Все машины и контейнеры инсталляции
TCP 8080 cadvisor Инструмент снятия телеметрии с контейнеров Сбор метрик prometheus victoria-metrics
TCP 9100 node-exporter Инструмент снятия телеметрии с гипервизоров Сбор метрик prometheus victoria-metrics
TCP 2003 carbclick Сервис, который принимает метрики и передает их в clickhouse Прием метрик Любые контейнеры
TCP 2004 carbclick Сервис, который принимает метрики и передает их в clickhouse Прием метрик Любые контейнеры
TCP 22 sshd Демон операционной системы, предоставляющий консоль пользователю ssh подключения Onpremise-deployer
TCP 179 Bird Calico. Работа BGP сессиий _ Между всеми серверами системы
TCP 8888 onpremise-deployer Приложения для установки и начальной настройки VK WorkSpace Подключение администраторов Администраторы
UDP 2003 carbclick Сервис, который принимает метрики и передает их в clickhouse Прием метрик Любые контейнеры

Этапы установки

Весь процесс установки можно разделить на два этапа:

  1. В командной строке на сервере выполняются действия для запуска установщика.
  2. Последующая установка производится в специальном веб-интерфейсе.

Действия в командной строке на сервере

Шаг 1. Создание пользователя deployer

При кластерной установке вам нужно создать пользователя deployer и скопировать ssh-ключи на всех виртуальных машинах в кластере. Необязательно добавлять один и тот же ssh-ключ, главное, чтобы ВМ с установщиком имела доступ по ssh к другим ВМ в кластере. Ниже алгоритм, который надо выполнить на ВМ с установщиком. На остальных машинах нужно создать пользователя deployer и скопировать ssh-ключи. /home/deployer/.ssh и /home/deployer/.ssh/authorized_keys должны быть с правами 600

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

    sudo -i
    
    # Задаем пароль и создаем пользователя deployer
    DEPLOYER_PASSWORD=mURvnxJ9Jr
    
    useradd -G astra-admin -U -m -s /bin/bash deployer
    
    echo deployer:"$DEPLOYER_PASSWORD" | chpasswd
    
    # Игнорируем ошибку "НЕУДАЧНЫЙ ПАРОЛЬ: error loading dictionary"
    # в случае, если она появилась
    
    # Перелогиниваемся под пользователем deployer
    sudo -i -u deployer 
    
    ssh-keygen -t rsa -N "" 
    # Нажимаем Enter (согласиться с вариантом по умолчанию)
    
    # Копируем ssh-ключ в нужную директорию
    cat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keys
    
    chmod 600 /home/deployer/.ssh/authorized_keys
    
    # Опционально: проверяем, что сами к себе можем зайти без пароля
    ssh deployer@localhost
    
    exit
    
    sudo -i
    
    # Задаем пароль и создаем пользователя deployer
    DEPLOYER_PASSWORD=mURvnxJ9Jr
    
    useradd -G wheel -U -m -s /bin/bash deployer
    
    echo deployer:"$DEPLOYER_PASSWORD" | chpasswd
    
    # Перелогиниваемся под пользователя deployer
    sudo -i -u deployer 
    
    ssh-keygen -t rsa -N "" 
    # Нажимаем Enter (согласиться с вариантом по умолчанию)
    
    # Копируем ssh-ключ в нужную директорию
    cat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keys
    
    chmod 600 /home/deployer/.ssh/authorized_keys
    
    # Опционально: проверяем, что сами к себе можем зайти без пароля
    ssh deployer@localhost
    
    exit
    
    sudo -i
    
    # Задаем пароль и создаем пользователя deployer
    
    DEPLOYER_PASSWORD=xJ9JrmURvn
    
    groupadd deployer
    useradd -p "$(openssl passwd -crypt "$DEPLOYER_PASSWORD")" deployer
    usermod -aG wheel deployer
    
    # MosOS автоматически не создает группу для нового пользователя
    
    usermod -aG deployer deployer
    mkdir -p /home/deployer/.ssh
    chown deployer:deployer /home/deployer/.ssh
    
    ssh-keygen -t rsa -f /home/deployer/.ssh/id_rsa -N ""
    # Нажимаем Enter (согласиться с вариантом по умолчанию)
    
    # Копируем ssh-ключ в нужную директорию
    cat /home/deployer/.ssh/id_rsa.pub >> /home/deployer/.ssh/authorized_keys
    
    chmod 600 /home/deployer/.ssh/authorized_keys
    chown deployer:deployer /home/deployer/.ssh
    chown deployer:deployer /home/deployer/.ssh/*
    
    
    # Опционально: проверяем, что сами к себе можем зайти без пароля
    ssh deployer@localhost
    
    exit
    

    Внимание

    Вся дальнейшая установка будет производиться под созданным пользователем deployer. Если вы планируете устанавливать под другим пользователем, это необходимо учитывать при дальнейшей установке. Также пользователь должен иметь права администратора.

  2. Выполните команду sudo visudo.

  3. В файле /etc/sudoers уберите # в начале следующей строки:

    # %astra-admin       ALL=(ALL)       NOPASSWD: ALL
    
    # %wheel        ALL=(ALL)       NOPASSWD: ALL
    
    # %wheel        ALL=(ALL)       NOPASSWD: ALL
    
  4. Выйдите из Vim c сохранением файла.

То же самое можно сделать с помощью редактора nano:

sudo EDITOR=nano visudo
# Находим нужную строку, удаляем # в ее начале
# Выходим из nano c сохранением изменений

Шаг 2. Распаковка дистрибутива

Распакуйте дистрибутив под пользователя deployer (в директорию /home/deployer). Вы можете распаковать архив с дистрибутивом и в другую папку или создать подпапку.

Нет принципиальной разницы, каким архиватором пользоваться. Ниже приведен пример для unzip:

# Если на машину не установлен unzip, скачиваем его:
sudo apt-get install unzip

export UNZIP_DISABLE_ZIPBOMB_DETECTION=true

unzip -o -P <пароль> <имя_архива>
# Если на машину не установлен unzip, скачиваем его:
sudo yum install unzip

export UNZIP_DISABLE_ZIPBOMB_DETECTION=true

unzip -o -P <пароль> <имя_архива>
# Если на машину не установлен unzip, скачиваем его:
sudo zypper install unzip

export UNZIP_DISABLE_ZIPBOMB_DETECTION=true

unzip -o -P <пароль> <имя_архива>

Внимание

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

Шаг 3. Разрешить Port Forwarding

Для корректной работы установщика в настройках SSH на всех машинах должен быть разрешен TCP Forwarding. Чтобы изменить настройку TCP Forwarding, нужно в файле /etc/ssh/sshd_config установить следующее значение:

AllowTcpForwarding yes

Шаг 4. Запуск установщика как сервиса

Установщик onpremise-deployer_linux рекомендуется запускать как сервис. При таком запуске не придется прибегать к дополнительным мерам (screen, tmux, nohup), позволяющим установщику продолжить работу в случае потери соединения по SSH.

Важно

Для подключение администратора к веб-интерфейсу установщика используется порт 8888. Рекомендуется настроить защиту порта через firewall либо наложенными средствами (TLS-proxy).

Не рекомендуется оставлять установщик включенным, если вы не проводите работы по установке и настройке системы. Запустили установщик → Провели установку → Выключили установщик. Если нужна донастройка системы, то снова включите установщик.

Чтобы запустить установщик как сервис, выполните команду (подходит для Astra Linux, РЕД ОС, MosOS Arbat):

sudo ./onpremise-deployer_linux -concurInstallLimit 5  \
  -serviceEnable -serviceMake -serviceUser deployer

По умолчанию выставлен лимит в 5 потоков, при необходимости вы можете увеличить количество потоков до 10, однако это увеличит и нагрузку на систему. Использование более чем 10 потоков не рекомендуется.

Ответ в случае успешного запуска установщика выглядит следующим образом:

deployer.service was added/updates
see 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 started
see status: <systemctl status deployer.service>
deployer.service was added/updates
see 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 started
see status: <systemctl status deployer.service>
deployer.service was added/updates
see 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 started
see status: <systemctl status deployer.service>

Примечание

Невозможность включения службы rsyslog не повлияет на корректность работы сервиса.

Если не получилось запустить deployer как сервис, то проверьте состояние SELinux:

getenforce
ausearch -m avc -ts recent

SELinux может ограничивать доступы запускаемого файла, чтобы временно отключить SELinux, выполните команду:

setenforce 0

Действия в веб-интерфейсе установщика

Для перехода в веб-интерфейс в адресной строке браузера укажите адрес: http://server-ip-address:8888. Если перейти по этому адресу не удается, убедитесь, что firewall был отключен.

Шаг 1. Выбор варианта установки

На стартовой странице нажмите на кнопку Установка.

выбор версии

Шаг 2. Выбор продуктов и опций

  1. Включите флаги Административная панель и VK WorkDisk.
  2. Включите нужные вам компоненты в каждом из продуктов.
  3. Выберите интеграции, которые планируете настраивать.

    Продукт Описание
    Система групповых политик Beta
    Система групповых политик. Kafka внутри инсталляции 16 GB RAM, 8 vCPU
    Интеграция с VK Teams
    Встроенное хранилище образов контейнеров
    Поддержка Российских криптографических стандартов (ГОСТ TLS) Beta
    Прогноз и контроль объёма почтового хранилища
    Базы данных
    Система мониторинга Grafana, хранилище метрик Graphite, хранилище метрик Prometheus
    Система сбора и отправки метрик Сборщики и трансляторы Graphite и Prometheus-метрик

    Внимание

    Для инсталляций до 100000 пользователей необходимо включить облегченную версию аудита на PostgreSQL. По умолчанию в Почте включен продукт Система аудита действий пользователя на основе ScyllaDB, она предназначена для инсталляций, где пользователей больше 100000.

    Продукт Описание
    Административная панель v6.7.2 Обязательный продукт. Требования: 1 виртуальная машина на любом гипервизоре, 16 GB RAM, 8 vCPU, 100 GB SSD
    Ядро объектного хранилища S3 + Ядро распределённого файлового хранилища Обязательный продукт
    API больших вложений VK WorkMail Обязательный продукт
    Интеграция с антивирусом по протоколу ICAP
    Система миграции WorkDisk из внешних сервисов
    Инструменты разработки
    Интеграция с Kerberos (SSO-авторизация)
    Интеграция с Kerberos. Keycloak внутри инсталляции v17.0.1 1 GB RAM, 1 vCPU
    Интеграция с Kerberos. Интеграция с внешним Keycloak сервером
    Средства резервного копирования
    Интеграция с редактором «МойОфис»
    Редактор «Р7-Офис» внутри инсталляции 2 GB RAM, 2 vCPU
    Интеграция с редактором «Р7-Офис»
    Система BI-аналитики Beta
    Система BI-аналитики. Kafka внутри инсталляции 16 GB RAM, 8 vCPU
    Система BI-аналитики. Дублирование действий пользователей во внешние хранилища
    Поддержка Российских криптографических стандартов (ГОСТ TLS) Beta
    Система проверки файлов Диска через DLP Beta
    Система аудита действий пользователя Сервисы записи и чтения действий пользователей, хранилище действий пользователей (ScyllaDB)
    Система аудита действий пользователя (облегчённая версия) Сервисы записи и чтения действий пользователей, хранилище действий пользователей (PostgreSQL)

    Примечание

    Есть компоненты, настройка которых производится в административной панели (biz.<домен>), но включить их нужно при установке. Например, Система расширенных транспортных правил и Система миграции WorkDisk из внешних сервисов.

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

Шаг 3. Добавление лицензионного ключа

  1. Введите лицензионный ключ или укажите путь к файлу лицензии .lic.
  2. Нажмите на кнопку Далее.

    лицензия

Информацию о том, как обновить лицензионный ключ или проверить сроки действия лицензий по продуктам VK WorkSpace, вы сможете найти в разделе с дополнительной документаци.

Шаг 4. Добавление гипервизора

  1. Нажмите на кнопку Добавить.
  2. В выпадающем меню выберите Сервер.

    добавление сервера

    Откроется окно добавления гипервизора:

    окно добавления гипервизора

  3. Заполните поля:

    • Роль — hypervisor.

    • IP — адрес машины, на которую производится установка.

    • SSH-порт — стандартный для SSH, выбран по умолчанию, менять его не нужно.

    • Имя гипервизора — укажите имя гипервизора или оставьте поле пустым. В случае если вы оставите поле незаполненным, имя гипервизора будет взято из hostname -s и добавится автоматически. В документации будет использовано имя hypervisor1.

    • Имя пользователя — укажите имя того пользователя, под которым запущен установщик. В рассматриваемом примере это пользователь deployer.

    • Пароль — необходимо ввести пароль пользователя, под которым запущен установщик, если он был задан при создании.

  4. Добавьте SSH-ключ (также можно оставить авторизацию по паролю):

    1. В поле Приватный ключ выберите Добавить новый ключ.

      добавить новый ключ

    2. В поле Имя ключа введите название ключа для его дальнейшей идентификации, например: deployerRSA.

    3. Перейдите в консоль.
    4. Выполните команду cat ~/.ssh/id_rsa и скопируйте ключ.
    5. Затем вставьте его в поле Приватный ключ. Его нужно указать полностью, включая:

      -----BEGIN RSA PRIVATE KEY----- и -----END RSA PRIVATE KEY-----

    6. Поле Пароль ключа оставьте пустым.

    7. Кликните по кнопке Сохранить.
  5. При необходимости настройте дополнительные поля:

    • Data Center — в поле нужно указать дата-центр, на котором размещен гипервизор. Поле актуально и для инсталляций, размещенных в одном дата-центре. Все гипервизоры необходимо распределить по трем фактическим/условным дата-центрам.

    • Теги — для большей наглядности и простоты поиска вы можете присвоить гипервизорам теги в зависимости от их роли. Например: st1, st2, st3.

    • Пропустить проверку некритичных требований — если отметить чекбокс, будет пропущена проверка версии ядра и флагов процессора (sse2, avx). В большинстве случаев выбор чекбокса не требуется.

  6. После заполнения полей нажмите на кнопку Добавить — гипервизор отобразится в веб-интерфейсе установщика.

    Примечание

    При добавлении сервера реализована проверка на наличие команд tar, scp и необходимых инструкций виртуализации на процессорах. Если при проверке они не будут найдены, то сервер не будет добавлен, а администратор получит сообщение об ошибке.

  7. Аналогичным образом добавьте еще 7 гипервизоров:

    • 2 — под фронты,
    • 2 — под базы данных,
    • 3 — под хранилища.
  8. Нажмите на зеленую кнопку Далее в правом верхнем углу для перехода к следующему шагу.

Шаг 5. Сетевые настройки

Установщик автоматически вычисляет некоторые сетевые параметры. Эти параметры необходимо проверить и дополнить, если не все из них были определены.

настройки сети

  1. Укажите DNS-сервер.

    Внимание

    Обязательно настройте NTP на ВМ в соответствии с рекомендациями к используемой ОС: RedOS, Astra Linux или MosOS Arbat.

  2. Убедитесь, что:

    • Подсеть, используемая VK WorkSpace на серверах имеет доступ на 80-й или 443-й порт.
    • Подсеть, используемая внутри контейнеров полностью свободна, уникальна и принадлежит только Диску.

    Примечание

    Эта подсеть используется только для трафика между контейнерами внутри системы. Если автоматически вычисленная подсеть уникальна и не пересекается с другими подсетями заказчика, значения менять не нужно. При кластерной установке в среднем создается более 1350 контейнеров, поэтому по умолчанию используется 20-я подсеть.

    Поле MTU сети контейнеров заполняется автоматически. Если вы хотите изменить размер MTU, обратитесь к представителю VK.

    Флаг НЕ использовать IP-in-IP и BIRD в большинстве случаев должен оставаться неактивным. Если на машине используется динамическая маршрутизация и необходимо включение опции, обратитесь к представителю VK.

  3. Нажмите на кнопку Сохранить и перейдите к следующему шагу.

    сохраняем настройки сети

Шаг 6. Доменные имена

Подробную информацию о создании доменных имен вы найдете в разделе Создание DNS-записей.

На вкладке Доменные имена необходимо заполнить все поля:

  • Название вашей компании — введите название компании, которое будет отображаться в интерфейсе Диска.
  • Сайт вашей компании — укажите сайт вашей компании.
  • Основной домен для сервисов — в поле необходимо указать ранее созданный Основной домен для Диска.
  • Домен для облачных хранилищ — в поле введите ранее созданный Домен для облачных хранилищ.

Внимание

Для доменных имен нельзя использовать etc/hosts.

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

доменные имена

После сохранения доменных имен появятся ошибки. Они пропадут после добавления SSL-сертификатов на следующем шаге.

Добавление SSL-сертификатов

  1. Нажмите на кнопку Добавить сертификат под заголовком SSL-сертификаты.

  2. В открывшейся форме введите сертификат и ключ. Их необходимо указать полностью, включая:

    -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----
    и
    -----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----.

  3. Кликните по кнопке Сохранить.

    сохранение сертификата

Есть второй вариант:

  1. Нажмите на кнопку Выбрать файл.
  2. Укажите путь к файлу с сертификатом .crt.
  3. Укажите путь к файлу с ключом .key.
  4. Кликните по кнопке Сохранить.

Примечание

Приватный ключ должен быть добавлен в открытом виде, без секретной фразы. Закодированный ключ отличается от открытого наличием слова ENCRYPTED: BEGIN ENCRYPTED PRIVATE KEY.

Если всё верно, в интерфейсе не будет отображаться ошибок и красной подсветки. Нажмите на зеленую кнопку Далее.

сертификат результат

Шаг 7. Установка гипервизоров

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

Порядок установки гипервизоров важен, поскольку необходимо сформировать кластер etcd. Для кворума кластеру необходимо N/2+1 экземпляров etcd. В минимальной конфигурации узлы ectd должны быть установлены на три машины, две из которых должны быть постоянно доступны. В документе будет описан вариант установки etcd в минимальной конфигурации.

  1. Перейдите в настройки гипервизора, отведенного под мониторинг. Вручную запустите все шаги до restart_docker включительно.

    docker registry

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

  3. Вручную запустите шаги до install_etcd включительно. По завершении шага первый узел etcd будет установлен.

    install etcd

  4. Таким же способом установите etcd на остальные два гипервизора-стораджа.

  5. После того, как кластер etcd собран, запустите установку всех гипервизоров по порядку или общую автоматическую установку.

Внимание

Не рекомендуется запускать установку нескольких гипервизоров одновременно — это может привести к ошибкам.

На изображении ниже приведен пример того, как выглядит веб-интерфейс установщика после завершения установки всех гипервизоров.

BeforeAddingContainers

Кликните по значку иконка и перейдите в раздел Описание сервисов, чтобы посмотреть развернутую информацию о назначении ролей, их дублируемости, зависимостях и т.п. В этом же выпадающем меню вы найдете дополнительную документацию, сможете включить или выключить продукты (внутри раздела Продукты) и обновить лицензионный ключ.

Шаг 8. Распределение контейнеров по гипервизорам

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

В нижней части экрана выберите Добавить -> Несколько контейнеров.

AddSeveralContainers

Откроется окно выбора ролей.

select_roles

При распределении ролей нужно соблюдать такой порядок:

  1. Хранилища + raft
  2. xtaz
  3. Базы данных
  4. Мониторинг
  5. Почтовый транспорт
  6. API
  7. Все, что осталось (опционально)

Внимание

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

Для выбора ролей используйте поле Теги в качестве фильтра.

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

Первыми должны быть выбраны роли для хранилищ:

  1. В выпадающем меню выберите тег Хранилище.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Отметьте все доступные для установки роли с помощью чекбокса в таблице.

    выбор тега и ролей

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

  5. Режим генерации — На каждом гипервизоре.

    выбор гипервизоров-хранилищ

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

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

  1. В выпадающем меню выберите тег raft.
  2. Для фильтра Установлено не более: установите значение 0. Если пропустить этот фильтр, кластер не соберется.
  3. Отметьте все доступные для установки роли с помощью чекбокса в таблице.
  4. Ниже в списке гипервизоров отметьте те, которые были отведены под хранилища.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.

На каждом из гипервизоров-хранилищ нужно дополнительно сгенерировать еще по одному контейнеру xtaz.

Внимание

В рассматриваемой конфигурации кластера на 8 машин общее количество контейнеров xtaz должно стать равным 6.

  1. В поиске введите xtaz.
  2. Очистите значение фильтра Установлено не более:.
  3. Выберите контейнер xtaz с помощью чекбоксов.
  4. В списке гипервизоров отметьте те, которые были отведены под хранилища.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить. Всплывающее окно, в котором выполнялись предыдущие действия, закроется.

    выбор гипервизоров-хранилищ

Внимание

Для всех последующих ролей должно быть установлено значение 0 в фильтре Установлено не более. Если пропустить этот фильтр, кластер не соберется.

Следующий шаг — распределение ролей для баз данных.

  1. Выберите тег База данных.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Отметьте Все доступные для установки роли.
  4. Ниже выберите гипервизоры, отведенные под базы данных.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить.

Чтобы добавить роли для мониторинга, повторно откройте окно выбора ролей.

  1. Выберите тег Мониторинг.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Отметьте Все доступные для установки роли.
  4. Выберите гипервизор-мониторинг.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить.

Далее нужно распределить роли для почтового транспорта. Перейдите в окно выбора ролей, нажав Добавить -> Несколько контейнеров.

  1. Выберите тег Почтовый транспорт.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Отметьте Все доступные для установки роли.
  4. Выберите гипервизоры, отведенные под фронты.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить.

Завершающий этап — распределить роли для API.

  1. Выберите тег API.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Отметьте Все доступные для установки роли.
  4. Выберите гипервизоры, отведенные под фронты.
  5. Режим генерации — На каждом гипервизоре.
  6. Нажмите на кнопку Добавить.

Финальная проверка для того чтобы убедиться, что все роли распределены:

  1. Откройте окно добавления выбора ролей, нажав на Добавить -> Несколько контейнеров.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Список ролей, доступных для добавления, должен быть пустым. Если это не так, распределите оставшиеся роли по гипевизорам в соответствии с тегами.

Убедитесь, что все роли распределены

  1. Откройте окно добавления выбора ролей, нажав на Добавить -> Несколько контейнеров.
  2. Для фильтра Установлено не более: установите значение 0.
  3. Список ролей, доступных для добавления, должен быть пустым. Если это не так, распределите оставшиеся роли по гипевизорам в соответствии с тегами.

После того как все контейнеры сгенерированы, нажмите на зеленую кнопку Далее в правом верхнем углу.

После того как все контейнеры сгенерированы, нажмите на зеленую кнопку Далее в правом верхнем углу.

Шаг 9. Хранилища

Внимание

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

В разделе формируются дисковые пары для гипервизоров-хранилищ. Разделение на дисковые пары происходит автоматически, если вы не подключали дополнительные диски. В таком случае можно переходить в настройке Mescalito, описанной в следующем шаге.

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

Внимание

Удалять дисковые пары после установки нельзя. Если удалить дисковые пары, то данные будут утеряны.

Ниже описана процедура ручного распределения дисковых пар. Дисковые пары нужно распределять вручную, если вы подключали дополнителные диски.

Минимальная отказоустойчивая конфигурация состоит из трех машин, на каждой из которых по 2 дисковых раздела:

  • Диск хранилища 1 разделен на 2 части.
  • Диск хранилища 2 разделен на 2 части.
  • Диск хранилища 3 разделен на 2 части.

Всего 6 разделов дисков (2 на одном гипервизоре, 2 — на втором, еще 2 — на третьем).

При такой конфигурации:

  • Всегда есть пара на запись.
  • Остальные пары доступны для чтения.

При сборке хранилищ дисковые пары объединяются в «логические треугольники». Объединение происходит по принципу: 1-2, 2-3, 3-1.

storages_diagram

Примечание

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

В списке слева доступные хранилища будут отмечены восклицательными знаками. Нужно перейти на вкладку каждого хранилища и сформировать дисковые пары.

хранилища без пар

Внимание

В интерфейсе под Диском 1 и Диском 2 подразумеваются разделы хранилищ. Между собой также нужно будет объединить часть диска, размещенного на одном хранилище, с частью диска, размещенного на другом хранилище. При увеличении количества разделов дисков и/или подключенных дисков принцип объединения сохраняется.

Чтобы добавить дисковые пары вручную:

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

На изображении ниже приведен пример для хранилища zepto_skel:

zepto_skel

Раздел Mescalito

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

mescalito

  • Обработчики писем (mescalito) — специальные процессы внутри контейнеров stm. Задача обработчика — собрать письмо из частей, находящихся в разных хранилищах.

  • Хранилища индексов (tarantool xtaz) — хранилища «горячих» данных почтовых ящиков.

Информация

Если в логах контейнеров xtaz есть ошибка failed to allocate X bytes (или ошибки с подобной формулировкой), то контейнерам не хватает памяти.

Существует 2 типа ящиков:

  • Сервисный — admin@admin.qdit (администраторы Диска).
  • Корпоративный — все остальные ящики системы, которые администрируются в biz.<домен>.

Внимание

Обработчики работают в однопоточном режиме. Перенаправление информации на другой обработчик будет производиться только в случае недоступности хранилища, на котором установлен соответствующий stm.

Чтобы обеспечить отказоустойчивость для каждого кластера необходимо назначать по 2-3 обработчика, которые находятся на разных машинах или в разных дата-центрах.

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

fstab

Раздел актуален для ситуаций, когда были подключены дополнительные диски.

Необходимый набор томов для контейнеров хранилища выдается в виде набора записей для /etc/fstab.

Внимание

Установщик ничего не монтирует и не изменяет в /etc/fstab.

Отредактировать fstab и смонтировать разделы нужно самостоятельно в консоли. Монтировать рекомендуется по UUID.

Ниже для примера приведен скриншот с одного из наших тестовых стендов.

fstab

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

vi /etc/fstab

# Вставляем строчки, скопированные из веб-интерфейса установщика. 
# Сохраняем изменения.

mount -a

# Получаем набор предупреждений <путь> mount point does not exist

mkdir -p <путь>

# Повторяем для всех путей

mount -a

Шаг 10. Шардирование и репликация БД

Настройка в этом разделе актуальна только для очень крупных инсталляций. В большинстве случаев достаточно настроек по умолчанию, и можно перейти к следующему шагу с помощью кнопки Далее.

Внимание

Добавлять кластеры БД можно только на этапе первоначальной установки.

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

шардирование и репликация БД

Чтобы добавить кластер:

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

После добавления всех кластеров появится возможность перейти к следующему шагу с помощью кнопки Далее.

шардирование и репликация БД

Шаг 11. Настройка компонентов

В разделе выполняются настройки различных компонентов системы.

компоненты

Ограничение доступа к доменам

Выберите нужный домен и нажмите на кнопку редактирования. После включения флага Ограничить доступ к домену появится раздел с более детальными настройками.

Ограничить доступ к домену — если включен только этот флаг, в поле ниже нужно будет ввести IP/подсети, которым будет разрешен доступ к домену. Также вы можете добавить комментарии, если это необходимо.

кому запрещен доступ

Режим запрета — запрещать следующим IP/подсетям — если включены оба флага (ограничение доступа и режим запрета), доступ к доменам будет запрещен IP/подсетям, введенным в поле.

Не забудьте повторить шаги на гипервизоре (нужные шаги уже отмечены желтым). Также можно нажать на кнопку Play в общей строке состояния. Для этого перейдите к списку шагов, кликнув по логотипу AdminPanel.

Внимание

Для доменов becca.***.***.*** и bmw.***.***.*** по умолчанию запрещен доступ всем IP/подсетям. Чтобы добавить какие-либо IP/подсети в белый список, необходимо включить опцию Ограничить доступ к домену и добавить в поле IP/подсети. Если включить оба флага, IP/подсети, которые были введены в поле, попадут в черный список.

Панель администрирования

Чтобы начать настройку, нажмите кнопку редактирования значок редактирования.

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

Административные домены — с помощью кнопки Добавить по одному введите домены (до знака @), которым нужно выдать максимальные права.

Количество дней перед удалением пользователя — количество дней, через которое пользователь будет удален из Диска. Изменение настройки по умолчанию актуально при одновременном использовании Диска c Active directory. По умолчанию выставлен срок 5 дней, то есть пользователь будет удалён из Диска через 5 дней после его удаления из AD.

Размер облака пользователя по умолчанию (Мб) — при необходимости ограничьте максимальный размер облака для каждого пользователя.

Не проверять актуальность включенного функционала (фич) — при включенном флаге установщик будет пропускать шаг bizf -> addBizFeatures.

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

Рассыльщики

В разделе настраиваются служебные почтовые рассылки для внутренних пользователей. Чтобы перейти к настройкам, нажмите на кнопку редактирования. Есть возможность создать рассылки для VK WorkDisk, административной панели и уведомлений об отзыве письма.

настройки логов

  1. Введите email и имя отправителя.
  2. Введите адрес и порт сервера рассылки.
  3. Сохраните изменения.
  4. Перейдите к списку ролей и запустите автоматическую установку, чтобы применить настройки.

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

Система учета действий пользователей

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

настройки логов

Время хранения событий по пользователям (в секундах) — вы можете установить время хранения логов. При установленном значении 0 срок хранения логов не будет ограничен.

Включить статистику по IP — при включенном флаге появится окно для изменения срока хранения логов по IP.

Мониторинг

Настройки мониторинга актуальны для случаев, когда необходимо переключиться с внутреннего мониторинга Диска на внешние системы мониторинга (Graphite/Prometheus).

Чтобы включить внешнюю систему мониторинга:

  1. Нажмите на иконка и перейдите в раздел Продукты.
  2. Включите флаг Система сбора и отправки метрик. При этом флаг Система мониторинга будет автоматически отключен.

    внешний мониторинг

    Примечание

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

  3. Сохраните изменения и вернитесь к списку ролей.

  4. Внизу страницы нажмите на кнопку Сгенерировать автоматически, чтобы установщик сформировал новые роли.

    Внимание

    Не нужно запускать автоматическую установку сразу после генерации контейнеров. Сначала необходимо удалить неактуальные роли. Если запустить установку сразу, возникнут сетевые проблемы.

  5. Чтобы предотвратить возможные проблемы, перейдите в консоль и перезапустите установщик с помощью команды:

    sudo systemctl restart deployer
    
  6. После перезапуска в списке ролей отобразятся роли, которые нужно удалить. Если в интерфейсе не подсветились роли для удаления, перезагрузите страницу.

    роли к удалению

  7. Удаление может занять некоторое время. Когда все неактуальные роли будут удалены, запустите автоматическую установку.

  8. Далее перейдите в раздел Настройки компонентов -> Мониторинг. Введите необходимые данные для системы мониторинга, которую вы используете.

    настройки мониторинга

  9. Сохраните изменения.

По ссылке Набор готовых дашбордов для Grafana вы можете скачать дашборды в формате JSON для добавления их в Grafana.

Настройки HTTP(S)-прокси

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

настройки прокси

Список IP прокси-серверов — введите в поле список IP-адресов, с которых Диск будет принимать заголовки с оригинальными IP клиента и оригинальным протоколом подключения.

HTTP-заголовок прокси с оригинальным IP клиента — добавьте в поле заголовок прокси, который передает реальный IP-адрес клиента, иначе сервис будет работать некорректно.

HTTP-заголовок прокси с оригинальным протоколом подключения клиента — для корректной работы сервисов введите заголовок оригинального протокола подключения.

Шаг 12. Интеграции

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

Интеграция с Keycloak для SSO-авторизации — в документе содержится инструкция по настройке интеграции с сервисом SSO-авторизации.

Настроить дублирование действий пользователей во внешние хранилища

Настройка интеграции с внешней почтой

Настройка интеграции с внешней почтой нужна, чтобы получать служебные письма:

  • Приглашение пользователя в папку.
  • Информационное сообщение о попытке загрузить запрещенный формат.
  • Одноразовый пароль для Мессенджера.

Чтобы настроить интеграцию:

  1. Перейдите в раздел Интеграции -> Интеграция с внешней почтой.
  2. Введите адрес почтового сервера и порт.
  3. Нажмите кнопку Сохранить.

    внешняя статистика

  4. Запустите автоматическую установку.

Настройки cистемы BI-аналитики

Чтобы получить возможность просматривать статистику использования VK WorkDisk в административной панели (biz.<домен>), в списке продуктов необходимо включить опцию Система BI-аналитики и Kafka внутри инсталяции и нажать на кнопку Сохранить.

Примечание

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

Чтобы подключиться к внешнему серверу Kafka, перейдите в раздел Интеграции -> Настройки cистемы BI-аналитики и заполните соответствующие поля.

внешняя статистика

Сохраните изменения.

Перейдите к списку ролей, кликнув по логотипу AdminPanel. Внизу страницы необходимо создать дополнительные роли.

  1. Нажмите на кнопку Добавить -> Несколько контейнеров.
  2. В поле Установлено не более: введите значение 0. Появятся контейнеры для распредления.
  3. Добавьте контейнеры для Clickhouse на гипервизоры для хранилищ.
  4. Если вы используете Kafka внутри инсталяции, распределите контейнеры с Kafka на гипервизоры для баз данных тем же способом (с помощью кнопки Добавить).
  5. По окончании генерации контейнеров запустите автоматическую установку в общей строке состояния.

Шаг 13. Укажите переменные окружения

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

Внимание

Настройка переменных окружения возможна только после консультации с представителем VK.

Чтобы добавить кастомную переменную:

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

  4. Нажмите на кнопку Сохранить.

  5. Нажмите на кнопку Далее для перехода к следующему шагу.

Шаг 14. Запустите установку всех машин

  1. В веб-интерфейсе установщика Панели администратора кликните по иконке рядом c общей строкой состояния в верхней части экрана.

  2. Подтвердите запуск автоматической установки, нажав на кнопку Запустить.

    запуск всего

    В зависимости от этапа установки будет меняться цвет индикатора:

    • Серый — в ожидании начала генерации.
    • Синий — в процессе генерации.
    • Желтый — шаг будет повторен (автоматически).
    • Красный — ошибка.
  3. Ожидайте завершения установки. Пока процесс идет, рядом со строкой состояния будет отображаться красная кнопка Stop.

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

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

Шаг 15. Инициализируйте домен и войдите в Панель администратора

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

  1. Нажмите на кнопку Далее в правом верхнем углу.

    installation complete

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

    add domain

    Домен считается подтвержденным после добавления в Панель администратора.

    В адресную строку скопируйте адрес Панели администратора и введите данные:

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

    Если логин и пароль были введены правильно, вы попадете в Панель администратора.

Внимание

По завершении установки допускается только удаление архива, из которого был распакован дистрибутив в начале установки. Все остальные файлы должны оставаться в папке с файлом onpremise-deployer_linux. Не удаляйте пользователя deployer — эта учетная запись потребуется для обновления и дальнейшей эксплуатации Панели администратора.

Добавление дополнительных доменов

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

Логи и полезные команды

Все команды, перечисленные ниже, следует выполнять в консоли машины-мониторинга.

  1. Перезапуск установщика:

    sudo systemctl restart deployer
    
  2. Логи установщика:

    sudo journalctl -fu deployer
    
  3. Список запущенных контейнеров:

    docker ps
    
  4. Логи конкретного контейнера:

    sudo journalctl -eu имя_контейнера
    
  5. Статус контейнера:

    systemctl status имя_контейнера
    
  6. Посмотреть список «сломанных» контейнеров:

    docker ps -a|grep Exit
    
  7. Посмотреть список всех не запустившихся контейнеров:

    sudo systemctl | grep onpremise | grep -v running
    
  8. Удалить контейнер:

    sudo docker rm имя_контейнера