Video conferencing system cluster based on Yealink Meeting Server

Video conferencing system cluster based on Yealink Meeting ServerThis article is a continuation of a series of publications dedicated to the Yealink Meeting Server (YMS) video conferencing solution.

In the last article Yealink Meeting Server 2.0 - New Video Conferencing Features we described a significant breakthrough in the functionality of the solution:

  • added its own conference recording service integrated into YMS
  • a new type of license has appeared - Broadcast, which allows you to optimize the cost of asymmetric conferences
  • integration with the Skype for Business and Teams solution is provided

In this article, we will consider the possibility of YMS cascading - installing and configuring the system in the "cluster" mode.

Goal

The performance of hardware server platforms under YMS allows solving the problems of most enterprises that need a modern and high-quality video conferencing service. There is a solution that supports up to 100 FullHD connections on a single YMS hardware MCU. But, nevertheless, a cluster solution is in demand, and the point is not only the need to expand the port capacity of the server.

There are several reasons for cascading:

  • There are many companies that require the integration of hundreds, and even thousands of subscribers around the world into a single videoconferencing infrastructure. Load distribution - the first of the cluster functions
  • Even the smallest videoconferencing installation, if this service is critical to business processes, requires fault tolerance and high availability. Reservation - the second goal of building a fault-tolerant system based on a YMS cluster
  • Client terminals are sometimes located not only in different networks, but also in different parts of the world. Communication channel optimization with the selection of the optimal node for connection - the third trump card of the cluster solution.

Installation

First, you need to define the roles of each cluster node, there are three of these roles in the YMS solution:

  • manager-master is the main management server
  • manager-slave-n - one of the redundant management servers
  • businessn - one of the media servers responsible for mixing and transcoding

The configurations are as follows:
(1 x manager-master) + (nx business)
(1 x manager-master) + (2+nx manager-slave) + (nx business)
Thus, the master is backed up by at least two servers.

You need to install an OS on each node, for example CentOS.
For YMS to work, a minimal installation is enough.

The current version of Yealink Meeting Server can be obtained through an official Yealink partner, including through us.

On the main server (manager-master), to the directory usr/local/ you need to put the YMS distribution, for example, via WinSCP.

Next, through the console, you need to unpack the archive and start the installation:

cd /usr/local
tar xvzf YMS_22.0.0.5.tar.gz
cd apollo_install
tar xvzf install.tar.gz
./install.sh

After starting the install.sh, a choice of installation mode is provided.

To install a single version of YMS - you must select [A] To install in the "cluster" mode - select [B]

Video conferencing system cluster based on Yealink Meeting Server

Then, the system offers to go to the directory /usr/local/apollo/data/, and edit the file install.conf.

The file contains parameters for accessing nodes and distributing roles between them:

[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

If all our servers have the same access parameters, then in the global settings we prescribe a single login and password for root access:

[global]
ansible_ssh_user = root
ansible_ssh_pass = 1234567890

If the credentials are different, then for each node they can be specified individually.
For example:

[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

To configure the cluster, we prescribe the IP address of the node and account information (if applicable) for each role.

For example, a cluster (3 x manager) + (3 x business) is configured according to the principle:

[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

If the roles are distributed differently, then unnecessary lines can be deleted or commented out, and the missing ones can be added - for example: business-4, business-5, business-6 and so on.

After saving file changes install.conf, you need to restart the installation process - install.sh

The system will automatically detect available nodes on the network and deploy YMS on them.

When setting up a YMS cluster via the web interface, special attention should be paid to the parameters of each service, which can now be activated not on one, but on several servers that are part of the cluster.

Here, at the discretion of the system administrator, either functionality is reserved or distributed.

Helps you set up services. Yealink instructions or my previous article Yealink Meeting Server 2.0 - New Video Conferencing Features.

At the end of the article, I suggest you get acquainted with the Yealink Meeting Server solution personally!

To obtain a distribution kit and a test license, you just need to write a request to me at: [email protected]

Letter subject: YMS testing (your company name)

You must attach your company card to the letter to register the project and create a demo key for you.

In the body of the letter, I ask you to briefly describe the task, the existing videoconferencing infrastructure and the planned scenario for using videoconferencing.

Thank you for attention!
Best regards,
Kirill Usikov (Usikoff)
Head of
Video surveillance and video conferencing systems

Source: habr.com

Add a comment