Она не потянулась к резервной остановке. Останавливать было нечего. Повторять вторничную ошибку не требовалось.
Экспертка подошла ближе.
- К строке не прикасаться. Не выделять, не закрывать, не отключать. Оператор, руки на край стола.
Тот послушно положил ладони перед клавиатурой.
- Мирра, позвоните секретарю совета. Одной фразой: обнаружено отложенное задание, требуется независимая фиксация и разовое письменное решение. Без имени предполагаемого автора.
Я набрала номер. Секретарь не спросила, кто виноват. Она уточнила, работает ли система, и записала, что запуск не производился.
Пока мы ждали регистратора, экспертка сняла общий вид пульта, крупно серверные часы и строку задания. Потом попросила оператора, не меняя режима чтения, показать карточку.
В карточке стояли идентификатор, время, четвёртый узел и параметры уже известного механизма задержки.
- На экране только то, что видим, - остановила она Эльзу, когда та наклонилась к строке. - Сходство я отмечу после выгрузки. Сейчас фиксируем объект.
Оператор вывел журнал планировщика на соседний монитор. Запись приняли раньше, чем исследуемую учётную запись заблокировали. После блокировки новых входов под ней не было.
- Как тогда оно собиралось выполниться завтра? - спросила я.
Экспертка ответила только после того, как камера сняла обе строки.
- Планировщик принял команду заранее. В назначенное время её запускает системная служба, а не новый вход пользователя. Блокировка закрывает дверь для следующего входа, но не выметает уже принятую очередь.
- И при изъятии мы её оставили.
- Вы правильно оставили всё как было. Если бы тогда начали чистить очередь, сейчас обсуждали бы уничтожение данных.
Очередь оставили неизменной при изъятии, поэтому строка сохранилась и всё ещё могла исполниться. Сначала требовалось снять её состояние, потом отключать.
Сотрудница канцелярии принесла номерной накопитель и акты. Экспертка вскрыла пакет перед камерой. Оператор выгрузил состояние центрального планировщика, определение задания и журналы, не меняя живую строку.
Контрольные суммы записали в акт, экспорт подписали электронной подписью. Только после этого экспертка повернулась к Эльдару.
- Центральная запись снята. Изолируйте четвёртый узел от производственной сети.
Эльдар присел у стойки. Он назвал номер порта, показал его в камеру и вынул кабель. На свободный разъём поставил заглушку, продел тонкую номерную пломбу и расписался в листе физической изоляции.
- Канал отключён. Корпус не вскрывался, питание пока сохраняется, - сказал он. - Дальше узел ваш.
Он отошёл к стене. Даже когда на отдельном экране появилась служебная информация, Эльдар не повернул к ней кресло.
После штатного выключения узла экспертка подключила блокиратор записи и сделала образ диска. Полоса копирования двигалась медленно. Эльза разлила кофе, оператор развернул бутерброд. Хлеб громко хрустнул.
- Звук в контрольную сумму не входит, - сказала экспертка, не отрываясь от экрана.
- Это хорошая новость.
На четвёртом узле нашлась локальная копия того же задания. Идентификатор совпадал с центральным, как и время. На остальных узлах будущей команды не было. Экспертка зафиксировала это отдельно, сняла копию базы планировщика и подписанные журналы. Затем сравнила время создания с зарегистрированными материалами.
- Код совпадает с резервной задачей, открытой в 22:41:03 в уже зарегистрированной сессии, - сказала она. - Эту запись создали неделю назад после назначения показа, под той же учётной записью и с той же станции. После блокировки новых входов нет. Человека и умысел данные не определяют.
- А завтра она сработала бы без человека? - уточнила я.
- Если бы контур оставался подключённым и задание не было отключено, системная служба попыталась бы исполнить его в двенадцать.
Она не назвала виновного. В акт требовались источник, время и состояние задачи.
В 16:18 секретарь прислала проект разового разрешения. Марат подключился по защищённой связи вместе с двумя членами совета. На экране перед ним лежала наша карточка инцидента.
- Мне нужна формулировка действия, - сказал он. - Без предположений об авторе задачи.
Экспертка перечислила спокойно: сохранить выгрузки и образы, отключить задание в центральном планировщике, удалить его активную запись и локальную копию, проверить все шесть узлов, восстановить очередь только из зарегистрированного DEMO_SAFE_03.
- Журналы не очищать, - добавил оператор.
- Образы не перезаписывать, - сказала экспертка.
- Старые пакеты не возвращать в выбор, - сказала Эльза.
Я подняла свой лист.
- Авторскую последовательность после восстановления сверяю я. Технический выбор пакета делает оператор.
Марат посмотрел на каждого по очереди.
- Разрешение только на эти действия. Расширять его по ходу работ нельзя. Согласны?
После трёх электронных подписей канцелярия присвоила разрешению номер. Принтер выпустил лист обратной стороной вверх, и секретарь положила его рядом с клавиатурой.
- Теперь можно, - сказала экспертка. - Нужен резервный системный администратор. Не тот, кто вёл первичное изъятие.
Администратор приехал через двадцать минут. После опечатывания образа экспертка отсоединила блокиратор, назвала номер временной пломбы и сняла её. Эльдар подключил четвёртый узел только к изолированному служебному контуру, оператор включил питание. Администратор показал удостоверение, вошёл под собственной учётной записью и вслух прочитал номер разрешения. Сначала отключил исполнение задания в центральном планировщике. Статус сменился с «ожидает» на «отключено».
Экспертка сняла экран и проверила время.
- Центральное задание больше не исполняется. Переходим к удалению активной записи. Журналы остаются.
Администратор удалил строку из действующей очереди. Потом через изолированный служебный контур убрал локальную копию с четвёртого узла. Пять остальных проверил по одному. Там совпадающего идентификатора не было.
- Шесть узлов проверены, - сказал он. - Центральная активная запись удалена. Локальная копия удалена только на четвёртом, потому что только там существовала. Журналы и экспорт не затронуты.
- Покажите пустой список будущих заданий и историю операции, - попросила экспертка.
Он показал. Она сделала новый экспорт, вычислила контрольные суммы и приложила их к первому акту. Снимок до удаления, образ узла и снимок после удаления получили разные номера пакетов. Смешать их теперь было невозможно.
После проверки оператор штатно завершил сеанс и выключил узел. Эльдар отсоединил служебный кабель и подключил узел к чистому рабочему контуру. Использованную пломбу прикрепили к акту, оператор снова включил питание. Экспертка проверила, что будущая строка не вернулась после синхронизации.
- Планировщик чист, - сказала она. - Можно восстанавливать разрешённую очередь.
На втором мониторе Эльза открыла зарегистрированный манифест DEMO_SAFE_03. Оператор взял контрольную копию из опечатанного хранилища, сверил номер и только тогда сделал пакет доступным для выбора. DEMO_SAFE_02 остался в истории. Кнопки запуска рядом с ним не было.
- Активный пакет один, - сказал оператор. - DEMO_SAFE_03.
- Версия совпадает, - ответила Эльза. - Контрольная сумма совпадает с зарегистрированным манифестом.
Я проверила пять строк авторской последовательности. Не технику и не права доступа, а то, за что отвечала сама.
- Сетка, серое поле, белое поле, цветовые полосы, короткое разрешённое движение. Порядок верный. Старого профиля и задержки в последовательности нет.
Экспертка подписала ограниченный допуск на пятничную репетицию. До субботнего публичного показа он не распространялся.
Рабочий свет погас не весь, только над первыми рядами. Купол принял сетку. Линии легли ровно, без дрожи. Серое поле сменилось белым, потом на полминуты появились цветовые полосы. На коротком движении я следила не за красотой, а за Эльзой. Она читала состояния шести каналов, оператор держал ладонь рядом с основной остановкой, её резервная кнопка оставалась под прозрачной крышкой.