12.9.3. Настройка балансировки нагрузки

Настройка правил балансировки нагрузки происходит на уровне network-policy load-balancing. Настройка балансировщиков нагрузки TCP/UDP, ICAP и reverse-прокси рассмотрена далее.

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

Admin@UGOS# show network-policy load-balancing

12.9.3.1. Настройка балансировщика TCP/UDP

Настройка данного раздела производится на уровне network-policy load-balancing tcp-udp.

Структура команды создания балансировщика нагрузки TCP/UDP следующая:

Admin@UGOS# create network-policy load-balancing tcp-udp

Необходимо указание следующих параметров:

Параметр

Описание

name

Имя балансировщика.

enabled

Включение/отключение балансировщика.

description

Описание балансировщика.

virtual-ip

IP-адрес виртуального сервера.

port

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

protocol

Протокол -- TCP или UDP, для которого необходимо производить балансировку нагрузки.

scheduler

Методы распределения нагрузки на реальные серверы:

  • rr - round robin - каждое новое подключение передается на следующий сервер в списке, равномерно загружая все серверы.

  • wrr - weighted round robin - работает аналогично Round robin, но загрузка реальных серверов осуществляется с учетом весовых коэффициентов, что позволяет распределить нагрузку с учетом производительности каждого сервера.

  • lc - least connections - новое подключение передается на сервер, на который в данный момент установлено наименьшее число соединений.

  • wlc - leighted least connections - работает аналогично Least connections, но загрузка реальных серверов осуществляется с учетом весовых коэффициентов, что позволяет распределить нагрузку с учетом производительности каждого сервера.

real-servers

Реальные сервера, на которые будет перенаправляться трафик. Для сервера необходимо указать:

  • ip -- IP-адрес сервера.

  • port -- порт сервера, на который будут перенаправлять запросы пользователей.

  • weight -- коэффициент, использующийся для неравномерного распределения нагрузки на реальные серверы.

  • mode -- режим:

    • gate -- режим Шлюз: для перенаправления трафика на виртуальный сервер используется маршрутизация.

    • masq -- режим Маскарадинг: для перенаправления трафика на виртуальный сервер используется DNAT.

    • masq-snat -- режим Маскарадинг с подменой IP-источника: режим аналогичен режиму Маскарадинг, но UserGate подменяет IP-адрес источника на свой.

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

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

Admin@UGOS# set network-policy load-balancing tcp-udp <balancer-name>

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

Параметр

Описание

fallback

Настройка аварийного режима:

  • enabled -- включение/отключение аварийного режима.

  • ip -- IP-адрес сервера.

  • port -- порт сервера, на который будут пересылаться запросы пользователей.

  • mode -- режим:

    • gate -- режим Шлюз: для перенаправления трафика на виртуальный сервер используется маршрутизация.

    • masq -- режим Маскарадинг: для перенаправления трафика на виртуальный сервер используется DNAT.

    • masq-snat -- режим Маскарадинг с подменой IP-источника: режим аналогичен режиму Маскарадинг, но UserGate подменяет IP-адрес источника на свой.

monitoring

Настройка мониторинга реальных серверов:

  • kind - тип проверки:

    • ping: проверка доступности узла с использованием утилиты ping.

    • connect: проверка работоспособности узла путём установления TCP-соединения на определённый порт.

    • negotiate: проверка работоспособности узла посылкой определенного HTTP- или DNS-запроса и сравнением полученного ответа с ожидаемым ответом.

  • service -- необходимо указать (HTTP или DNS) при использовании проверки типа negotiate.

  • request -- запрос необходимо указать при использовании проверки типа negotiate.

  • response -- ожидаемый ответ; необходимо указать при использовании проверки типа negotiate.

  • interval - интервал времени, через который должна выполняться проверка.

  • timeout - интервал времени ожидания ответа на проверку.

  • max-failures - количество попыток проверки реальных серверов, по истечению которого сервер будет считаться неработоспособным и будет исключен из балансировки.

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

Admin@UGOS# set network-policy load-balancing tcp-udp <balancer-name>

Также можно удалить определённые реальные серверы, использующиеся в балансировщике (необходимо уточнить один или несколько параметров реального сервера):

Admin@UGOS# set network-policy load-balancing tcp-udp <balancer-name> real-servers

Команды для отображения информации о всех балансировщиках TCP/UDP:

Admin@UGOS# set network-policy load-balancing tcp-udp

Для отображения информации об определённом балансировщике TCP/UDP:

Admin@UGOS# set network-policy load-balancing tcp-udp <balancer-name>

12.9.3.2. Настройка балансировщика ICAP

Настройка данного раздела производится на уровне network-policy load-balancing icap.

Структура команды создания балансировщика нагрузки ICAP следующая:

Admin@UGOS# create network-policy load-balancing icap

Необходимо указание следующих параметров:

Параметр

Описание

enabled

Включение/отключение балансировщика серверов ICAP:

  • on.

  • off.

name

Имя балансировщика.

description

Описание правила балансировки.

icap-server

Указание ICAP-профилей серверов, на которые будет распределяться нагрузка. Подробнее о создании и настройке ICAP-серверов с использованием CLI в разделе Настройка ICAP-серверов.

Команда для обновления параметров балансировщика нагрузки ICAP:

Admin@UGOS# create network-policy load-balancing icap <balancer-name>

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

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

Admin@UGOS# set network-policy load-balancing icap <balancer-name>

Также можно удалить определённые реальные серверы, использующиеся в балансировщике (необходимо указать названия ICAP-серверов):

Admin@UGOS# set network-policy load-balancing icap <balancer-name> real-servers

Команды для отображения информации о всех балансировщиках ICAP:

Admin@UGOS# set network-policy load-balancing icap

Для отображения информации об определённом балансировщике серверов ICAP:

Admin@UGOS# set network-policy load-balancing icap <balancer-name>

12.9.3.3. Настройка балансировщика reverse-прокси

Настройка правил балансировки reverse-прокси производится на уровне network-policy load-balancing reverse-proxy.

Для создания правила балансировки reverse-прокси:

Admin@UGOS# create network-policy load-balancing reverse-proxy

Необходимо указание следующих параметров:

Параметр

Описание

enabled

Включение/отключение балансировщика серверов reverse-proxy:

  • on.

  • off.

name

Имя балансировщика.

description

Описание правила балансировки.

reverse-proxy-servers

Выбор сервера reverse-прокси.

Подробнее о создании и настройке серверов reverse-прокси с использованием CLI в разделе Настройка серверов reverse-прокси.

Команда для обновления параметров балансировщика нагрузки reverse-прокси:

Admin@UGOS# set network-policy load-balancing reverse-proxy <balancer-name>

Параметры, доступные для обновления, аналогичны параметрам, доступным при создании балансировщика серверов reverse-прокси.

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

Admin@UGOS# delete network-policy load-balancing reverse-proxy <balancer-name>

Также можно удалить определённые реальные серверы, использующиеся в балансировщике (необходимо указать названия серверов reverse-прокси):

Admin@UGOS# delete network-policy load-balancing reverse-proxy <balancer-name> real-servers

Команды для отображения информации о всех балансировщиках reverse-прокси:

Admin@UGOS# show network-policy load-balancing reverse-proxy

Для отображения информации об определённом балансировщике серверов reverse-прокси:

Admin@UGOS# show network-policy load-balancing reverse-proxy <balancer-name>