Управление с помощью сигналов

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

Распознаваемые системой резервирования сигналы приведены в таблице 2. Часть из них может быть использована для управления, остальные не должны использоваться системой резервирования (см. сноску к таблице 2).

Примечание

В ОС Windows управление с помощью сигналов не поддерживается.

Таблица 2. Сигналы, распознаваемые системой резервирования
Сигнал Назначение сигнала
SIGINT

Сигнал имеет двойное назначение:

  1. завершение действий управляющей программы системы резервирования в процессе работы;

  2. разрешение на запуск системы резервирования по запросу управляющей программы системы резервирования. В этом случае сервер резервирования должен быть запущен c ключом /wp без параметра или с параметром SGINT (см. описание ключа /wp). Сигнал должен быть передан только во время запроса управляющей программы. В остальные моменты времени он будет воспринят как сигнал на завершение работы.

SIGTERM

Завершение работы сервера резервирования.

SIGQUIT

Завершение работы сервера резервирования.

SIGTRAP

Завершение работы всех управляющих программ системы резервирования при получении данного сигнала любой из управляющих программ.

SIGCHLD

Для обнаружения завершения дочерних процессов.1)

SIGKILL

Запрещен к использованию (поскольку он немаскируемый).1)

SIGUSR2

Для извещения сервера резервирования об успешной инициализации сетевого драйвера сервера dbs_tcp или dbc_tcp.1)

SIGHUP

Для извещения сервера резервирования об успешной инициализации ядра СУБД ЛИНТЕР.1)

SIGIO (или SIGUSR1)

Используется библиотекой интерфейса нижнего уровня.1)

Поддерживаемые ОС

Для запуска системы резервирования по сигналу (должен быть задан в ключе /wp) или для запуска тестирования БД (см. ключ /testdb).


1) Запрещается применять для управления работой сервера резервирования, т.к. этот сигнал используется сервером резервирования или ОС для внутренних нужд.

По сигналу SIGTERM, SIGQUIT, SIGINT сервер резервирования завершает свою работу немедленно и, если не используется ключ /testslave, не отслеживает возможную потерю данных резервными серверами. Если же ключ /testslave задан, то на резервном сервере происходит ожидание завершения первоначального копирования БД перед завершением его работы.

При получении главным сервером сигнала SIGTERM, SIGQUIT, SIGINT или SIGTRAP этот сигнал игнорируется, если главный сервер запущен с ключом /testslave и есть резервные серверы, которые в данный момент выполняют первоначальное копирование БД.

При получении сигнала SIGTRAP резервным сервером, если задан ключ /testslave на главном и есть серверы в процессе первоначального копирования БД, система резервирования останавливается после того, как БД будет скопирована на все серверы. При отсутствии ключа /testslave на главном сервере ожидания завершения копирования БД не происходит, и система останавливается немедленно.

Если значение ключа /testdb начинается с SIG, то для управления запуском процедуры тестирования БД будет использоваться сигнал, номер которого идет непосредственно после SIG. Процедура тестирования может быть выполнена только на сервере в состоянии SLAVE, во всех остальных случаях заданный сигнал будет игнорироваться.