Управляющая программа – средство автоматизации резервирования

Как было сказано выше, для обеспечения работы системы резервирования достаточно запустить на главном сервере ядро СУБД ЛИНТЕР и сетевой драйвер сервера dbs_tcp, а на резервном – сетевой драйвер клиента dbc_tcp, утилиту горячего архивирования lhb и ядро СУБД ЛИНТЕР в специальном режиме. Этого достаточно для работы системы резервирования в минимальном составе. Администратор системы резервирования может самостоятельно определить назначение каждого из серверов (главный/резервный) и запустить на них необходимые утилиты. В случае отказа главного сервера администратору необходимо на резервном сервере остановить все запущенные утилиты и запустить те, что должны работать на главном. После такого запуска резервный сервер станет главным.

Выполнение этих (и ряда других) задач берет на себя специально разработанная управляющая программа системы резервирования. Основным ее назначением является автоматизация управления системой резервирования, состоящей из нескольких серверов, а именно:

  • определение назначения данного компьютера в системе резервирования при старте системы (главный или резервный);

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

  • слежение за работоспособностью компьютеров, входящих в систему резервирования (серверов резервирования);

  • выявление неработоспособности серверов резервирования;

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

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

  • взаимодействие с администратором системы резервирования, информирование его о своих действиях, и обработка команд администратора;

  • завершение работы отдельного сервера или системы резервирования в целом.

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

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

  • определение функциональности сервера на основании времени БД или по системному журналу;

  • отслеживание работоспособности утилит и ядра СУБД ЛИНТЕР;

  • автоматический рестарт утилит и ядра СУБД ЛИНТЕР при их завершении, инициированном причинами, отличными от команды управляющей программы;

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

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

  • протоколирование (трассировка) работы управляющей программы и системы резервирования в целом;

  • проверку санкционированности команд администратора системы резервирования;

  • создание копии БД при старте системы резервирования, либо по расписанию или по команде администратора системы резервирования;

  • создание архивного файла копии БД;

  • восстановление БД из архивного файла;

  • проверку целостности БД утилитой testdb по расписанию или по команде администратора системы резервирования;

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

  • хранение и чтение предыдущего состояния данного сервера резервирования и БД;

  • ведение двух каталогов БД на каждом сервере для увеличения надежности и скорости переключения на нужную БД.

Ниже описание работы системы резервирования приведено в хронологическом порядке, однако при необходимости (в случае невозможности или нецелесообразности такого изложения) возможны отступления от хронологического порядка.

В общем случае работа управляющей программы системы резервирования включает в себя следующие стадии (режимы):

  • запуск (старт) системы резервирования;

  • работа в стационарном режиме;

  • переключение в другое состояние при обнаружении выхода из строя главного сервера;

  • завершение работы.