Эта статья является продолжением цикла публикаций, посвященного комплексному решению ВКС Yealink Meeting Server (YMS).
В прошлой статье Yealink Meeting Server 2.0 — новые возможности видеоконференцсвязи мы описали существенный прорыв в функционале решения:
- добавился собственный сервис записи конференций, интегрированный в YMS
- появился новый тип лицензии — Broadcast, который позволяет оптимизировать стоимость асимметричных конференций
- обеспечена интеграция с решением Skype for Business и Teams
В этой статье мы рассмотрим возможность каскадирования YMS — установку и настройку системы в режиме «кластер».
Цель
Производительность аппаратных серверных платформ под YMS позволяет решить задачи большинства предприятий, нуждающихся в современном и качественном сервисе видеоконференцсвязи. Есть решение, поддерживающее до 100 FullHD-подключений на одном аппаратном MCU YMS. Но, всё же, кластерное решение востребовано, и дело не только в необходимости расширения портовой ёмкости сервера.
Причин для каскадирования несколько:
- Есть множество компаний, требующих объединение в единую инфраструктуру ВКС сотен, и даже тысяч абонентов по всему Миру. Распределение нагрузки — первая из функций кластера
- Даже самая малая инсталляция ВКС, если этот сервис критичен для бизнесс-процессов, требует отказоустойчивости и высокой доступности. Резервирование — вторая цель построения отказоустойчивой системы на базе кластера YMS
- Клиентские терминалы порой находятся не только в разных сетях, но и в разных частях света. Оптимизация каналов связи с подбором оптимального узла для соединения — третий козырь кластерного решения.
Установка
Для начала, необходимо определиться с ролями каждой ноды кластера, в решении YMS этих ролей три:
- manager-master — это основной сервер управления
- manager-slave-n — один из резервных серверов управления
- business-n — один из медиа-серверов, отвечающих за микширование и транскодирование
Конфигурации бывают следующие:
(1 х manager-master) + (n x business)
(1 х manager-master) + (2+n x manager-slave) + (n x business)
Таким образом, мастер резервируется минимум двумя серверами.
На каждую ноду необходимо поставить ОС, например CentOS.
Для работы YMS достаточно минимальной установки.
Актуальную версию Yealink Meeting Server можно получить через официального партнёра Yealink, в том числе, через нас.
На главном сервере (manager-master), в каталог usr/local/ необходимо поместить дистрибутив YMS, например, через WinSCP.
Далее, через консоль, необходимо распаковать архив и запустить установку:
cd /usr/local
tar xvzf YMS_22.0.0.5.tar.gz
cd apollo_install
tar xvzf install.tar.gz
./install.sh
После запуска install.sh, предоставляется выбор режима установки.
Для установки одиночной версии YMS — необходимо выбрать [A]
Для установки в режиме «кластер» — выбираем [B]
Затем, система предлагает отправиться в каталог /usr/local/apollo/data/, и отредактировать файл install.conf.
Файл содержит параметры доступа к нодам и распределения ролей между ними:
[global]
# ansible_ssh_user = root
# ansible_ssh_pass = XXXXXX
# ansible_ssh_private_key_file=
# nginx_http_listen_port = 80
# nginx_https_listen_port = 443
# nginx_http_redirect_https = false
# ---- mongodb init configurations. -----
# !!! Only the first deployment takes effect,
# !!! and subsequent upgrade changes to this will
# !!! not change the database password.
# mongodb_admin_user = xxx
# mongodb_admin_password = xxxxxx
# mongodb_normal_user = xxxx
# mongodb_normal_user_password = xxxxxx
# mongodb_wiredtiger_cachesize_gb = 1
# ---- YMS backend service java opt setting ----
# dbc_java_opt = -XX:+UseG1GC -Xmx2G -Xms1G
# microsystem_java_opt = -XX:+UseG1GC -Xmx256m -Xms64m
# microconference_java_opt = -XX:+UseG1GC -Xmx2560m -Xms1024m
# microuser_java_opt = -XX:+UseG1GC -Xmx2048m -Xms1024m
# microgateway_java_opt = -XX:+UseG1GC -Xmx512m -Xms256m
# micromigration_java_opt = -XX:+UseG1GC -Xmx512m -Xms256m
[manager-master]
ip=127.0.0.1
# ansible_ssh_user=root
[manager-slave-1]
# ip=x.x.x.x
[manager-slave-2]
# ip=x.x.x.x
[business-1]
# ip=x.x.x.x
[business-2]
# ip=x.x.x.x
[business-3]
# ip=x.x.x.x
Если у нас все серверы имеют одинаковые параметры доступа, то в глобальных настройках прописываем единый логин и пароль для root-доступа:
[global]
ansible_ssh_user = root
ansible_ssh_pass = 1234567890
Если учётные данные разные, то для каждой ноды их можно указать индивидуально.
Например:
[manager-master]
ip=111.11.11.101
ansible_ssh_user = admin
ansible_ssh_pass = 0987654321
[manager-slave-1]
ip=111.11.11.102
ansible_ssh_user = root
ansible_ssh_pass = 1234567890
Для настройки кластера прописываем для каждой роли IP-адрес ноды и данные учётной записи (если применимо).
Например, кластер (3 х manager) + (3 х business) настраивается по принципу:
[manager-master]
ip=111.11.11.101
[manager-slave-1]
ip=111.11.11.102
[manager-slave-2]
ip=111.11.11.103
[business-1]
ip=111.11.11.104
[business-2]
ip=111.11.11.105
[business-3]
ip=111.11.11.106
Если роли распределены иначе, то ненужные строки можно удалить или закомментировать, а недостающие добавить — например: business-4, business-5, business-6 и так далее.
После сохранения изменений файла install.conf, необходимо повторно запустить процесс установки — install.sh
Система самостоятельно обнаружит доступные ноды в сети и развернёт на них YMS.
При настройке кластера YMS через web-интерфейс, особое внимание стоит уделить параметрам каждого сервиса, который теперь может быть активирован не на одном, а уже на нескольких серверах, входящих в состав кластера.
Здесь, на усмотрение администратора системы, производится либо резервирование функционала, либо его распределение.
В настройке сервисов поможет инструкция Yealink или моя прошлая статья Yealink Meeting Server 2.0 — новые возможности видеоконференцсвязи.
В завершение статьи, предлагаю Вам познакомиться с решением Yealink Meeting Server лично!
Для получения дистрибутива и тестовой лицензии Вам достаточно написать запрос мне по адресу: 1@stss.ru
Тема письма: Тестирование YMS (название Вашей компании)
К письму необходимо приложить карточку Вашей компании для регистрации проекта и создания под Вас демо-ключа.
В теле письма прошу Вас кратко описать задачу, существующую ВКС-инфраструктуру и планируемый сценарий использования ВКС.
Спасибо за внимание!
С уважением,
Кирилл Усиков (Usikoff)
Руководитель направления
Системы видеонаблюдения и видеоконференцсвязи
Автор: Usikoff