Расскажу историю своего самого большого факапа в карьере. Давно собирался это сделать, но забывал. А на днях что-то вспомнилось. Это история про то, как я потерял прод и бэкапы одновременно 😱 🤡. Но всё закончилось хорошо.
Дело было в небольшой компании, куда я пришёл на полностью настроенную инфраструктуру. К тому моменту, когда всё случилось, я работал с тем, что есть.
Мониторинг Zabbix показал ошибку смарта одного из дисков рейд массива, где жила большая (2-3TB) файловая шара (samba на Linux, введена в домен AD), которой пользовался весь офис. У юзеров на компах не было файлов вообще. Всё только там. Я пошёл проверять и понял, что эта ошибка связана с катастрофически большим количеством парковок головок жёсткого диска. Сам диск на тот момент уже не был виден в системе. Проверяю остальные диски, а там всё то же самое. Был какой-то баг в прошивках дисков WD, в итоге они в Linux парковались каждые 8 секунд. И так несколько лет. Я понимаю, что могу потерять в ближайшее время весь массив, так как он может просто развалиться или не пережить ребилда.
Принимаю решение перетащить все данные на имеющийся в наличии четырех дисковый qnap очень маленькой производительности. Посмотрел, что его можно ввести в AD и решил, что на какое-то время это решение протянет. Делать всё начинаю к вечеру, который плавно переходит в ночь (всё как мы любим), так как данных полно, копируются долго. Перенёс файлы на qnap и пытаюсь восстановить права доступа, но не получается. Файлов там под миллион. Запускаю через скрипт восстановление прав доступа из текстового файла и всё виснет на неопределённое время. Если дроблю на маленькие секции, то работает. Но вручную всё это дробить и запускать слишком долго и хлопотно.
Надо принимать решение, так как на носу новый рабочий день. Есть еще один тестовый сервер, но диск нужного объёма там один, без рейда. Прикинул в уме и решил, что degraided raid5 с убитыми дисками менее надёжен, чем одиночный рабочий диск и переезжаю на него. Права доступа нормально восстанавливаю. Утром приходят люди и начинают работать уже на новом диске. Изменения накапливаются на нём.
Утром договариваюсь с директором о встрече, чтобы обсудить эти дела и решить, что делаем дальше. В течении дня, пока еду, получаю уведомление от мониторинга о том, что сервер с бэкапами не отвечает. А они вообще в другом городе, на производстве в серверной. Админа там нет, он наездами бывает примерно раз в неделю. Бэкапы делаются раз в сутки по ночам. С этого момента все новые данные лежат только на одном диске. Тут мне первый раз повезло и в беседе с директором между делом я упомянул, что сервер с бэкапами завис.
Принимаем решение оперативно купить новые диски и заменить вообще все, которые потенциально убитые из-за парковок. Там вроде 6 дисков по 3TB было. На сервере помимо файловой шары что-то ещё менее критичное лежало. На следующий день мой помощник едет покупать диски. Сам сервер в ЦОД, так что он забирает его и притаскивает в офис, включает.
Так как на сервере много всего было, я сначала всё аккуратно забираю, убеждаюсь, что ничего не забыл. Прошу заменить диски. Накатываю новый гипервизор, тестирую работу рейда, имитирую отказ диска и т.д. И все это параллельно с другими делами. Получается не быстро. Где-то один день на это ушёл.
И тут начинают жаловаться люди, что сервер сильно шумит и мешает им работать. Настолько мешает, что они генеральному написали и попросили вмешаться. Тот попросил выключить сервак. Здесь мне надо было бы настоять и все же доделать, но я как-то легкомысленно отнёсся к этой просьбе и решил, что в выходные доделаю, да и всё. В общем, из-за этого потерял ещё один день. Сервер бэкапов так и не отвечает.
Продолжение в следующем посте 👇
#backup