Ошибки сисадмина: RAID-массив на накопителях для ноутбука

RAID восстановление

6 дисков Toshiba SATA 1tb

Вчера ночью к нам обратился очередной заказчик с дисковым массивом, данные с которого были нужны «еще вчера». Что любопытно – массив был собран на ноутбучных накопителях емкостью 1 Тбайт. Все бы хорошо – удобные ЖД, прекрасно влазят в салазки для SAS-жестких дисков, дешевые, но есть одно но…
Это «но» — надежность и производительность. Ноутбучные жесткие диски по дефолту не предназначены для серверных нагрузок. Ведь представьте себе, что такое сервер: масса подключенных клиентов, передача больших массивов данных, постоянный обмен между дисками и хостом и хостом и клиентами. Дикое количество операций чтения-записи в секунду. А ноутбучный накопитель – по сути своей устройство неторопливое, сделанное специально для работы в мобильном компьютере, призванное сберегать электроэнергию. Если его заставить прыгать выше головы (головок, наверное), то количество таких прыжков будет строго ограничено его возможностями и ресурсом. А ресурс его при постоянных перегрузках оказывается печально небольшим.
Итак, приехал RAID. Оставив в стороне нравоучения на тему того, что SATA и SAS диски имеют совершенно разную производительность и ресурс, мы приступили к анализу. Анализ показал грустную картину: сисадмин для построения массива из 6 дисков почему-то решил не использовать контроль четности (другими словами, не были использованы массивы типа RAID-5 или RAID-6, значительно повышающие надежность системы за счет уменьшения емкости массива). Поэтому для полноценного восстановления данных требовалось физическое здоровье всех компонентов массива. А вот со здоровьем все было совсем не в шоколаде…
Один из накопителей от чрезмерных нагрузок начал рассыпаться – на поверхности появились дефектные сектора. Проблема не новая и в целом решаемая (вариационная статистика и теория матриц нам в помощь). А вот у другого диска натурально поехала крыша – одна из головок вышла из строя, видимо, не приняв диких нагрузок. Без хирургии было уже не обойтись, благо запчасти оказались у нас в наличии.
Приступили к реанимационным мероприятиям.
Перво-наперво вправили головы совсем больному жесткому диску. Головы встали на оценку «отлично», поверхность считалась почти без ошибок. Дальше – великое колдунство по выяснению, что же это был за массив и как из него добыть данные.
Сначала решили руководствоваться теми сведениями, что нам предоставил заказчик. И обломались. Толи он не знал, что было в массиве, толи забыл (а может, как в том анекдоте – не знал, да еще и забыл), но конфигурация массива оказалась совсем не такой, как он думал. Начались танцы с бубном вокруг дисков с целью вызвать Великого Духа Мегабайта, чтобы он вдохновил нас на поиск порядка дисков, типа массива и размера страйпа.
Со страйпом, правда, не было проблем исходно. Вычислить это значение может любой троечник по информатике. Вот узнать, какие именно диски входят в массив и как они в нем расположены – уже другая задача, особенно с учетом того, что мы не знаем сам тип массива. Проблема в том, что в массиве использовался гипервизор EXSi, который, кроме прочего, управляет виртуальными машинами. Ну а виртуальные машины – это вам не NTFS или FAT, к ним нужен бережный подход и знание их структуры. И получается так, что наш массив (оговорочка по Фрейду; массив, конечно же, не наш, а заказчика) имеет признаки и массивов без контроля четности, и наоборот.
Мозг вскипал, а решения все не было. Гениальная мысль, как говорится, приходит уже тогда, когда «опосля». Опосля двух часов ночи было принято решение брать массив «в лоб». Открыв каждый из дисков в шестнадцатеричном редакторе, стали анализировать загрузочный сектор каждого диска в отдельности, и тут нас ждал сюрприз – есть определенная закономерность в расположении байтов! А там, где закономерность есть, несложно ее выделить, проанализировать и использовать.
Справедливо решив, что утро вечера мудренее, легли спать на 3 часа. По истечении этого времени за диски взялись с новыми силами и чашкой крепкого кофе. Кофе помог: массив собрался за 15 минут. Как оказалось, сисадмин был почти прав, единственное, в чем он оказался не прав – это геометрия массива, количество в нем дисков и их порядок (тут надо бы встроить ехидный смайл, но я воздержусь).
Собранный массив гордо покоится на скрижалях нашего опыта. Аминь.
Однако вернемся теперь к заголовку этого грустного повествования, и расскажем, почему получилось так, что массив у нашего заказчика приказал долго жить. Так сказать, «секунды до катастрофы». Ведь все плохое, что случается с людьми в их жизни – это случайная последовательность нелепых недоразумений.
Для нашего массива смертный приговор был подписан тогда, когда шесть ноутбучных накопителей достали из коробки и начали устанавливать в рак RAID-массива. С ужасом смотрели диски на чрево железного монстра, где им предстояло умереть от каторжного труда. Ежедневно, ежечасно, ежесекундно диски перемалывали неподъемные массивы данных. От смертельной усталости на них начали образовываться дефектные сектора, сбоила передача, запаздывала запись. Наступил, наконец, тот момент, когда самый слабый не выдержал.
У него поехала крыша. Наши накопители имеют по 4 головки (одна голова хорошо, две лучше, а четыре – вообще замечательно), у самого слабого звена их осталось только три. Не в состоянии переработать садистских объемов информации тремя головками, диск замолчал… Оставшиеся пятеро в знак солидарности отказались отдавать данные (да и как их отдавать, если отсутствует контроль четности???) и массив, тяжело вздохнув, заморгал сисадмину покрасневшим от напряжения индикатором: баста.
Осознал ли сисадмин свою ошибку? Возможно. Но ведь и он – не самый крайний в этой истории. Есть еще начальник сисадмина, жадно ограничивший его в средствах на покупку SAS-винтов. Представьте себе сцену: стоящий на коленях сисадмин вымаливает у руководства лишние 10000 сомов для того, чтобы избежать замучивания заживо несчастных ноутбучных накопителей, а начальник, сверкая глазами, в духе Гамлета вопрошает: «Быть или не быть экономии 10000 сом?». И сам же отвечает: «Конечно, быть».
Автор этого опуса приносит извинения всем сисадминам планеты Земля за тот сарказм, с которым сей опус написан. Я не хотел обидеть ни одного сисадмина, но то, что написано, написано не по моей блажи, а для того, чтобы следующие поколения сисадминов, которые с молоком матери впитывают мегабайты сакрального сисадминского знания, помнили: для каждой задачи есть свое, правильное, разработанное с учетом нагрузок и перегрузок, оборудование, к которому потребно стремиться. Начальство надобно умаслять, но в принципиальных вопросах необходимо проявить сисадминскую твердость, встать на защиту невинных ноутбучных накопителей и истребовать железобетонный SAS.

-5%