3.12.2.3.2.15. Модуль резервирования
Сервисные сигналы Подсистемы резервирования сгруппированы в папке Redundancy дерева сигналов Astra.Server. Сигналы используются для мониторинга Подсистемы резервирования и подачи команд управления серверами. Набор сервисных сигналов серверов резервной пары одинаков.
Полный тег сервисных сигналов имеет вид:
Service.Redundancy.<Имя сигнала>
|

|
Имя сигнала
|
Тип
|
Описание
| ||
|
Channel1.ConnectionEstablished
|
Bool
|
Состояние связи по основному каналу
| ||
|
Channel2.ConnectionEstablished
|
Bool
|
Состояние связи по резервному каналу
| ||
|
FailureStatus
|
Uint1
|
Аварийный статус сервера:
0 — Штатное состояние
1 — Предупреждение, нештатное состояние
2 — Критическая ошибка состояния сервера
| ||
|
FailureStatus.Reason
|
Uint1
|
Причина аварийного состояния:
0 — Причина не определена
1 — Нет соединения с парным сервером
2 — Локальный сервер потерял связь с полем
3 — Парный сервер потерял связь с полем
4 — Парный сервер не смог достичь требуемого состояния
5 — Переход в требуемое состояния парного сервера затянулся
6 — Локальный сервер не смог достичь требуемого состояния
7 — Не удалось определить приоритетный сервер
8 — Парный сервер устарел
| ||
|
FailureStatus.Reason.Description
|
String
|
Строковое описание причины аварийного состояния
| ||
|
FailureStatus.Description
|
String
|
Строковое описание аварийного статуса сервера
| ||
|
Initialized
|
Bool
|
Состояние инициализации сервера:
false — Не инициализирован;
true — Инициализирован
| ||
|
Initialized.Reset
|
Bool
|
Команда:
true — сбросить флаг состояния инициализации сервера
| ||
|
Initialized.Reason
|
Int4
|
Причина текущего состояния флага инициализации:
0 — Инициализация успешно завершена
1 — Инициализация не производилась
2 — Инициализация была произведена с неинициализированной реплики (инициализация прошла, однако первая реплика не была помечена, как инициализированная)
3 — Инициализация была произведена с устаревшего сервера
| ||
|
Initialized.Reason.Description
|
String
|
Строковое описание причины текущего состояния флага инициализации
| ||
|
Priority
|
Bool
|
Приоритет сервера
| ||
|
Priority.Set
|
Bool
|
Команда:
true — установить приоритет сервера
| ||
|
State
|
Uint1
|
Текущее состояние сервера:
0 — Начальное состояние (состояние до установления соединения или до истечения таймаута на установление связи с парным сервером)
1 — Инициализация
2 — Активен
3 — Неактивен
| ||
|
State.Description
|
String
|
Описание текущего состояние сервера
| ||
|
Switch
|
Bool
|
Команда:
true — выполнить резервный переход
| ||
|
Switch.State
|
Int4
|
Результат резервного перехода и состояние сервера в виде числового кода
| ||
|
Transition
|
Int4
|
Текущий переходный процесс:
0 — Отсутствует
1 — Ожидание установления первого соединения
2 — Переход в активный режим, резервная пара активна
3 — Переход в активный режим, резервная пара пассивна
4 — Переход в пассивный режим, резервная пара активна
5 — Переход в пассивный режим, резервная пара пассивна
| ||
|
Transition.Description
|
String
|
Строковое описание переходного процесса
| ||
|
FieldAvailability
|
Bool
|
Состояние связи с контроллерами нижнего уровня АСУ ТП:
true — Связь есть
false — Связь потеряна. Модуль проверяет значение аналогичного сигнала на резервном сервере; если у резервного сервера есть связь с контроллерами, то выполняется резервный переход
| ||
|
Weight
|
Uint4
|
Вес сервера. При запуске сервера равен 0 и устанавливается пользователем во время работы сервера, значение от 0 до 4294967295. В резервной паре серверов в состояние РАБОТА переходит сервер, вес которого больше
|
Алгоритм инициализации:
-
Запускается первая реплика;
2. Когда она загрузилась и реплика готова к работе, через сервисные сигналы помечается, что она инициализирована (Initialized.Reset = true);
3. Запускается вторая реплика, которая наследуется с первой.
Папка State

Полный тег сервисных сигналов имеет вид:
Service.State.<Имя сигнала>
|
|
Сигнал
|
Тип
|
Описание сигнала
|
|
Pair
|
Bool
|
Состояние резервной пары:
true — Резервная пара в работе (РАБОТА-РЕЗЕРВ);
false — Резервная пара в нерабочем состоянии
|
|
Pair.Set
|
Bool
|
Команда:
true — резервная пара в работе
|
|
Server
|
Bool
|
Текущее состояние сервера:
true — РАБОТА
false — РЕЗЕРВ
|
|
Server.Extended
|
Int1
|
Состояние сервера
|
|
Server.Set
|
Bool
|
Управление состоянием сервера:
true — Перевести в режим РАБОТА
false — Перевести в режим РЕЗЕРВ
|
