Резервирование и каскадирование серверов

Материал из База знаний VINTEO

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

В системе Vinteo можно выделить две роли серверов:

  • коммуникационный сервер и сервер управления (далее сервер управления);
  • медиасервер.

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

Сервер управления

Сервер управления - web-сервер и сервер, обеспечивающий взаимодействие по коммуникационным протоколам (SIP, H.323, WebRTC).

Для резервирования сервера управления используется схема: master - slave. Master-сервер является активным и обслуживает систему, slave-сервер является пассивным, отслеживает состояние master-сервера и с интервалом в 5 минут реплицирует на себя c него данные из БД и из файловой системы. Для корректной работы резервирования необходимо, чтобы основной и резервный сервер были сопоставимы по мощности.

Masterslavescheme

При выходе из строя master-сервера, slave-сервер берет роль master на себя, поднимает интерфейсы с IP-адресами системы, прописанными в БД, включает сервисы управления и телефонии.

Masterdownscheme

При возвращении в строй первого сервера (при загрузке) он (первый сервер) возьмет на себя теперь роль slave, определив, что master-сервер уже есть в сети на интерфейсе eth1. Таким образом, master-сервером становится тот сервер, который будет включен первым, второй же станет slave-сервером.

Masterslaveswap

Если master-сервер теряет связь со slave-сервером, то лицензия становится временной и действует 72 часа с момента потери связи. За это время необходимо решить техническую проблему с вышедшим из строя сервером или, если это не представляется возможным, обратиться в техническую поддержку Vinteo для урегулирования вопроса со сроком действия временных лицензий.

При потере связи между slave и master-серверами на интерфейсах eth1, может произойти ситуация, когда оба сервера станут master. Это может привести к непредсказуемым последствиям, вплоть до полной недоступности сервиса.

Mastermastererror

Медиасервер

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

В основе медиасервера лежит модуль Multipoint Control Unit (далее MCU). MCU отвечает за такие процессы как микширование, транскодирование и трансрейтинг.

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

Для обеспечения резервирования медиасерверов в системе необходимо иметь как минимум N+1 медиасервер, где N - количество медиасерверов, необходимых для обслуживания максимального количества участников при заданных сценариях ВКС. MCU может быть также управляющий сервер.

Mediaservers

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

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

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

Схема системы ВКС Vinteo при падении одного из медиасерверов кластера

Mediaerror

Схема системы ВКС Vinteo после передачи раскладки на другой медиасервер

Mediabalancing

Настройка резервирования и каскадирования серверов

Схема резервирования и каскадирования серверов

При использовании всех возможностей сервера Vinteo для резервирования и каскадирования, получается следующая схема сети ВКС:

Scheme1

Для удобства настройки рекомендуется назначить IP-адрес интерфейса eth0 на резервном сервере из одной подсети с основным сервером.

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

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

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

Сеть, указанная как 192.0.2.128/25, может не иметь никакого внешнего подключения, кроме как к ПК администратора для первичной настройки. Подразумевается, что она будет использоваться только для соединения медиасерверов и управляющего сервера.

Важно! К сети 192.0.2.128/25 предъявляются повышенные требования к стабильности и скорости соединения при каскадировании. В этой сети не используются механизмы коррекции ошибок, поэтому даже незначительные потери в этой сети могут приводить к артефактам и искажениям изображения в конференциях. После успешной настройки резервирования, основной сервер примет на себя роль master, резервный сервер примет роль slave. Чтобы самостоятельно выполнить настройку резервирования и каскадирования серверов Vinteo, выполните инструкции, описанные ниже.

Подготовка к настройке

1. Для самостоятельной настройки IP адресация должна соответствовать отображенной на схеме из раздела 2 «Схема резервирования и каскадирования серверов».
2. Для медиасерверов, ради удобства настройки, рекомендуется назначить IP адреса на интерфейсе eth0, доступные с ПК администратора.
3. Получите у технической поддержки Vinteo необходимые файлы для настройки:

  • config_patch_generate_replicator_keys.bin
  • config_patch_to_configure_media_servers.bin
  • config_patch_prepare_slave.bin

4. Установите основной, резервный и медиасерверы в соответствии с инструкцией.
5. Обновите ПО всех серверов до последней версии. ПО всех серверов должно быть одинаковой версии.
6. Установите лицензии на основном и резервном серверах. На основном сервере лицензия должна содержать портовые лицензии и лицензию на резервирование.

На резервном сервере лицензия должна содержать резервирование и порты, если используются серверы с Static/Dynamic лицензированием. Если используется сервер с лицензированием Enterprise, то достаточно только резервирования.