Рейтинг:0

mdadm, как использовать массив в качестве «диска-участника» в другом массиве

флаг se

У меня был массив RAID 5 из 4 дисков с MDADM. Один из дисков вышел из строя. Я купил новый диск в три раза больше, чем оригинальные диски в качестве замены.

теперь у меня есть

  • Диски 3x5 ТБ в деградированном RAID5
  • 1x16 ТБ диск свободен, не используется

Я хочу изменить существующий рейд с 5 на своего рода 1 + 0, где только старые диски будут частью «0»:

  • Диски 3x5 ТБ в RAID0
  • 1x16 ТБ диск

Вышеупомянутое будет собрано в RAID 1, который я хочу получить.

Я думаю, что я должен:

  • добавить новый диск в новый деградированный RAID 1
  • скопируйте все данные с поврежденного RAID 5
  • изменить точки монтирования на новый массив
  • снести RAID5 и сделать из него RAID0
  • добавить RAID0 в RAID1

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

Может ли это работать?

Рейтинг:1
флаг za

Да, это должно сработать. Но есть лучший способ добиться чего-то подобного.

Если вы когда-нибудь задумывались, как строятся RAID10 или RAID60, то это примерно так: система создает несколько небольших массивов RAID1 или RAID6, а затем объединяет их в большой массив «RAID0». Не наоборот, как если бы многие RAID0 были зеркалированы или собраны с дополнительными устройствами контроля четности.

Чтобы добиться аналогичной настройки, сделайте следующее:

  • Разделите большой диск на три раздела, каждый из которых должен быть равен размеру одного раздела меньшего диска,
  • Сделайте «ухудшенные» массивы RAID1 из каждого раздела, например mdadm --create /dev/mdN -l1 -n2 /dev/sdXY отсутствует
  • Сделайте их PV LVM pvcreate /dev/mdN и соберите LVM VG из этих трех PV vgcreate my_vg /dev/mdN /dev/mdM /dev/mdP,
  • При необходимости создавайте логические тома, переносите данные, удаляйте старый массив
  • Перераспределите меньшие диски, чтобы иметь один раздел, и добавьте каждый диск в свой RAID1.

Таким образом вы:

  • избегайте MD вместо MD (который можно собрать вручную, но я не уверен, что он будет собираться автоматически при загрузке)
  • внедрить LVM, улучшающий управление томами; LVM поверх MD — очень стандартная и поддерживаемая конфигурация.
  • когда один из меньших дисков выйдет из строя, вы замените его и повторно синхронизируете только эту часть; если бы вы пошли по пути «raid1 из raid0», вы бы синхронизировали все данные.

Этот последний аргумент фактически описывает, почему избыточность всегда выполняется на самом низком уровне, а объединение этих меньших избыточных частей (полос) передается на более высокие уровни.

velis avatar
флаг se
Просто чтобы мы поняли это: я думаю, что разделение большого диска на маленькие разделы, а затем их RAID0, создает некоторую нагрузку на указанный диск, я думаю. Для этого конкретного случая использования я не думаю, что это хороший подход. Но я ДЕЙСТВИТЕЛЬНО думал об использовании чего-то другого для второго уровня. LVM выглядит нормально (я использую его на существующем массиве). Я также думаю, что, может быть, я мог бы использовать сам контроллер, он отлично справляется с RAID 0-1. Но я ДЕЙСТВИТЕЛЬНО согласен с вашей точкой зрения, что небольшой сбой диска в RAID0 будет означать выход из строя всего массива, а не только одного диска.
Nikita Kipriyanov avatar
флаг za
На самом деле я сделал это сам, система работает и достаточно умна, чтобы правильно упорядочивать доступы. Synology DSM может использовать этот подход; его режим SHR («гибридный RAID») реализует точно такую ​​же идею. Чтобы меньше нагружать большой диск, вы можете установить его части в RAID в режиме «в основном для записи», чтобы он не использовался для чтения до тех пор, пока соответствующий маленький диск не умрет. См. руководство по MD RAID об этом.
velis avatar
флаг se
Возможно, это правда. Это определенно щекочет меня в нужных местах. Думаю, я собираюсь запустить виртуальную машину, протестировать ее и посмотреть, что произойдет. Спасибо за ваши усилия, вы были очень полезны

Ответить или комментировать

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