Отказоустойчивость

Общие сведения об отказоустойчивости Termidesk Connect

Для обеспечения постоянства доступа пользователя к приложениям, размещенным в инфраструктуре организации, Termidesk Connect может быть настроен в отказоустойчивой (высокодоступной) конфигурации.

Для настройки отказоустойчивой (высокодоступной) конфигурации необходимо использовать от двух узлов Termidesk Connect (поддерживается до 255 узлов).

Termidesk Connect в отказоустойчивой конфигурации обеспечивает:

  • синхронизацию конфигураций между двумя и более узлами Termidesk Connect. При этом синхронизируется не вся конфигурация: часть параметров является индивидуальной для каждого узла;

  • резервирование IP-адресов Виртуальных Серверов;

  • переключение трафика между узлами Termidesk Connect при выходе какого-либо из них из строя.

Для обеспечения отказоустойчивости устройства Termidesk Connect объединяются в одноранговый кластер и имеют одинаковые права и возможности. Однако для упрощения настройки принято, что существуют следующие узлы:

  • мастер-узел («Active») – устройство обрабатывает трафик пользователей в настоящий момент;

  • резервный узел («Standby») – устройство в настоящий момент не обрабатывает трафик пользователей. Резервных узлов может быть несколько.

Единовременно может работать только один мастер-узел, все остальные являются резервными.

Решение о назначении мастер-узла принимается на основе его рейтинга:

  • все узлы обмениваются своим рейтингом;

  • рейтинг узла конвертируется в число. Чем больше число, тем выше рейтинг;

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

  • узел, который был перезагружен (или отключен), будет иметь наименьший рейтинг.

Управление кластером осуществляется через общий IP-адрес с типом «ha-type SHARED», добавляемый на мастер-узле.

Все параметры конфигурации синхронизируются между узлами Termidesk Connect, кроме указанных:

  • IP-адрес с типом «ha-type LOCAL» или привязанный к VLAN с типом «ha-type LOCAL»;

  • имя устройства (hostname);

  • VLAN с типом «ha-type LOCAL»;

  • маршруты с типом «ha-type LOCAL».

Удаление любых скриптов или файлов в синхронизируемых директориях на мастер-узле не приводит к их удалению на резервном узле.

Общий алгоритм настройки отказоустойчивой (высокодоступной) конфигурации (примеры команд приведены в подразделе Настройка отказоустойчивой конфигурации):

  • убедиться, что устройства Termidesk Connect имеют сетевую доступность между собой;

  • убедиться, что наименования сетевых интерфейсов для устройств Termidesk Connect идентичны на всех узлах;

  • убедиться, что версия Termidesk Connect одинакова на всех узлах кластера;

  • убедиться, что доступны следующие порты для взаимодействия:

    • TCP 222;

    • TCP/UDP 322. Этот порт может быть изменен на другой;

  • настроить мастер-узел Termidesk Connect:

    • (опционально) сконфигурировать IP-адрес управления кластером с типом «ha-type SHARED» (настройка IP-адреса приведена в подразделе Сеть);

      Интерфейс, на который назначен локальный IP-адрес, должен быть сконфигурирован с VRF default.

    • указать уникальный числовой идентификатор мастер-узла;

    • указать локальный IP-адрес, используемый для взаимодействия с другим устройством Termidesk Connect. Выбранный IP-адрес должен соответствовать типу «ha-type LOCAL» (настройка IP-адреса приведена в подразделе Сеть);

      Интерфейс, на который назначен локальный IP-адрес, должен быть сконфигурирован с VRF default.

    • указать UDP-порт, используемый для взаимодействия;

    • указать интервал периодических запросов. Такой же интервал должен быть задан при настройке резервного узла Termidesk Connect;

    • указать параметры подключения к резервному узлу;

  • настроить зеркально резервные узлы Termidesk Connect:

    • указать уникальный числовой идентификатор резервного узла;

    • указать локальный IP-адрес, используемый для взаимодействия с другим устройством Termidesk Connect. Выбранный IP-адрес должен соответствовать типу «ha-type LOCAL» (настройка IP-адреса приведена в подразделе Сеть);

      Интерфейс, на который назначен локальный IP-адрес, должен быть сконфигурирован с VRF default.

    • указать UDP-порт, используемый для взаимодействия;

    • указать интервал периодических запросов, который был задан на мастер-узле Termidesk Connect;

    • указать параметры подключения к мастер-узлу.

Условия переключения узлов отказоустойчивой конфигурации

В отказоустойчивом кластере Termidesk Connect принятие решения о переключении узлов (failover) может осуществляться не только по недоступности мастер-ноды. Реализована опциональная возможность анализа состояния мастер-узла на основе объектов отслеживания. Невыполнение любого из условий отслеживания объектов (при условии исправности резервного узла) инициирует процесс переключения.

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

Для оценки состояния мастер-узла может отслеживаться:

  • состояние сетевых интерфейсов. Если сетевой интерфейс переходит в состояние DOWN, то узел считается неактивным. Позволяет предотвратить ситуацию, когда узел остается активным, но теряет связность из-за падения интерфейса. Для включения механизма сетевой интерфейс должен быть помечен как отслеживаемый;

  • доступность IP-адресов. Если один или несколько IP-адресов перестали быть доступными (не ответили на ICMP-запрос) в течение заданного количества попыток, то узел считается неактивным. Для включения механизма IP-адрес должен быть добавлен в список отслеживаемых;

  • состояние Сервера Балансировки. Если состояние Сервера Балансировки на мастер-узле меняется на OFFLINE, а на резервной ноде оно ONLINE, то текущий мастер-узел считается неактивным. Для включения механизма Сервер Балансировки должен быть помечен как отслеживаемый.

Для включения функционала оценки состояния мастер-узла:

  • в настройках следующих объектов используется параметр ha-monitor:

    • сетевого интерфейса (ethernet);

    • Проверки (health-check);

    • Сервера Балансировки (lbs);

  • на каждом узле отказоустойчивой конфигурации доступна настройка отслеживаемых IP-адресов (параметр ip-monitor)

Настройка отказоустойчивой конфигурации

Настройка выполняется одним из способов:

Для настройки используются команды:

Описание параметров также приведено в подразделе Объект ha.
Команды выполняются на каждом узле отказоустойчивого кластера.
  • задание локальных настроек узла:

    • задание уникального числового идентификатора узла для отказоустойчивой конфигурации:

      Уникальные числовые идентификаторы не должны повторяться в одноранговом кластере! Узел с минимальным идентификатором будет мастер-узлом.
      set ha id <идентификатор>
    • (опционально) указание общего IP-адреса управления кластером:

      Общий IP-адрес управления кластером:

      • указывается только на мастер-узле;

      • должен быть создан и настроен на мастер-узле, и должен соответствовать типу «ha-type SHARED» (см. настройку IP-адресов в подразделе Сеть);

      • интерфейс, на который назначен локальный IP-адрес, должен быть сконфигурирован с VRF default.

      set ha cluster-ip <IP-адрес>
    • указание локального IP-адреса узла для отказоустойчивой конфигурации:

      Выбранный IP-адрес должен соответствовать типу «ha-type LOCAL» (см. настройку IP-адресов в подразделе Сеть).

      Интерфейс, на который назначен локальный IP-адрес, должен быть сконфигурирован с VRF default.

      set ha ip <IP-адрес>
    • задание UDP-порта узла для отказоустойчивой конфигурации (по умолчанию – 322):

      set ha port <порт>
    • задание интервала (в миллисекундах) периодических запросов к узлам для отказоустойчивой конфигурации (по умолчанию – 500):

      Интервал должен быть одинаковым на всех узлах.
      set ha interval <значение>
  • задание настроек соединения с узлом Termidesk Connect, с которым будет осуществляться взаимодействие (удаленным узлом):

    • задание имени удаленного узла Termidesk Connect:

      set ha remote <имя_узла>
    • указание идентификатора удаленного узла Termidesk Connect:

      set ha remote <имя_узла> id <идентификатор>
    • задание IP-адреса удаленного узла Termidesk Connect:

      set ha remote <имя_узла> ip <IP-адрес>
    • задание UDP-порта удаленного узла Termidesk Connect:

      set ha remote <имя_узла> port <порт>
    • задание пароля пользователя удаленного узла Termidesk Connect:

      Должен быть указан пароль пользователя tdadmin удаленного узла.

      Так же пароль может быть получен из Хранилища секретов. Пример значения параметра:

      • kv://secret/ha#password – для kv версии 1;

      • kv://secret/data/na#password – для kv версии 2.

      set ha remote <имя_узла> seckey <пароль>
  • (опционально) задание отслеживаемых IP-адресов для готовности узла к переходу в состояние ACTIVE:

    Может быть задано несколько IP-адресов. Подробное описание условий переключения узлов отказоустойчивой конфигурации приведено в подразделе Условия переключения узлов отказоустойчивой конфигурации.
    • задание IP-адреса:

      set ha ip-monitor <IP-адрес>
    • (опционально) задание VRF для IP-адреса (по умолчанию – default):

      set ha ip-monitor <IP-адрес> vrf <имя_VRF>
  • проверка заданных настроек:

validate
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml ha
  • просмотр выполненных команд:

show configuration cli ha

В таблице (см. Пример команд для отказоустойчивой конфигурации) приведен пример команд настройки для трех устройств Termidesk Connect.

В примере 192.0.2.1 – общий IP-адрес управления кластером, который создан на мастер-узле NodeTDC15-1.
Таблица 1. Пример команд для отказоустойчивой конфигурации
Мастер-узел NodeTDC15-1 Резервный узел NodeTDC15-2 Резервный узел NodeTDC15-3

Локальные настройки узлов

set ha id 1

set ha id 2

set ha id 3

set ha ip 192.0.2.10

set ha ip 192.0.2.11

set ha ip 192.0.2.12

set ha port 322

set ha port 322

set ha port 322

set ha interval 500

set ha interval 500

set ha interval 500

set ha cluster-ip 192.0.2.1

-

-

Настройка взаимодействия с другими узлами

set ha remote NodeTDC15-2 id 2

set ha remote NodeTDC15-1 id 1

set ha remote NodeTDC15-1 id 1

set ha remote NodeTDC15-2 ip 192.0.2.11

set ha remote NodeTDC15-1 ip 192.0.2.10

set ha remote NodeTDC15-1 ip 192.0.2.10

set ha remote NodeTDC15-2 port 322

set ha remote NodeTDC15-1 port 322

set ha remote NodeTDC15-1 port 322

set ha remote NodeTDC15-2 seckey P@ss

set ha remote NodeTDC15-1 seckey P@ss

set ha remote NodeTDC15-1 seckey P@ss

set ha remote NodeTDC15-3 id 3

set ha remote NodeTDC15-3 id 3

set ha remote NodeTDC15-2 id 2

set ha remote NodeTDC15-3 ip 192.0.2.12

set ha remote NodeTDC15-3 ip 192.0.2.12

set ha remote NodeTDC15-2 ip 192.0.2.11

set ha remote NodeTDC15-3 port 322

set ha remote NodeTDC15-3 port 322

set ha remote NodeTDC15-2 port 322

set ha remote NodeTDC15-3 seckey P@ss

set ha remote NodeTDC15-3 seckey P@ss

set ha remote NodeTDC15-2 seckey P@ss

Проверка и применение конфигурации

validate

validate

validate

commit

commit

commit

write

write

write

Принудительный перевод узла в активное состояние (необязательно при первоначальной настройке)

ha set-active

-

-

Проверка состояний узлов в отказоустойчивой конфигурации выполняется одним из способов:

  • из интерфейса командной строки Termidesk Connect:

show status ha

Вывод команды отобразит:

  • роль узла, на котором выполнена команда:

    • STANDBY – резервный узел, не обрабатывающий в данный момент трафик пользователей;

    • ACTIVE – мастер-узел, обрабатывающий в данный момент трафик пользователей;

  • информацию об узле, на котором выполнена команда: идентификатор, IP-адрес, порт, дата и время последней синхронизации, статус синхронизации;

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

Если статус синхронизации соответствует false, необходимо подключиться к узлу с ролью STANDBY и выполнить поиск причин ошибки в журналах.

Статус синхронизации false означает, что синхронизация конфигурации между узлами не выполнена. Такая ситуация может возникнуть, например, если при внесении изменений в настройках ADNS был указан не общий IP-адрес кластера.

Пример вывода команды:

########################
#  Отказоустойчивость  #
########################

               Роль: ACTIVE
                 ID: 0
           IP-адрес: 192.0.2.1
               Порт: 322
         Время синх: 2025-08-11 17:46:06.749 +0000
        Статус синх: true

============================================================
(1)            Узел: node2
        Доступность: доступен
               Роль: STANDBY
                 ID: 1
           IP-адрес: 192.0.2.2
               Порт: 322
         Время синх: 2025-08-11 17:46:06.749 +0000
        Статус синх: true