Создание кластера сервисов лицензирования

Для создания кластера сервисов лицензирования:

  1. Установите сервис лицензирования на несколько серверов в ОС Linux/Windows.

  2. Установите балансировщик нагрузки в соответствии с официальной документацией HAProxy. Дистрибутив установки HAProxy доступен для скачивания на официальном сайте HAProxy, при необходимости можно использовать официальный репозиторий на GitHub.

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

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

Шаг 1. Настройка взаимодействия кластера BI-серверов с балансировщиком нагрузки

Для настройки взаимодействия кластера BI-серверов с балансировщиком нагрузки задайте адрес балансировщика нагрузки в подразделе Service в файле settings.xml:

<Key Name="License">
  <Key Name="Service" Active="True" Host="<балансировщик нагрузки>" Port="<номер порта>" Timeout="15"/>
</Key>

Где:

Измените файл settings.xml на каждом BI-сервере в кластере и перезапустите BI-сервер для применения изменений.

Шаг 2. Настройка взаимодействия балансировщика нагрузки с кластером сервисов лицензирования

Для настройки взаимодействия балансировщика нагрузки с кластером сервисов лицензирования измените конфигурационный файл /etc/haproxy/haproxy.cfg.

Пример файла /etc/haproxy/haproxy.cfg с минимально необходимыми настройками:

global
    log /dev/log local0
    user haproxy
    group haproxy
    daemon
 
defaults
    log global
    mode http
    option httplog
    option dontlognull
    timeout connect 30s
    timeout client 30s
    timeout server 30s
 
frontend licman_frontend
    bind *:555
    default_backend licman_backend
 
backend licman_backend
    option forwardfor
    balance roundrobin
    default-server check inter 2s rise 2 fall 3
    stick match src table sticktables/sticky-sessions
    stick store-request src table sticktables/sticky-sessions
    server licman1 <IP-адрес или DNS-имя сервиса лицензирования 1>:<номер порта 1>
    server licman2 <IP-адрес или DNS-имя сервиса лицензирования 2>:<номер порта 2>
    ...
    server licmanN <IP-адрес или DNS-имя сервиса лицензирования N>:<номер порта N>
 
peers sticktables
    bind :10000
    server <IP-адрес или DNS-имя основного сервера лицензий>
    table sticky-sessions type ip size 1m

Задайте адреса сервисов лицензирования в разделе backend licman_backend и адрес основного сервера лицензий в разделе peers sticktables:

Совет. Рекомендуется задавать одинаковые значения параметрам timeout connect, timeout client, timeout server. Значение поля serverTimeout, заданное в файле settings.json, должно быть меньше указанных значений.

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

Для применения изменения конфигурации балансировщика нагрузки перезапустите службу haproxy:

sudo systemctl restart haproxy

См. также:

Настройка отказоустойчивости системы | Настройка отказоустойчивости сервера лицензий