День третий (июль): игнорирование ошибок привело к тому, что СХД стала менее отзывчивой и уже "почему-то" не всегда тянула навалившиеся задачи, появились первые жалобы клиентов на скорость работы в часы пик. И вот тут уже с профи (ИТ-руководителя) спросили на планерке. Он понял, что пора что-то делать и спустился в «машинное отделение». Итог – в течение дня на портале вендора был открыт кейс по поводу … отказавшего контроллера! После этого инженер заказчика попросил нас помочь.
Отдельно необходимо упомянуть, что в целях экономии при покупке системы партнерскую и вендорскую поддержку onsite «порезали» и де-юре мы вообще не должны были этими вопросами заниматься, но, в счет наличия хороших отношений с заказчиком и реализуемых примерно раз в полтора года проектов, мы подключились к решению проблемы по просьбе заказчика. Сразу просим снять логи, оперативно их получаем, более четко описываем ситуацию для обращения в поддержку вендора, выставляем важность и т.д. По логам видно, что один контроллер умер, а второй сбоит, но ошибки исправляет на лету, причем батарейка во втором контроллере уже тоже сдохла. Объявляем диагноз (хорошо, что не приговор), ускоряем заказ контроллеров у производителя, как водится, их не оказалось на российском складе.
Отступление третьего дня - прорабатывая варианты отказов и методы их решения, важно начинать с самых дорогих. Можно в виде очень простой таблички по образу Плана восстановления выше. Также полезно создать и поддерживать в актуальном состоянии план внедрения/развёртывания комплекса с нуля.
А для поддержания надежности комплекса стоит составить и исполнять плановые проверки.
Например:
* Работоспособность резервного генератора (проверять каждый первый рабочий вторник месяца).
Ответственный: дежурный электрик ____________.
Контролирующий: ____________________.
* Проверка последней резервной копии на полноту и консистентность данных (проводится один раз в неделю).
Ответственный: ведущий инженер _______________.
Руководитель: ____________________.
Можно составить списки критически важных сервисов, чтобы начинать восстановление с них.
Для того чтобы вовремя узнавать о сбоях необходимо настроить систему оповещений и проверять её работу также по расписанию с ответственными.
Важно распределять роли и обязанности между сотрудниками, чтобы каждый знал, к кому обращаться в чрезвычайной ситуации, а также их заместителей. Важно указывать реальных людей с реальными контактами, а не просто роли.
Тестирования отказоустойчивости и катастрофоустойчивости могут проходит в различных форматах:
- Проработка действий с командой, т.е. сотрудники устно проходят пункты, указанные в плане, выявляют пробелы и трудные места.
- Моделирование аварийного сбоя, т.е. производится имитация инцидента без прерывания работы основной IT-инфраструктуры.
- Тестирование в рабочем режиме.
- Полное прохождение действий плана аварийного восстановления с необходимым отключением основной IT-инфраструктуры.
День четвертый (август): спустя 4 недели контроллеры преодолели таможню и добрались до серверной заказчика (попутно мы переписали серийники, они понадобятся для закрытия кейса в поддержке вендора при отправке старых контроллеров). Путь с таможни до серверной – 2 дня. А дальше … снова началась неторопливая действительность. От предложенной замены контроллеров нашими спецами или хотя бы сопровождения данного процесса, заказчик отказался. По условиям сервиса нужно отправить замененные старые контроллеры производителю в течение двух недель. Производитель напоминал заказчику о возврате. Пару раз и наши инженеры напоминали про возврат старых, но клиент отвечал – «Я пока заменил только один»; «Сейчас нет окна чтобы выключить систему, на горячую не хочу, и помогать не надо!».
Отступление четвертого дня - не бойтесь задать вопрос, не стесняйтесь попросить помощи и не брезгуйте перепроверить самих себя. В точных науках вся база строится на аксиомах и теоремах. т.е. доверие идёт только через 100% гарантию. Человеку свойственно ошибаться, перепроверяйте себя, перепроверяйте результаты, перепроверяйте исходные данные и т.д. В сложной информационной системе все элементы и все пути дублируются, в космосе избыточность вообще может быть выше десятикратной. Человеческий фактор не должен оставаться без контроля и проверки. Конечно, есть люди, которые могут на своём профессионализме и харизме тащить всю организационную составляющую. Работа в команде подразумевает, что каждый использует свои сильные стороны. Как специалисты, прорабатывайте резервные варианты до наступления критических ситуаций. Готовьтесь к ним заранее и пусть они обойдут вас стороной. А если что-то случится, вы будете готовы и пройдете эти испытания с минимальными потерями.
День пятый (октябрь): Кульминация. Далее текст, написанный нашим инженером от первого лица:
До офиса оставалось минут 5 пешком, вижу вызов с неизвестного номера. Поднимаю трубку – встревоженный голос просит помочь их профи решить проблему с их СХД, т.к. клиенты не могут получить доступ к сервису. Задав несколько уточняющих вопросов, догадываюсь (по техн. деталям), что это тот самый "профи" (который таки спустился на уровень рядового тушителя пожара). Припоминаю, что он (профи) вроде уже устранил SPoF (единую точку отказа) в виде полностью нерабочего контроллера, но постоянно откладывал замену второго, сбоящего. Согласовываем и сразу осуществляем созвон с профи и админом.
Отложив запланированные на утро дела, стараюсь локализовать проблему задавая точечные вопросы. Цитирую некоторые ответы связки новый админ + профи: "старый мёртвый контроллер замен почти сразу, в конце августа или начале сентября" … "второй так и не поменяли, хотели вместе с его заменой ещё и какие-то работы сделать, требующие выключения системы" … "до сих пор все работало" … "ерроров и критикал ерроров уже не было" … "и тут СХД заглохла" … "из сети не достучаться" … "все сервисы упали" … "часть лампочек не горит" … "не мигает где обычно мигало" … "я не понимаю, что это значит". На очередной вопрос: а сохранилась ли резервная копия настроек контроллера, я вдруг услышал полное молчание. Спустя минуту картина дополнилась: "профи" заменил (физически вынул старый и вставил на его место новый, цитирую: критикал еррор пропал) один контроллер (тот, что был полностью мертвый), не выключая СХД. И собственно, всё! Он после этого больше ничего с ним не сделал, НИЧЕГО!!! "Лампочка же загорелась, критикал эррор пропал." Замену второго (еле живого контроллера) он оставил до выключения СХД, которое откладывалось почти полтора месяца.
Итак, один контроллер сдох, его заменили пустым новым, второй дожил свой век (более трех месяцев бедолага в одиночку тянул со сдохшей батарейкой и со сразу исправляемыми одиночными ошибками всю их систему) и тоже сдох. Копии настроек нет, где взять сами настройки люди сходу ответить не могут, удаленку дать не могут физически ("что-то" с интернетом), а человеко-часы теряются. Надежность всей системы, как мы знаем, ограничивается самым слабым звеном, а тут серьезная контора, у которой один из основных, кормящих ее сервисов (причём 24/7) несколько месяцев висел на одном еле живом сбоящем контроллере без батарейки. Их базовая цена простоя в рабочее время в будни – сотни тысяч рублей за час простоя. Репутационные потери ещё хуже. Стоимость же полной потери данных вообще улетает в космос.
Прикинул как это можно исправить, дальше начал уточнять про сеть, можно ли оперативно получить карту сети (нет нельзя, под рукой почти ничего нет), ну или хотя бы что-нибудь от чего отталкиваться. … Спустя пару минут осознаю, что dhcp сервера виртуальные и они запускаются именно с этой СХД, статики нет и поэтому НИЧЕГО не доступно. Нарисовал в голове примерный план действий и объяснил его "коллегам": что нужен компьютер или ноут с патч-кордом рядом с СХД и руки рядом. Дальше нужны: инструкция по настройке контроллера (если отсутствует/потеряли, то сейчас же найду и вышлю) и основные сетевые настройки вокруг СХД. Затем, базово настраиваем новые контроллеры СХД, подключаясь к ним напрямую с нашего ноута с патч-кордом по инструкции используя найденные сетевые настройки, поднимаем ваш DHCP и настраиваем контроллеры СХД уже по-боевому, поднимая каждую систему и проверяя, что она работает. Высылаю инструкцию на личную почту т.к. корпоративная не работает, она зависит от этой СХД, плюс к этому времени профи нашел хотя бы базовые сетевые настройки для СХД (ip адреса обоих контролеров и т.п.). У профи наконец появилось понимание что делать, и он сказал, что дальше справится сам. Спустя некоторое время я узнал, что сервис "24/7" у этого клиента заработал.
Для меня весь инцидент уместился в три часа, и с одной стороны, мне было приятно, что получилось решить задачу очень оперативно по телефону, с другой стороны было не понятно, как можно дойти до жизни такой. И клиенты этой IT-компании тоже не оценили данный инцидент, т.к. сервис должен был работать 24/7.