Управление с помощью сигналов
Помимо командного управления внешнее управление системой резервирования возможно с помощью сигналов. Этот вариант управления поддерживается только в рамках одного компьютера. Обычно он применяется для управления сервером резервирования какой-либо пользовательской программой.
Распознаваемые системой резервирования сигналы приведены в таблице 2. Часть из них может быть использована для управления, остальные не должны использоваться системой резервирования (см. сноску к таблице 2).
Примечание
В ОС Windows управление с помощью сигналов не поддерживается.
Сигнал | Назначение сигнала |
---|---|
SIGINT | Сигнал имеет двойное назначение:
|
SIGTERM | Завершение работы сервера резервирования. |
SIGQUIT | Завершение работы сервера резервирования. |
SIGTRAP | Завершение работы всех управляющих программ системы резервирования при получении данного сигнала любой из управляющих программ. |
SIGCHLD | Для обнаружения завершения дочерних процессов.1) |
SIGKILL | Запрещен к использованию (поскольку он немаскируемый).1) |
SIGUSR2 | Для извещения сервера резервирования об успешной инициализации сетевого драйвера сервера dbs_tcp или dbc_tcp.1) |
SIGHUP | Для извещения сервера резервирования об успешной инициализации ядра СУБД ЛИНТЕР.1) |
SIGIO (или SIGUSR1) | Используется библиотекой интерфейса нижнего уровня.1) |
Поддерживаемые ОС | Для запуска системы резервирования по сигналу (должен быть задан в ключе |
1) Запрещается применять для управления работой сервера резервирования, т.к. этот сигнал используется сервером резервирования или ОС для внутренних нужд.
По сигналу SIGTERM, SIGQUIT, SIGINT сервер резервирования завершает свою работу немедленно и, если не используется ключ /testslave
, не отслеживает возможную потерю данных резервными серверами. Если же ключ /testslave
задан, то на резервном сервере происходит ожидание завершения первоначального копирования БД перед завершением его работы.
При получении главным сервером сигнала SIGTERM, SIGQUIT, SIGINT или SIGTRAP этот сигнал игнорируется, если главный сервер запущен с ключом /testslave
и есть резервные серверы, которые в данный момент выполняют первоначальное копирование БД.
При получении сигнала SIGTRAP резервным сервером, если задан ключ /testslave
на главном и есть серверы в процессе первоначального копирования БД, система резервирования останавливается после того, как БД будет скопирована на все серверы. При отсутствии ключа /testslave
на главном сервере ожидания завершения копирования БД не происходит, и система останавливается немедленно.
Если значение ключа /testdb
начинается с SIG, то для управления запуском процедуры тестирования БД будет использоваться сигнал, номер которого идет непосредственно после SIG. Процедура тестирования может быть выполнена только на сервере в состоянии SLAVE, во всех остальных случаях заданный сигнал будет игнорироваться.