Как данные восстанавливаются при сбое RAID-массива

273
udi

Я думаю об использовании аппаратного RAID (уровни 5 и 10) на моих компьютерах. Чего я не понимаю, так это как данные восстанавливаются, когда что-то идет не так и массив RAID выходит из строя (проблема с картой RAID или что-то еще).

При использовании автономных дисков процесс очень прост, но что делать в случае сбоя массива RAID, как люди восстанавливают массив и возобновляют работу; и как данные восстанавливаются из массива RAID. поскольку мы не можем просто извлечь диск и подключить его к другому компьютеру.

2
Как правило, это не стоит того, чтобы беспокоиться. Вы просто создаете новый массив RAID из резервной копии. Если вы используете RAID, вероятно, ваша цель состоит в том, чтобы минимизировать время простоя, а потеря времени на восстановление наносит вам больший вред, чем помогает. David Schwartz 8 лет назад 1

3 ответа на вопрос

3
Vojtech

When a drive dies in a HW RAID, you pull it out and plug a new one. An automatic rebuild takes place. In some cases you may have to use the card's GUI or CLI to notify the card that a drive has been replaced. The RAID is, of course, operational during the whole excercise.

If your RAID card dies, then that's much tougher. You should have a spare. If you don't, you buy one from your supplier. If it's no longer in production, you go frantically looking on eBay for a used one.

If you can't find even a used one, then it boils down to reverse engineering the on-disk format and writing some code to recover it. You may be lucky and find that it is stored in a fairly standard format. You either do it yourself or pay a lot to a data recovery company.

In that light, a SW RAID is more future-proof, as the software itself will not break over time and commodity hardware can be easily replaced.

However, SW RAID5 cannot be made fully resilient to power outages. That's the big advantage of HW RAIDs - they can be equipped with battery backed memory and thus be fully safe with regards to pulling the plug.

Еще один фактор: по моему опыту синий экран (или любое другое неправильное отключение) с программным налетом вызывает сбой диска и его восстановление, даже если не было ожидающих записей. Loren Pechtel 8 лет назад 0
Да, сбой системы или нажатие кнопки сброса приведет к повреждению RAID-массива ПО так же, как и отключение питания. Единственный способ, которым SW RAID может справиться с жестким отключением, - это полностью сериализовать все записи, жертвуя всем выигрышем в производительности от сборки из нескольких дисков. Существуют некоторые хитрости, которые делают более умные программные RAID-массивы, такие как Linux MDRAID, включая карту намерений записи, чтобы уменьшить ущерб и восстановить только очень небольшую часть массива. HW RAID прекрасно справляются с жестким отключением. Vojtech 8 лет назад 0
Важно помнить следующее: ** RAID не является решением для резервного копирования **. Повторите это 10 раз, чтобы оно впиталось. (Я не говорю, что у вас было это заблуждение - я просто думаю, что это нужно повторить.) Цель RAID двоякая. 1. Увеличение производительности. 2. Защита от сбоя диска (отказоустойчивость). Когда у вас есть настройка RAID, вам все равно нужно выполнять резервное копирование. Как сказал Vojtech: если у вас есть старая карта RAID, которую нелегко заменить, вы можете оказаться в воде без резервной копии. Charles Burge 7 лет назад 0
0
Tomuo

Ваш вопрос о восстановлении рейда HW, поэтому вы смотрите на функции, которые предоставляет вам рейд-карта / контроллер HW.

  1. BIOS, в который вы можете войти до загрузки ОС. Конфигурация может быть сделана здесь.
  2. Процессор или другой «ускоритель», который берет на себя работу по управлению рейдом и определению направления чтения / записи.
  3. Схема для определения того, какой физический диск принадлежит какой части RAID.
  4. Способ информировать вас о состоянии RAID.

Ваша RAID-карта будет поставляться с драйверами и программным обеспечением, которое поддерживается вашей ОС, что позволяет вам выполнять настройку и управление состоянием без перезагрузки в этот BIOS.

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

Для настольных компьютеров ваши диски жестко подключены к карте RAID или материнской плате.

Драйвер и программное обеспечение в вашей ОС также могут обнаружить это и предупредить вас другим способом (электронная почта и т. Д.).

Как только диск вышел из строя, контроллер прекращает чтение и запись на него, полагаясь на оставшиеся диски для обслуживания данных. Это называется ухудшенным состоянием, вы все еще работаете, но еще один сбой подталкивает вас к потере данных. (Еще 2 сбоя, если вы используете RAID 6)

Для raid-контроллера с горячей заменой вы просто извлекаете неисправный диск и вставляете пустой.

Откуда оно знает, что оно пустое? Это работа схемы (3). В начале все диски имеют неиспользуемые данные, в таблице разделов достаточно свободного места. Каждый производитель будет использовать его по-своему, но именно здесь контроллер рейда будет хранить данные, которые сообщают ему, какой диск принадлежит к какой части рейда.

Как только он видит новый диск, который ранее не использовался этой рейд-картой, он может начать процесс восстановления.

Это может быть автоматически или вызвано пользователем и, конечно, может полностью стереть содержимое нового диска, если он уже был отформатирован для чего-то другого.

Восстановление или восстановление управляется в фоновом режиме контроллером raid, он считывает каждый сектор с оставшихся дисков и вычисляет, что должно быть в каждом секторе для нового диска. Для RAID 1 он просто копирует все новые сектора существующего исправного диска на новый диск. Для RAID 5 или 6 все существующие диски читаются, и данные для записи на новый диск могут быть рассчитаны. Поскольку эта работа обращается к оставшимся дискам, вы обычно можете установить для нее приоритет, чтобы она не замедляла работу всей системы.

Но вам нужно подумать, важнее ли скорость восстановления до полного состояния RAID, чем текущая работа. Некоторые контроллеры, например встроенные в обычную настольную материнскую плату, могут потребовать, чтобы вы вошли в BIOS и запустили восстановление там, а не позволяли загружаться в ОС, пока она не будет готова снова. Это было бы неудобно, и не было бы хорошим рейдом HW, потому что вы хотите время безотказной работы, а также отказоустойчивость.

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

Если сбой произошел в самой карте RAID: компьютер / сервер, скорее всего, сильно сломался и не является загрузочным. В этот момент вы можете предположить, что сами диски по-прежнему жизнеспособны, но более вероятно, что диски находятся в состоянии нестабильности, то есть записи на один диск не были полностью распространены на другие диски. Вы находитесь в зависимости от операционной системы и восстановления файловой системы для этого. В худшем случае вам необходимо восстановить данные из резервной копии также после восстановления компьютера / сервера. Если карта RAID является заменяемой, на ее месте может быть установлена ​​идентичная модель. Поскольку отдельные диски по-прежнему сообщают одну и ту же идентификацию способом, который распознает карта RAID, полный набор дисков будет работать, как и раньше, без полной потери данных (хотя могут существовать несоответствия файловой системы). Если RAID-контроллер был частью материнской платы, всю материнскую плату необходимо заменить на одну с RAID-контроллером той же модели. Если вы попытаетесь использовать RAID-контроллер другой марки, скорее всего, он вообще не распознает диски, а просто спросит вас, как вы хотите, чтобы они были вновь сконфигурированы, что приведет к удалению всех существующих данных.

В серверах HP все различные модели встроенных и подключаемых контроллеров RAID используют одну и ту же схему для идентификации диска, поэтому замена встроенного контроллера на подключаемый модуль или подключаемый модуль на более мощный подключаемый модуль Модель возможна без потери данных.

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

Опять же, с серверами HP, у меня был серверный кристалл, затем я вытаскиваю весь набор дисков в RAID и вставляю их в пустые слоты на новом сервере (уже включенном), и данные сразу видны.

Это не объясняет, как данные восстанавливаются из массива RAID Ramhound 7 лет назад 1
Я согласен с Ramhound. В своем ответе вы рассмотрели случай замены неисправного диска. Вопрос скорее в том, что делать с полным набором здоровых дисков, когда умирает контроллер? Kamil Maciorowski 7 лет назад 0
Обновлен сценарий сбоя карты. Tomuo 7 лет назад 0
0
Jamie Hanrahan

С RAID 5 у вас всегда есть «объем четности». Это неправильно, так как данные о четности фактически распределяются между дисками, но все равно у вас есть на один диск больше, чем ожидаемое количество для вашей предполагаемой емкости. Назовите его n для количества дисков, которое вам потребуется без избыточности, поэтому n +1 - это число, которое займет ваш массив raid 5.

Концепция RAID 5 заключается в том, что любые n дисков вне набора всегда будут содержать достаточно данных для восстановления содержимого неисправного диска.

То, как паритет это позволяет, похоже на концепцию «общего количества» в данных учета. Если у меня есть куча транзакций для входа в систему, я вполне могу вычислить итоговую сумму за пакет, прежде чем передать его для ввода данных. Программа ввода данных требует, чтобы была введена вычисленная сумма партии, а затем все транзакции. Программа вычисляет сумму транзакций и сравнивает ее с суммой партии, которую я вычислил отдельно. Если они разные, что-то не так. Таким образом, человек ввода данных проверяет детали.

Чтобы расширить это до RAID 5, представьте, что у нас есть способ узнать, была ли какая-либо из транзакций (или, в общем, общее количество пакетов) введена неправильно (или нечитаемо). Если только один ввод неправильный, то мы можем восстановить этот ввод с помощью простой арифметики: вычтите все числа, которые у нас есть, из суммы, и пропущенное число.

К счастью для нас, очень плохой сектор на жестком диске «читается» без каких-либо ошибок.

Чтобы понять, как работает объем четности, давайте подумаем об одной паре битов в ваших данных «конечного пользователя». Скажем, первые два бита в секторе представлены томом RAID 5. Мы сохраняем один из этих битов на диске A, а другой - на диске B. На диске C, который является «томом четности» для этих конкретных битов, мы храним бит, который является «исключительным ИЛИ» двух других битов. Функция «исключающее ИЛИ» - это просто сумма битов с игнорированием переноса .

Другой способ выразиться в том, что XOR любого количества битов будет равно 1, если число «1» битов на входе нечетно, и будет 0, если количество «1» битов на входе является четным. Значение этой функции «XOR» - это то, что хранится в «томе четности». Вот что это дает нам для двух входных битов:

 A B XOR(A,B) ---------------- 0 0 0 0 1 1 1 0 1 1 1 0 

Теперь, если мы потеряем один из битов - любой из трех, даже XOR, - мы сможем восстановить его из данных, которые у нас есть, если мы знаем, какой бит неправильный - или отсутствует.

И еще раз скажу: исправление ошибок и проверка на жестких дисках очень хороши в этом. Он настроен так, что, хотя исправленные ошибки случаются регулярно, ошибки, которые являются как неисправимыми, так и необнаруженными, очень и очень редки. В середине у нас есть неисправимые, но обнаруженные ошибки, и у нас также есть случай, когда диск просто выходит из строя и ничего не читает (или диск полностью отсутствует). Эти «средние» случаи встречаются гораздо чаще, чем неисправимые + необнаружимые ошибки, и именно в этих случаях RAID 5 защищает от ошибок. Мы можем восстановить отсутствующие или неверные данные из имеющихся у нас данных, просто вычисляя XOR - четность - битов, которые, по словам накопителя, по-прежнему читаемы и хороши.

Похожие вопросы