Спастись за 1200 секунд!



Все началось с того, что к единственному серверу баз данных пропал SSH-доступ. Вообще. Причем именно в тот момент, когда созрел заняться репликацией баз для повышения отказоустойчивости. Основная база данных весит 11 гигабайт, PostgreSQL, чтобы без потерь данных перенести на другой сервер, нужно остановить все использующие базу сервисы и забэкапить её с одновременным восстановлением на другом сервере. Тестовый прогон показал, что процесс займет пару часов — долго. Быстрее — только репликация. Но для неё нужно прописать в конфиги несколько строк. При недоступном SSH. Дух экспериментатора взял верх. Зная на достаточном уровне Python и имея PlPythonU на одной из баз, решил «удалить гланды ректально». Накатал пару функций — для просмотра содержимого файла и для добавления строки в файл, и скрипты для обновления конфига и проверки результата. Прогнал на тестовом сервере — вау, все отлично, минута на ребут и сервер работает в новой конфигурации. Стал прокатывать на основном сервере — и вот тут оплошал, потерял при копировании один символ, но из-за этого в конфиг упали два лишних, конфиг невалидный. Выход — перезаписать конфиг полностью. И вот во время этой операции — эпик фэйл: сервер ушел в перезагрузку. Итог: PostgreSQL не стартует по причине кривого конфига, который уже не поправить, поскольку и SSH недоступен, и обходной путь закрылся. Рву на себе волосы: даже при наличии свежего бэкапа — часть свежих данных все равно потеряется, плюс время простоя на незапланированную переконфигурацию. Последний шанс — обращение в техподдержку InfoboxCloud. Вообще, до сих пор впечатления от неё были двойственные. Иногда по пустяковому вопросу можно было попасть на многоходовую переписку для уточнения деталей. Со временем научился формулировать запросы так, что уточняющих вопросов становилось все меньше. С другой стороны, серверы никогда не «лежали» и, может не так быстро, как порой хотелось бы, но проблемы всегда решались. Пишу тикет с примечанием «нужна экстренная помощь, остановились бизнес-процессы». И в этот раз результат превзошел ожидания: я еще обсуждал с коллегами плюсы и минусы возможных вариантов выхода из ситуации, когда заметили, что база поднялась. С момента отправки тикета прошло минут 20. Аплодирую стоя. Себе же на будущее две отметки в голове. Первое: прежде чем что-то делать на основном сервере, какой бы тривиальной ни была операция, нужно иметь «под парами», в полной готовности сервер резервный. Второе: на InfoboxCloud можно положиться! В критической ситуации не бросят.

Сергей Манаков
____________________
Примечание от InfoboxCloud: конечно за 20 минут получается решить не каждую проблему, но мы стараемся сделать самую лучшую облачную поддержку. Приходите к нам! http://infoboxcloud.ru

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.