10

Как бы я вырастил массив RAID10, используя mdadm?

Очевидно, мне нужно было бы добавить 2 диска за раз, или это должно быть 4 диска?

У меня такое чувство, что это просто плохая идея.

Или было бы разумнее выбрать RAID5?

6 ответов6

11

Чтобы вырастить RAID 10, вам понадобится mdadm в версии min. 3.3 и версия ядра мин. 3.5. Вам также необходимо четное количество дисков - непарные диски могут работать только как запасные или, в конечном итоге, перейти в деградированный режим (не тестировался).

Вот пример увеличения RAID 10 с 4 дисков до 6 с использованием mdadm 3.3-2ubuntu2 @ Linux 4.2.0-10-generic. Протестированная с данными ext4, файловая система была размонтирована, ext4 была расширена после увеличения RAID без каких-либо проблем.

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk
9

Я понимаю, что это больше года, но кто-то может найти это полезным ...

Вы можете расширить массив raid 10, но не так, как вы надеетесь. Вам придется вкладывать несколько уровней рейда. Это можно сделать с помощью mdadm на 2 дисках в raid 10, что довольно неплохая производительность в зависимости от макета, но вам придется создать несколько массивов из 2 дисковых raid 10, а затем подключить их к логическому узлу. Затем, чтобы расширить, добавьте еще несколько, и чередуйте их. Если это ваш вариант использования (нужно много расширять), то было бы разумно использовать массив четности, который можно увеличить.

Это ограничения, которые вы получаете с помощью raid 10, сохраняя при этом общую производительность чтения / записи. И разъяснение, рейд 5/6 абсолютно не "В общем, обеспечить лучшую производительность записи ...". У рейда 5/6 есть свои плюсы и минусы, как и у рейда 10, но производительность записи не является плюсом для рейда 5/6.

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

--edit для добавления информации-- Используйте инструменты, такие как hdparm (hdparm -i) и lshw, чтобы получить серийные номера вместе с именем устройства (/dev/sda) в случае сбоя. Это позволит вам удалить правильное устройство при замене. Стрелка вверх на комментарии Трэвиса, так как он очень правильный и приятный, но, как обычно, взвешивает все за и против каждого решения.

9

Несколько хороших новостей из объявления о выпуске mdadm 3.3:

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

Некоторые основные моменты:

...

  • Массивы RAID10 можно изменить, чтобы изменить количество устройств, изменить размер чанка или изменить расположение между «рядом» и «смещением». Это всегда изменит data_offset и завершится ошибкой, если нет места для перемещения data_offset.

...

Согласно этому ответу на U & L, вам понадобится как минимум Linux 3.5.

6

Я знаю, что это больше работы и может сбить с толку, но вы всегда можете разделить несколько зеркал.

Например, я только что установил массив raid 10 с 4 накопителями, и последний хочет добавить еще один массив raid 10 с 4 накопителями. Просто используйте mdadm для создания нового массива raid 10 на новых дисках. Затем вы можете создать другой массив raid 0, используя два существующих устройства raid. Однако я бы использовал функции lvm для создания полосы, таким образом, сохраняя конфиги mdadm и устройства /dev /md в легком для понимания состоянии. Любой метод будет работать, и, возможно, есть и другие, но это то, что я мог бы сделать из головы.

4

В прошлый раз, когда я проверял, mdadm не позволит вам --grow raid10. Я посмотрел на man-страницу mdadm сейчас, и она по-прежнему говорит: в настоящее время поддерживаются варианты роста, в том числе изменение активного размера компонентных устройств и изменение количества активных устройств на уровнях RAID 1/4/5/6, изменение уровня RAID между 1, 5, и 6, изменение размера и макета чанка для RAID5 и RAID5, а также добавление или удаление битовой карты с намерением записи.

4

Вы не можете вырастить массив RAID10, это правда. Но вы можете начать с двух дисков (за счет отсутствия избыточности на этом этапе), а затем добавить еще два. Я использовал этот метод для переключения с массива RAID5 с четырьмя дисками на RAID10 с четырьмя дисками.

Я ухудшил RAID5 и удалил один диск из массива. Это дало мне два диска, которые можно было свободно использовать. Затем я создал RAID10-массив с чем-то вроде «mdadm --create --level 10 /dev /md0 /dev /sda1 отсутствует /dev /sdc1 отсутствует». Этого было достаточно для запуска массива.

Когда я переместил данные из поврежденного массива RAID5 в массив RAID10, я добавил два диска RAID5 в массив RAID10 и добавил дополнительный в качестве запасного.

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

Примечание: прочитайте следующий пост на форуме, который спрашивает и отвечает, имеет ли значение порядок дисков в mdadm.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .