Инструкция по настройке TCP-балансировки

Аннотация

В инструкции приведена последовательность действий по настройке TCP-балансировки Termidesk Connect. Рассмотрена топология: запросы от пользователя распределяются на три сервера через Termidesk Connect. Серверы используются для визуализации алгоритма балансировки. Также рассмотрен Сценарий перенаправления запросов на резервный сервер.

В качестве примера будут выполняться следующие шаги:

  • шаг 1. Добавление Проверки;

  • шаг 2. Добавление Группы Реальных Серверов;

  • шаг 3. Добавление Сервера Балансировки;

  • шаг 4. Добавление Виртуального Сервера;

  • шаг 5. Просмотр TCP-балансировки;

  • шаг 6. Проверка недоступности Реального Сервера;

  • шаг 7. Проверка недоступности Реального Сервера с изменением настроек Сервера Балансировки;

  • шаг 8. Добавление резервного Сервера Балансировки;

  • шаг 9. Просмотр Active/Standby TCP-балансировки.

Шаг 1. Добавление Проверки

Для входа в Termidesk Connect ввести учетные данные администратора, для этого заполнить поля «Username» и «Password», далее нажать кнопку [Login] (см. Авторизация Termidesk Connect).

image
Рисунок 1. Авторизация Termidesk Connect

Откроется веб-интерфейс Termidesk Connect, в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Проверки». Далее для добавления Проверки нажать кнопку [Добавить] (см. Добавление Проверки).

Данная Проверка будет использоваться для проверки доступности балансируемых (Реальных) Серверов.
image
Рисунок 2. Добавление Проверки

В открывшемся окне «Добавление Проверки» указать значения в полях «Имя», «Интервал, с», «Время ожидания ответа, с». В раскрывающемся списке «Тип» выбрать тип «HTTP», далее в раскрывающемся списке «Метод» выбрать метод «GET». Остальные настройки используются по умолчанию, нажать кнопку [Применить] (см. Создание Проверки).

В данной инструкции используются HTTP-серверы, поэтому выбран тип Проверки HTTP.
image
Рисунок 3. Создание Проверки

В правой части веб-интерфейса появится строка с добавленной Проверкой в списке (см. Список Проверок).

image
Рисунок 4. Список Проверок

Шаг 2. Добавление Группы Реальных Серверов

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Группы Реальных Серверов». Далее для добавления Группы Реальных Серверов нажать кнопку [Добавить] (см. Добавление Группы Реальных Серверов).

Данная Группа Реальных Серверов будет использоваться для добавления балансируемых (Реальных) Серверов.
image
Рисунок 5. Добавление Группы Реальных Серверов

В открывшемся окне «Добавление Группы Серверов» указать название в поле «Имя». Далее в области «Список Реальных Серверов» нажать кнопку [Добавить], в раскрывающемся списке выбрать «IP» (см. Добавление Группы Серверов).

Добавление Реального Сервера осуществляется по:

  • «IP» – IP-адрес;

  • «Domain» – доменное имя.

В данном шаге рассмотрен первый способ.

image
Рисунок 6. Добавление Группы Серверов

В открывшемся окне «Добавление Реального Сервера» указать значения в полях «IP» и «Порт». Далее нажать кнопку [Применить] (см. Добавление Реального Сервера).

image
Рисунок 7. Добавление Реального Сервера

Для добавления остальных Реальных Серверов, представленных на рисунке (см. Список Реальных Серверов), повторить предыдущее действие. Далее в раскрывающемся списке «Используемая Проверка» выбрать ранее созданную Проверку «hc01» и нажать кнопку [Применить].

image
Рисунок 8. Список Реальных Серверов

В правой части веб-интерфейса появится строка с добавленной Группой Реальных Серверов в списке, которая находится в статусе «В работе» (см. Список Групп Реальных Серверов).

image
Рисунок 9. Список Групп Реальных Серверов

Для просмотра статуса настроенных Реальных Серверов в интерфейсе командной строки Termidesk Connect выполнить команду:

show status rs

============================================================
(1)     ГРС: RSP01      проверка: hc01
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 801
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 802
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 803
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE

Отображается настроенная Группа Реальных Серверов с тремя добавленными Реальными Серверами, которые находятся в состоянии ONLINE согласно Проверке hc01. Для просмотра информации о статусе Реальных Серверов и нагрузке на Реальные Серверы в интерфейсе командной строки Termidesk Connect выполнить команду:

sh rs-pool id RSP01

    rs-pool-id  Адрес               Статус    TCP сес  TCP с/сек  TCP(TLS) сес  TCP(TLS) с/сек  HTTP сес  HTTP с/сек  HTTP(TLS) сес.  HTTP(TLS) с/сек  UDP п/сек

    rspool01    10.101.251.201:801  ONLINE          0          0             0               0         0           0               0                0          0
    rspool01    10.101.251.201:802  ONLINE          0          0             0               0         0           0               0                0          0
    rspool01    10.101.251.201:803  ONLINE          0          0             0               0         0           0               0                0          0

Шаг 3. Добавление Сервера Балансировки

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки». Далее для добавления Сервера Балансировки нажать кнопку [Добавить] (см. Добавление Сервера Балансировки).

image
Рисунок 10. Добавление Сервера Балансировки

В открывшемся окне «Добавление Сервера Балансировки» указать название в поле «Имя», в раскрывающемся списке «Тип» выбрать тип «TCP», в раскрывающемся списке «Группа РС» выбрать ранее созданную Группу Реальных Серверов «RSP01», в раскрывающемся списке «Алгоритм» выбрать «ROUNDROBIN». Далее нажать кнопку [Применить] (см. Создание Сервера Балансировки»).

Опционально возможно задать «Постоянство выбора РС (persistence)», то есть подключение одного и того же пользователя будет попадать на один и тот же ранее выбранный Реальный Сервер.
image
Рисунок 11. Создание Сервера Балансировки»

В правой части веб-интерфейса появится строка с добавленным Сервером Балансировки в списке, который находится в состоянии «В работе» (см. Список Серверов Балансировки).

image
Рисунок 12. Список Серверов Балансировки

Шаг 4. Добавление Виртуального Сервера

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Виртуальные Серверы». Далее для добавления Виртуального Сервера нажать кнопку [Добавить] (см. Добавление Виртуального Сервера).

Виртуальный Cервер – это абстракция, которая имет IP-адрес, являющийся точкой входа для клиентских подключений с целью отправки запросов. Виртуальный Сервер является приложением, которое использует пользователь.
image
Рисунок 13. Добавление Виртуального Сервера

В открывшемся окне «Добавление Виртуального Сервера» указать параметры в полях «Имя», «IP Адрес» и «Порт», в раскрывающемся списке «Тип» выбрать тип «TCP». Далее в области «Правила» нажать кнопку [Добавить] (см. Создание Виртуального Сервера).

IP-адрес должен быть доступен пользователю. Порт может быть любым и может не пересекаться с ранее настроенными портами для Реальных Серверов.

Доступна опциональная настройка выбора VRF, в котором находится этот Виртуальный Сервер, а также доступен опциональный выбор SSL-Профиля. Настройка SSL-Профиля позволяет терминировать SSL-соединение на контроллеры доставки приложений.

image
Рисунок 14. Создание Виртуального Сервера

В открывшемся окне «Добавление правила» указать значения в полях «Приоритет», «Сеть источника запроса», в раскрывающемся списке «Сервер Балансировки» выбрать «lbs01». Далее нажать кнопку [Применить] (см. Добавление правила).

В данной инструкции создано правило, что все запросы из любой сети направляются на выбранный Сервер Балансировки.

Чем меньше значение приоритета, тем раньше будет выбрано правило.

image
Рисунок 15. Добавление правила

В окне «Добавление Виртуального Сервера» нажать кнопку [Применить] (см. Применение настроек Виртуального Сервера).

image
Рисунок 16. Применение настроек Виртуального Сервера

В правой части веб-интерфейса появится строка с добавленным Виртуальным Сервером в списке, который находится в статусе «В работе» (см. Список Виртуальных Серверов).

В случае отсутствия дополнительной конфигурации Виртуальный Сервер всегда находится в статусе «В работе» и всегда готов принимать запросы от пользователя.
image
Рисунок 17. Список Виртуальных Серверов

Шаг 5. Просмотр TCP-балансировки

Для просмотра TCP-балансировки в адресной строке браузера ввести адрес Виртуального Сервера (см. Ввод адреса Виртуального Сервера).

image
Рисунок 18. Ввод адреса Виртуального Сервера
отобразится веб-страница Реального Сервера «WEB – 02» (см. <<WEB–02>>).
image
Рисунок 19. WEB – 02

При обновлении отобразится веб-страница Реального Сервера «WEB – 03» (см. WEB – 03).

image
Рисунок 20. WEB – 03

При повторном обновлении отобразится веб-страница Реального Сервера «WEB – 01» (см. WEB – 01).

image
Рисунок 21. WEB – 01

Далее в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки». Для изменения настроек Сервера Балансировки выбрать «lbs01» и нажать кнопку [Изменить] (см. Изменение настроек Сервера Балансировки).

image
Рисунок 22. Изменение настроек Сервера Балансировки

В открывшемся окне «Изменение Сервера Балансировки» в раскрывающемся списке «Постоянство выбора РС (persistence)» выбрать значение «IPSOURCE». Далее нажать кнопку [Применить] (см. Изменение Сервера Балансировки).

Значение «IPSOURCE» параметра «Постоянство выбора РС (persistence)» означает, что подключение с одного и того же IP-адреса будет попадать на один и тот же ранее выбранный Реальный Сервер.

image
Рисунок 23. Изменение Сервера Балансировки

Далее в адресной строке браузера повторить ввод адреса Виртуального Сервера (см. Повторный ввод адреса Виртуального Сервера).

image
Рисунок 24. Повторный ввод адреса Виртуального Сервера

Отобразится веб-страница Реального Сервера «WEB – 01» (см. Веб-страница Реального Сервера). При повторных обновлениях так же отобразится веб-страница Реального Сервера «WEB – 01», потому что запросы отправляются с одного устройства и IP-адрес источника не меняется.

image
Рисунок 25. Веб-страница Реального Сервера

Далее для возврата к первоначальным настройкам в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки», выбрать «lbs01» и нажать кнопку [Изменить]. В окне «Изменение Сервера Балансировки» в раскрывающемся списке «Постоянство выбора РС (persistence)» выбрать значение «NONE» и нажать кнопку [Применить] (см. Первоначальная настройка Сервера Балансировки).

image
Рисунок 26. Первоначальная настройка Сервера Балансировки

Шаг 6. Проверка недоступности Реального Сервера

В данной инструкции в качестве Реальных Серверов используется веб-сервисы, запущенные в Docker.

Для предварительной настройки недоступности одного Реального Сервера перейти на сервер с запущенными Docker-контейнерами и выполнить команду для просмотра статуса:

docker ps

CONTAINER ID  IMAGE    COMMAND              CREATED     STATUS        PORTS                                   NAMES
43e7ec04c7dd  ws-r:01  "python3.8 ws01.py"  2 days ago  Up 2 days  0.0.0.0:801->80/tcp,[::]:801->80/tcp   web-r
f87350cad131  ws-b:01  "python3.8 ws01.py"  4 days ago  Up 4 days  0.0.0.0:803->80/tcp,[::]:803->80/tcp   web-b
957ce37e8586  ws-g:01  "python3.8 ws01.py"  4 days ago  Up 4 days  0.0.0.0:802->80/tcp,[::]:802->80/tcp   web-g

Для отключения первого docker-контейнера выполнить команду:

docker stop 43e7ec04c7dd

Для просмотра статуса Docker-контейнеров повторно выполнить команду:

docker ps

CONTAINER ID  IMAGE    COMMAND              CREATED     STATUS     PORTS                                   NAMES
f87350cad131  ws-b:01  "python3.8 ws01.py"  4 days ago  Up 4 days  0.0.0.0:803->80/tcp,[::]:803->80/tcp    web-b
957ce37e8586  ws-g:01  "python3.8 ws01.py"  4 days ago  Up 4 days  0.0.0.0:802->80/tcp,[::]:802->80/tcp    web-g

Далее в интерфейсе командной строки Termidesk Connect выполнить команду:

show status rs

============================================================
(1)     ГРС: RSP01      проверка: hc01
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 801
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: OFFLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 802
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 803
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE

Отображается, что один из Реальных Серверов в состоянии OFFLINE, согласно настройке Проверки hc01.

Для просмотра статуса Группы Реальных Серверов «RSP01» в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Группы Реальных Серверов» (см. Статус Группы Реальных Серверов).

image
Рисунок 27. Статус Группы Реальных Серверов

Статус Группы Реальных Серверов «В работе», т. к. согласно настройке, минимум один Реальный Сервер должен быть доступен.

Для просмотра состояния Сервера Балансировки «lbs01» в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки» (см. Состояние Сервера Балансировки).

image
Рисунок 28. Состояние Сервера Балансировки

Состояние Сервера Балансировки «В работе», т. к. согласно настройке минимум один Реальный Сервер должен быть доступен.

Шаг 7. Проверка недоступности Реального Сервера с изменением настроек Сервера Балансировки

Для изменения сценария в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки», выбрать «lbs01» и нажать кнопку [Изменить]. В окне «Изменение Сервера Балансировки» в поле «Минимальное кол-во РС, шт» указать значение «2» и нажать кнопку [Применить] (см. Изменение настроек Сервера Балансировки).

image
Рисунок 29. Изменение настроек Сервера Балансировки

Для просмотра изменения алгоритма распределения запросов в адресной строке браузера ввести адрес Виртуального Сервера (см. Ввод адреса Виртуального Сервера).

image
Рисунок 30. Ввод адреса Виртуального Сервера

Отобразится веб-страница Реального Сервера «WEB – 01» (см. WEB – 01).

image
Рисунок 31. WEB – 01

При обновлении отобразится веб-страница Реального Сервера «WEB – 03» (см. WEB – 03).

image
Рисунок 32. WEB – 03

При повторном обновлении отобразится веб-страница Реального Сервера «WEB – 01», т. е. стали доступны только первый и третий Реальные Серверы.

Для просмотра изменения сценария в интерфейсе командной строки Termidesk Connect выполнить команду:

curl -s 18.101.251.95 | grep WE

WEB--03<p>Method GET</p><p>URL on server: /</p><p>REQ Headers: </p>Host: 10.101.251.95

Повторно выполнить команду:

curl -s 18.101.251.95 | grep WE

WEB--01<p>Method GET</p><p>URL on server: /</p><p>REQ Headers: </p>Host: 10.101.251.95

Далее при повторном вводе команды curl с заданными параметрами так же отобразится содержание веб-страницы третьего Реального Сервера, т.к. второй Реальный Сервер исключен алгоритмом балансировки.

Шаг 8. Добавление резервного Сервера Балансировки

Для добавления резервной Группы Реальных Серверов в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Группы Реальных Серверов» и нажать кнопку [Добавить]. В открывшемся окне «Добавление Группы Серверов» указать название в поле «Имя». Далее в области «Список Реальных Серверов» нажать кнопку [Добавить] и в раскрывающемся списке выбрать «IP» (см. Добавление резервной Группы Реальных Серверов).

Данная Группа Реальных Серверов будет использоваться для добавления резервного балансируемого (Реального) Сервера.
image
Рисунок 33. Добавление резервной Группы Реальных Серверов

В открывшемся окне «Добавление Реального Сервера» указать значения в полях «IP» и «Порт». Далее нажать кнопку [Применить] (см. Добавление Реального Сервера).

image
Рисунок 34. Добавление Реального Сервера

Далее нажать кнопку [Применить] (см. Применение настроек Группы Реальных Серверов).

image
Рисунок 35. Применение настроек Группы Реальных Серверов

Для добавления резервного Сервера Балансировки левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки» и нажать кнопку [Добавить]. В открывшемся окне «Добавление Сервера Балансировки» указать название в поле «Имя», в раскрывающемся списке «Тип» выбрать тип «TCP», в раскрывающемся списке «Группа РС» выбрать ранее созданную Группу Реальных Серверов «RSPRESERV». Далее нажать кнопку [Применить] (см. Добавление резервного Сервера Балансировки).

image
Рисунок 36. Добавление резервного Сервера Балансировки

Для изменения настроек Виртуального Сервера в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Виртуальные Серверы». Далее выбрать «vs01» и нажать кнопку [Изменить]. В открывшемся окне «Изменение Виртуального Сервера» в области «Правила» нажать кнопку [Добавить] (см. Изменение настроек Виртуального Сервера).

image
Рисунок 37. Изменение настроек Виртуального Сервера

В открывшемся окне «Добавление правила» указать значения в полях «Приоритет», «Сеть источника запроса», в раскрывающемся списке «Сервер Балансировки» выбрать «lbsreserv». Далее нажать кнопку [Применить] (см. Добавление правила).

В данной инструкции создано правило, что все запросы из любой сети направляются на выбранный Сервер Балансировки.

В данном шаге значение приоритета больше, значит правило будет применено при условии, что Сервер Балансировки из правила с меньшим приоритетом будет находится в состоянии OFFLINE.

image
Рисунок 38. Добавление правила

Далее нажать кнопку [Применить] (см. Применение настроек Виртуального Сервера).

image
Рисунок 39. Применение настроек Виртуального Сервера
В данной инструкции для Виртуального Сервера создана настройка, что пока Сервер Балансировки «lbs01» находится в состоянии «В работе», все запросы от пользователя будут обработаны именно этим Сервером Балансировки.

Шаг 9. Просмотр Active/Standby TCP-балансировки

Для выполнения этого шага инструкции сохранена настройка: минимум два Реальных Сервера должны быть в состоянии ONLINE, чтобы Сервер Балансировки находится в состоянии «В работе».

Для отключения второго docker-контейнера из трех перейти на сервер с запущенными docker-контейнерами и выполнить команду:

docker stop f87350cad131

Далее в интерфейсе командной строки Termidesk Connect выполнить команду:

show status rs

============================================================
(1)     ГРС: RSP01      проверка: hc01
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 801
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: OFFLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 802
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: ONLINE
        ----------------------------------------------
                              FQDN: -------
                          IP-адрес: 10.101.251.201
                              Порт: 803
        IP-адрес источника запроса: 0.0.0.0
                         Состояние: OFFLINE

Отображается, что два из трех Реальных Серверов в состоянии OFFLINE, согласно настройке Проверки hc01.

Далее в интерфейсе командной строки Termidesk Connect выполнить команду:

show status lbs

########################
# Серверы балансировки #
########################

============================================================
(1)      Сервер балансировки: lbs01
              Тип: TCP
         Алгоритм: ROUNDROBIN
              ГРС: RSP01
        Состояние: OFFLINE
        ----------------------------------------------
                          IP-адрес: 10.101.251.201
                              Порт: 801
        IP-адрес источника запроса: (null)
                         Состояние: OFFLINE
                 Количество сессий: 0
        ----------------------------------------------
                          IP-адрес: 10.101.251.201
                              Порт: 802
        IP-адрес источника запроса: (null)
                         Состояние: ONLINE
                 Количество сессий: 0
        ----------------------------------------------
                          IP-адрес: 10.101.251.201
                              Порт: 803
        IP-адрес источника запроса: (null)
                         Состояние: OFFLINE
                 Количество сессий: 0

============================================================
(2)      Сервер балансировки: lbsreserv
              Тип: TCP
         Алгоритм: LEASTCONN
              ГРС: RSPRESERV
        Состояние: ONLINE
        ----------------------------------------------
                          IP-адрес: 10.101.251.201
                              Порт: 810
        IP-адрес источника запроса: (null)
                         Состояние: ONLINE
                 Количество сессий: 0

#######################
# Виртуальные серверы #
#######################

============================================================
(1)     Виртуальный сервер: vs01
                   Тип: TCP
        Вирт. IP-адрес: 10.101.251.95
            Вирт. порт: 80
             Состояние: ONLINE

Отображается, что Сервер Балансировки lbs01 перешел в состояние OFFLINE, Сервер Балансировки lbsreserv остался в состоянии ONLINE, Виртуальный Сервер vs01 в состоянии ONLINE.

Для просмотра алгоритма распределения запросов в адресной строке браузера ввести адрес Виртуального Сервера (см. Ввод адреса Виртуального Сервера).

image
Рисунок 40. Ввод адреса Виртуального Сервера

Отобразится веб-страница, хранящаяся на резервном Реальном Сервере (см. Запасной сервер), на который попал запрос пользователя из-за недоступности Группы Реальных Серверов RSP01.

image
Рисунок 41. Запасной сервер

В случае включения Реального Сервера из Группы Реальных Серверов RSP01, Сервер Балансировки lbs01 вернется в состояние ONLINE и пользователь при отправке запросов будет попадать на Сервер Балансировки lbs01.