Эта история произошла со мной на предыдущей неделе – с 26 по 31 января 2009 года.
Прожив этот чудесно крохотный период своей жизни, я осознал необходимость простых вещей, поверил в существование «случайности» и всё больше разочаровывался в люди.
Темами этой недели были RAID, Infobox и резервное копирование.
Хотя все началось гораздо раньше.
Первая часть В январе 2008 года я арендовал сервер у питерской компании Инфобокс.
Средний по характеристикам, относительно дешевый, вполне подошел под мои текущие нужды.
В услугу аренды входила первоначальная установка операционной системы, естественно freebsd и желаемая разметка разделов.
Также любезные сотрудники техподдержки объединили пару винтов по 120 Гб в программный RAID 1 (зеркало).
Я попросил своего друга, который работает системным администратором одновременно во многих местах, позаботиться о сервере.
Он установил веб-сервер и настроил все сервисы, включая полное резервное копирование данных в архивы два раза в день.
На домашнем компьютере я установил скрипт, который регулярно брал эти резервные копии и сохранял их в папке.
Эту папочку я периодически чистил.
Читатель должен согласиться, что в целом все получилось вполне хорошо: RAID 1 + архивы на сервере + архивы на моем домашнем компьютере, включенном круглосуточно.
Я сразу перенес сайт с хостинга на вновь созданный сервер.
ТортPHP , а позже появились и другие сайты, известные аудитории Хабра, такие как МойУведомитель , КодИгнитер , мой домашняя страница , а также многие другие проекты, весьма отдаленно связанные с моей историей.
Часть вторая Так я и жил долго и счастливо, пока в январе этого года не решил дома обновить свою устаревшую убунту.
С номера 8.04 по номер 8.10, и при этом начать десктопную жизнь сначала - отформатировать винты и поставить операционную систему "начистую".
Это благородное дело произошло 23 января.
Сохранять накопленные резервные копии особого смысла не было: «Переустановлю систему, заново настрою скрипт и соберу архивы», — подумал я.
Но жизнь быстрая и непредсказуемая, и в ближайшие пару дней мне не удалось уделить много времени настройке своей новенькой 8.10. Вернувшись домой вечером 26-го числа, я обнаружил, что мой список контактов в Jabber и ICQ заполнен сообщениями.
Все писали, что на моих сайтах что-то не работает. Проверить это было несложно — достаточно открыть любой из проектов и подождать полминуты, пока загрузится страница с ошибкой базы данных.
Решив, что дело простое, я перезагрузил озорной mysql, но должного эффекта это не принесло.
Более того, сервер отвечал по ssh со скоростью улитки или чуть медленнее.
Ситуация усугублялась тем, что мой коллега-администратор в это время мирно ехал в поезде Петербург — Москва и мои житейские проблемы были ему не подвластны, чтобы решить их.
Я обратился в техподдержку Infobox с просьбой перезагрузить сервер.
Так началась моя переписка с ними, состоящая на данный момент из 53 писем.
Сервер был перезагружен, но ничего не изменилось, тогда я предположил, что что-то сгорело, может быть кулер или винт. Оказалось, что это был жёсткий диск, который сотрудники техподдержки спустя чуть больше часа любезно заменили, запустив фоновое копирование со старого жёсткого диска.
Был поздний вечер, и после нескольких бесплодных попыток дозвониться до сервера я лег спать, решив, что фоновое копирование, так занявшее сервер, должно закончиться к утру.
Но утром ничего не изменилось.
Тем временем мой администратор приехал в Москву и через некоторое время прислал мне журнал неудачных попыток записи на новый жесткий диск.
Это выглядит так.
… 27 января 10:44:44 ядро oowl: ad6: TIMEOUT — повторная попытка WRITE_DMA (осталась 1 повторная попытка) LBA = 74274048 27 января 10:46:14 ядро oowl: ad6: TIMEOUT — повторная попытка WRITE_DMA (осталась 1 повторная попытка) LBA = 74344960 27 января 10:47:05 ядро oowl: ad6: TIMEOUT — повторная попытка WRITE_DMA (осталась 1 повторная попытка) LBA = 50792319Следующие полдня были потрачены на то, чтобы сами инженеры Инфобокса убедились в невозможности записи и неисправности нового жесткого диска.
Жесткий диск снова поменяли и теперь началось настоящее фоновое копирование.
К тому моменту я уже получил пятидесятое письмо от пользователей с вопросами о случившемся.
Когда сервер начал отвечать на запросы с приемлемой скоростью, я уже думал, что на этом неприятная история закончилась, но, как оказалось, приключения только начинались, ведь я очутился в прошлом! Последние сообщения на форуме датированы 24 мая 2008 года.
Джобс в MyNotifier подтвердил мою телепортацию.
Чтобы убедиться, что я не схожу с ума, мне пришлось взглянуть на календарь.
На нем была зима, а на сервере уже весна, хоть и в прошлом году.
После переговоров с поддержкой я получил от них следующее.
Теперь на сервере работает жесткий диск, который находился в рейде до того, как вышел из строя второй жесткий диск.Часть третья Вот так я остался ни с чем: на первом жестком диске цветет май, второй «отказ на физическом уровне, восстановление данных невозможно», а на локальном компьютере еще не настроен скрипт сбора резервных копий ( помните мой переход на 8.10?).Второй жесткий диск вышел из строя на физическом уровне, восстановление данных невозможно, так как с мая пришлось синхронизировать жесткие диски, видимо из-за какой-то ошибки того же вышедшего из строя жесткого диска, этого не произошло.
Таким образом я потерял информацию, накопленную почти за год, включая полные исходные коды некоторых проектов, для которых не было дубликатов.
Перекопав всю майскую переписку со своим администратором, я пришел к выводу, что в мае вообще ничего не устанавливалось, не удалялось и не перегружалось.
Сбой жесткого диска не отразился ни в каких журналах.
Надо было что-то делать и как можно скорее.
Позвонив в серьезные компании, занимающиеся восстановлением данных, я согласился приехать в дата-центр и попросить отдать мне дохлый винт под подпись.
Добраться до ДЦ можно только с 10 утра.
В 9:30 я уже выходил на пороги.
Схватив согревающийся труп винчестера, он помчался в реанимацию для таких, как он.
Часть четвертая В 10:15 я уже описал ситуацию мастеру.
«Посмотрим», — пробормотал он и углубился в темную комнату за стойкой, предоставив мне заполнять форму с вопросами об объеме разделов, расположении информации и о том, что нужно восстановить в первую очередь.
Не успел я возиться и пяти минут, как мастер выбежал со словами: «Вы шутите, да?!» Тебе скучно что ли?! Зачем ты принес мне целый жесткий диск?! Возникла неловкая пауза.
Техник посмотрел на меня укоризненно, а я посмотрел на него, не доверяя его профессиональным способностям, уже мысленно зарыв винт. «Этого не может быть, проверьте еще раз», — не поверил я своим ушам.
Мастер подключил винт к стоящей за клиентской стойкой виндовой машине и через утилиту UFS Explorer показал мне содержимое винта, мои документы, базы данных, картинки и все, что я просил, в надежде избавиться от нестандартный клиент. Я приехал домой с жестким диском и, о ужас, понял, что мне его просто некуда подключить — настольного ПК у меня нет. Обзвонив всех своих друзей, я убедился, что если у людей нет ноутбуков, то им некуда вставить жесткий диск с разъемом SATA. Для моего администратора это, конечно, не было проблемой, но он был в Москве.
Тем временем гневная переписка с техподдержкой Инфобокса продолжалась.
В качестве оправдания они выбрали фразу:
Нам не удалось работать с этим диском, возможно, дело в конфигурации сервера.А еще написал:
.У меня не было выбора, и на следующее утро я доставил жесткий диск обратно в дата-центр.вы можете принести нам бумажную копию, мы постараемся скопировать информацию или подключить ее к вашему серверу.
Тем временем количество писем с просьбой разъяснить ситуацию превысило 80, а новый жесткий диск, установленный на арендованном сервере, начал медленно выходить из строя.
Часть пятая
2009-01-29 11:03:32 <.> Хорошо, скопируем данные в течение дня.
2009-01-29 19:18:28 Никакого копирования пока не делалось, были проблемы со "старым хардом", монтировалась только корневая файловая система объёмом 500 Мб, теперь удалось смонтировать / var/usr/home разделы, но ошибки все равно появляются.и по поводу обновлённого сервера, который стал постоянно зависать:<.
>
Сервер завис, на консоль не выходил сигнал, он был перезагружен и теперь пингуется <.На следующий день поздно вечером на связи появился мой администратор и объяснил, где находятся необходимые данные.>
Эту информацию я сразу отправил в техподдержку.
2009-01-30 17:36:59 Спасибо за информацию, мы будем держать вас в курсе.
2009-01-30 21:53:53 я : Каково текущее состояние процесса? 2009-01-30 21:55:57 Инженер : Мы пытаемся скопировать данные.Часть шестая Терпение мое лопнуло, как вы понимаете, прошло два дня слов «пытаемся скопировать», и в субботу утром следующего дня мне разрешили снова взять в руки жесткий диск.
Нажав на газ, я пошел к администратору, только что вернувшемуся в Питер.
Каково же было мое удивление, когда он сказал, что просто скопировал все данные.
Ошибки были вызваны только чтением одной базы данных innodb, которая была сильно повреждена во время сбоя.
Остальные файлы извлеклись без проблем.
Возникает резонный вопрос: что делала поддержка два дня, писала мне отчеты о процессе восстановления.
Но оставим это на совести инженеров, которые, кстати, в своих «попытках» прочитать данные с винчестера и записали это на него! Заключение Моя история имеет счастливый конец.
Все данные возвращены, проекты работают. Я отказался от аренды сервера и установил свой на колокейшене.
Деньги за остаток срока аренды мне вернули в три этапа: сначала категорически отказались, потом зачислили мне ошибку в 800 рублей в свою сторону, потом, после очередного письма, ее исправили.
Не знаю, помогла ли кому-нибудь история, произошедшая со мной, убедиться в необходимости надежного резервного копирования, выбрать себе дата-центр или просто задуматься о ценности информации, но меня она многому научила, потрепала нервы и дал мне бесценный жизненный опыт. В результате недели переписки со службой поддержки, 119 писем от пользователей сайта и бесконечной беготни я все-таки нашел больше, чем потерял.
Спасибо за внимание.
Теги: #Хостинг #датацентр #Администрирование серверов #техническая поддержка #Восстановление данных #аренда сервера #резервное копирование #рейд #жесткий диск #Выделенный #датацентр #восстановление информации #инфобокс
-
Темная Тема Для Textmate
19 Oct, 24 -
Заговор Программистов
19 Oct, 24 -
Кристаллический Язык Программирования
19 Oct, 24