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

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

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

3 ответа

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

Если ваша карта RAID умирает, то это намного сложнее. У тебя должен быть запасной. Если вы этого не сделаете, вы покупаете один у вашего поставщика. Если он больше не работает, вы неистово ищите на eBay подержанный.

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

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

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

С 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 - четность - битов, которые, как говорит нам накопитель, все еще читаемы и хороши.

Ваш вопрос о восстановлении рейда 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 и вставляю их в пустые слоты на новом сервере (уже включенном), и данные сразу видны.

Другие вопросы по тегам