RAID-5: два диска вышли из строя одновременно?

21

У нас есть сервер Dell PowerEdge T410 под управлением CentOS с массивом RAID-5, содержащим 5 дисков Seagate Barracuda 3 ТБ SATA. Вчера система рухнула (я не знаю, как именно, и у меня нет никаких журналов).

Загрузившись в BIOS RAID-контроллера, я увидел, что из 5 дисков диск 1 был помечен как «отсутствующий», а диск 3 - как поврежденный. Я принудительно скопировал диск 3 и заменил диск 1 новым жестким диском (того же размера). BIOS обнаружил это и начал восстанавливать диск 1 - однако он застрял на% 1. Индикатор прогресса вращения не двигался с места всю ночь; полностью заморожен

Какие у меня есть варианты? Есть ли способ попытаться восстановить, кроме как использовать какой-либо профессиональный сервис восстановления данных? Как два жестких диска могут выйти из строя одновременно? Кажется слишком случайным. Возможно ли, что диск 1 вышел из строя, и в результате диск 3 "вышел из синхронизации?" Если так, есть ли какая-либо утилита, которую я могу использовать, чтобы вернуть ее "в синхронизации"?

Майк Фурлендер
источник
20
Да, большие диски sata имеют тенденцию делать это. (Восстановление 3 ТБ занимает много часов, пока вы подвержены двойным сбоям). Так что это ожидается, и именно поэтому RAID-5, использующий такую ​​конфигурацию, абсолютно не рекомендуется.
MichelZ
9
Верно. В идеальном мире частота отказов дисков распределяется случайным образом. Практически этого не происходит - они обычно покупаются из одной и той же партии и подвергаются одинаковым нагрузкам, а это означает, что все они начинают заканчивать жизнь в одно и то же время. Внезапный сдвиг в загрузке может легко перевернуть несколько «за гранью», даже прежде чем вы начнете смотреть на неисправимые ошибки ошибок на дисках SATA. Во всяком случае - я боюсь, что плохие новости в том, что, если вы не сможете подключить один из этих накопителей к сети, пришло время вытащить резервные копии.
Собрике
5
Я знаю, что это не очень помогает сейчас, но только к сведению - общий консенсус заключается в том, чтобы использовать RAID6 для дисков объемом более 1 ТБ (по крайней мере, когда мы говорим о 7200 об / мин).
Пауска
2
RAID 5 обеспечивает отказоустойчивость, но это компромиссный вариант - у вас устойчивость N + 1, но если у вас большие диски, у вас большое окно, в котором может возникнуть вторая ошибка. RAID-6 обеспечивает отказоустойчивость N + 2, которая обычно считается хорошей (вероятность тройного отказа намного ниже). Однако вы также найдете частоту отказов более дорогих дисков (например, не дешевых дисков SATA)
Sobrique

Ответы:

24

После того, как вы приняли неверный ответ, мне очень жаль мое еретическое мнение (которое уже несколько раз сохраняло такие массивы).

Ваш второй неисправный диск, вероятно, имеет небольшую проблему, возможно, сбой блока. Это причина, почему плохой инструмент синхронизации вашей плохой прошивки raid5 упал на него.

Вы можете легко сделать копию на уровне секторов с помощью низкоуровневого инструмента клонирования дисков (например, gddrescue , вероятно, очень полезен) и использовать этот диск в качестве нового диска3. В этом случае ваш массив выжил с незначительным повреждением данных.

Прошу прощения, наверное, уже слишком поздно, потому что суть ортодоксального ответа в этом случае: «множественный сбой в рейде5, вот и апокалипсис!»

Если вы хотите очень хороший, избыточный рейд, используйте программный рейд в Linux. Например, его макет данных о рейд-суперблоке общедоступен и задокументирован ... Мне очень жаль, но это еще одно еретическое мнение.

Петер говорит восстановить Монику
источник
8
Позор, что это понизило голоса, это фактически пытается помочь OP исправить беспорядок в отличие от некоторых других. +1
Vality
3
@Vality это не пытается решить беспорядок, это расширяет его проблемы. Рейд 5 с сожженными поврежденными блоками не дает конца боли, поскольку он пройдет проверку целостности, но регулярно ухудшается. Также он не знает, какие данные повреждены. Если бы это было так же просто, как исправить блок, это было бы стандартным решением.
JamesRyan
4
@JamesRyan Я согласен, что это вызовет некоторые более поздние проблемы, и я даже согласен, что здесь есть основные проблемы. Однако он предлагает правильное решение о том, как вернуть некоторые функциональные возможности, и, поскольку ОП говорила о специалистах по восстановлению данных, я могу только предположить, что у них нет резервных копий, чтобы вернуть свои данные в противном случае. В конце концов, это решение будет только первой частью исправления: после того, как этот метод снова загрузит систему, вы, вероятно, захотите перенести файловую систему на 5 новых дисков, а затем сделать резервную копию.
Vality
1
«Вы можете легко сделать копию инструментального блока для копирования на уровне сектора». Это действительно то, что вы хотели написать?
Арно Море
1
@MikeFurlender Я думаю, что аппаратное обеспечение быстрее, но запатентовано и поэтому хрупко, так как вам нужно получить точно такой же контроллер в случае сбоя. Программный RAID не зависит от аппаратного обеспечения. Смотрите btrfs и zfs.
Мартин Юдинг
38

У вас двойной сбой диска. Это означает, что ваши данные ушли, и вам придется восстановить из резервной копии. Вот почему мы не должны использовать raid 5 на больших дисках. Вы хотите настроить свой рейд, чтобы у вас всегда была возможность противостоять двум сбоям диска, особенно на больших медленных дисках.

Бэзил
источник
3
Есть две проблемы с RAID5. Первый: время восстановления 3 ТБ, учитывая, что медленный диск SATA может быть большим, что увеличивает шансы сложного сбоя. Другая причина - это неисправимая частота ошибок по битам - в спецификации большинства дисков SATA 1/10 ^ 14, что составляет примерно 12 ТБ данных. С 5-сторонним 3B RAID это становится почти неизбежным, когда требуется перестройка.
Sobrique
1
Я использую RAID5 на своем дисковом массиве объемом 3 ТБ, я пытался получить второй массив для использования в качестве реплицированной копии первого. Таким образом, чтобы я потерял данные, потребовалось бы более 1 диска для одновременного отказа обоих массивов (поэтому мне потребовалось бы 4 диска), но при этом оставалось достаточно большое количество доступной емкости. Прочитав это, я теперь могу увеличить этот интервал времени для получения второго массива.
Война
1
У него, вероятно, только плохой блок на его диске3. Мне действительно интересно, почему профессиональный системный администратор никогда не слышал о инструментах копирования на уровне блоков.
Петер говорит восстановить Монику
1
@ Wardy, рейд 6 не даст тебе это?
Василий
3
Не очень полезный ответ. Конечно, при двойном сбое диска на RAID 5 вероятность восстановления невелика. Но большинство сбоев двойного диска в RAID 5, вероятно, связано только с одним неисправным диском и несколькими неисправленными ошибками чтения на других дисках. В этом случае восстановление большей части данных все еще возможно при наличии правильных инструментов. Указатели на такие инструменты будут полезны.
Касперд
37

Ваши варианты:

  1. Восстановление из резервных копий.
    • Вы делаете резервные копии, не так ли? RAID не является резервной копией.

  2. Профессиональное восстановление данных
    • Возможно, хотя это очень дорого и не гарантировано, профессиональная служба восстановления сможет восстановить ваши данные.

  3. Принимая вашу потерю данных и учиться на опыте.
    • Как отмечено в комментариях, большие диски SATA не рекомендуются для конфигурации RAID 5 из-за вероятности двойного сбоя во время перестройки, что приведет к сбою массива.
      • Если это должен быть RAID четности, RAID 6 лучше, и в следующий раз используйте также горячий резерв.
      • Диски SAS лучше по ряду причин, включая большую надежность, отказоустойчивость и более низкую частоту неисправимых битовых ошибок, которые могут вызвать URE (неисправимые ошибки чтения)
    • Как отмечалось выше, RAID не является резервной копией. Если данные имеют значение, убедитесь, что они резервируются, и что ваши резервные копии проверены на восстановление.
HopelessN00b
источник
1
Если у вас есть 5 дисков (в соответствии с OP) и вы используете горячую замену, наверняка вы бы выбрали RAID10 вместо RAID6 ...?
jimbobmcgee
1
Ну, для начала - вы бы использовали 4 шпинделя в RAID 1 + 0, чтобы получить место на 2 дисках, оставляя один диск «запасным». Вы можете терпеть два отказа (правильные два по крайней мере). RAID6 даст вам место на 3 дисках и может также выдержать два сбоя (любые два). RAID1 + 0 обладает лучшими характеристиками производительности, меньшим штрафом на запись и потенциально лучшей производительностью произвольного чтения (чтение может обслуживаться с любого из двух шпинделей).
Собрике
Для пункта 2. Восстановление данных. Профессиональное восстановление данных с RAID5 может обойтись вам в 20 тысяч долларов. Кроме того, OP позволил перестроить работу в течение ночи, нагрузив диск, что может сделать восстановление более трудным или даже невозможным. Просто сообщаю заранее. Обязательно отправьте все диски.
OmnipotentEntity
4

Одновременный отказ возможен, даже вероятен, по причинам, указанным другими. Другая возможность состоит в том, что один из дисков вышел из строя некоторое время назад, и вы не проверяли его активно.

Убедитесь, что ваш мониторинг быстро обнаружит том RAID, работающий в ухудшенном режиме. Может быть, у вас не было выбора, но никогда не стоит учиться этим вещам в BIOS.

richardb
источник
3
+1 за упоминание о забытом мониторинге. Важно отметить, что уже шаг «нормальный» -> «критический», а не шаг «критический» -> «сбой». Это относится также ко всем остальным типам резервирования (резервная интернет-линия, пиво в подвале, запасное колесо, ...).
Хаген фон Айцен
2

Чтобы ответить "Как два жестких диска могут выйти из строя одновременно?" точно, я хотел бы процитировать из этой статьи :

Суть аргумента заключается в следующем. Поскольку диски становятся все больше и больше (примерно в два раза за два года), URE (неисправимая ошибка чтения) не улучшается с той же скоростью. URE измеряет частоту возникновения неисправимой ошибки чтения и обычно измеряется в виде ошибок на считанные биты. Например, скорость URE 1E-14 (10 ^ -14) подразумевает, что статистически неисправимая ошибка чтения будет возникать один раз при каждом считывании 1E14 бит (1E14 бит = 1,25E13 байт или приблизительно 12 ТБ).

...

Аргумент заключается в том, что по мере увеличения емкости диска и увеличения скорости URE с той же скоростью вероятность сбоя восстановления RAID5 со временем возрастает. Статистически он показывает, что в 2009 году емкость дисков выросла бы настолько, что было бы бессмысленно использовать RAID5 для любого значимого массива.

Итак, RAID5 был небезопасен в 2009 году. RAID6 тоже скоро будет. Что касается RAID1, я начал делать их из 3 дисков. RAID10 с 4 дисками также ненадежен.

Halfgaar
источник
3
Опять же, RAID - это не резервная альтернатива, а просто добавление «буферной зоны», во время которой диск может быть заменен, чтобы сохранить доступные данные ... доступными. Другой вариант - использовать репликацию, которая потребовала бы одновременного сбоя двух массивов ... гораздо менее вероятно, я бы подумал.
Война
Лично мне не нравится мантра о том, что RAID не является резервной копией. В словаре говорится: «человек, план, устройство и т. Д. Хранятся в резерве, чтобы служить заменой, если это необходимо». Если количество избыточности недостаточно, оно не сможет служить заменой. Если вы не заботитесь о резервировании RAID, вы можете его не использовать. Что касается того, что он не заменяет резервные копии вне диска и вне сайта, это совсем другое дело, с чем я согласен (конечно).
Halfgaar
так что вы думаете о тех, кто использует RAID-полосы без избыточности? в этом случае массив RAID используется исключительно для получения выигрыша в производительности, что является совершенно допустимым использованием IMO, на мой взгляд, RAID служит 2 целям: 1. для обеспечения скорости путем группировки дисков или 2. для обеспечения безопасности в случае, если Сбой дисков, гарантирующий, что данные все еще доступны.
Война
Любой, кто внедряет RAID, выберет тип RAID, который он хочет использовать, исходя из своих потребностей, скорости, надежности или их комбинации, но это все еще не делает RAID ни одной из форм резервного копирования.
Война
1
Когда люди говорят, что RAID не является резервной копией, они не говорят о доступности. Я думаю, что вы просто играете со словами. :)
gparent
2

Поток устарел, но если вы читаете, поймите, когда диск выходит из строя в массиве raid, проверьте возраст дисков. Если у вас есть несколько дисков в массиве raid, и им более 4-5 лет, велика вероятность, что другой диск выйдет из строя. *** СДЕЛАТЬ ИЗОБРАЖЕНИЕ или Резервное копирование **, прежде чем продолжить. Если вы считаете, что у вас есть резервная копия, проверьте ее, чтобы убедиться, что вы можете прочитать ее и восстановить из нее.

Причина в том, что вы оставляете годы нормального износа оставшихся дисков, поскольку они вращаются на полной скорости в течение нескольких часов. Чем больше число дисков 6 лет, тем больше вероятность того, что другой диск выйдет из строя из-за стресса. Если это RAID5, а вы разбили массив, то у вас есть резервная копия, но для восстановления диска объемом 2 ТБ потребуется 8 - 36 часов, в зависимости от типа контроллера raid и другого оборудования.

Мы регулярно заменяем весь рейд-улей на производственных серверах, если все диски старые. Зачем было тратить время на замену одного диска, а затем подождите, пока следующий не выйдет из строя через день, неделю, месяц или два. Каким бы дешевым ни был дисковод, его просто не стоит времени простоя.

Рикки Рентон
источник
1

Как правило, при покупке дисков в большом количестве у надежного торгового посредника вы можете запросить, чтобы диски поступали из разных партий, что важно по причинам, указанным выше. Далее, именно поэтому существует RAID 1 + 0. Если бы вы использовали 6 дисков в RAID 1 + 0, у вас было бы 9 ТБ данных с немедленной избыточностью, где не требуется перестройка тома.

Пэйтон Берд
источник
Где доказательства того, что использование дисков разных серий - это не что иное, как городской миф? Кроме того, RAID 1 не защищает магически от попадания в нечитаемые сектора во время восстановления. Если вам нужна защита от этого, вы можете использовать RAID 6 или RAID 1 с 3 зеркалами (немного дороже).
Касперд
1
@kasperd Я думаю, что вопрос, который составляет первую часть вашего комментария, похож на вопрос, хотя он явно не совпадает с вопросом: « Должен ли я« запустить »один диск новой пары RAID 1, чтобы уменьшить вероятность подобного времени отказа? ,
CVn
1

Если ваш контроллер распознается dmraid (например, здесь ) в linux, вы можете использовать ddrescue для восстановления неисправного диска на новый и использовать dmraid для создания массива вместо вашего аппаратного контроллера.

Брайан Минтон
источник