Добавление дисков в массив RAID 10


11

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

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

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

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


Обычно, если кто-то спрашивает меня, нужен ли ему RAID 10, это означает, что он ему не нужен. Почему не Рейд 5 или Рейд 6?
Surfasb

Я надеялся на лучшую производительность записи, чем на RAID5 .. Но я предполагаю, что это
объясняется

В целом, RAID 5/6 обеспечит лучшую производительность записи, чем RAID 10/01. Потому что вы распределяете записи по всем дискам, а не только по половине дисков.
Surfasb

6
@surfasb «RAID 5/6 обеспечит лучшую производительность записи, чем RAID 10», нет, не будет, потому что распределение записей по большему количеству дисков больше, чем

@JackDouglas: очень хорошая информация.
Surfasb

Ответы:


5

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


Спасибо! Признанный, еще один хороший намек, что это не произойдет быстро, это то, что я не могу найти одну аппаратную карту RAID, которая тоже это делает .. RAID5 это ..
stuartc

2
RAID5 может быть очень медленным на некоторых рабочих нагрузках. Что ты собираешься делать?
Стингрей

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

16

Чтобы вырастить 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

1
Это должен быть принятый ответ в наше время. Я сделал это сам.
Кайл

как я только что узнал сам, это относится только к рейду 10, около 2 макетов. raid10, far2 по-прежнему не может расти. смотрите то есть здесь: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub

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.


3
Я экспериментировал с растущим mdadm raid10, используя mdadm v3.3.2 со смешанными результатами. Я обнаружил, что не могу вырастить raid10, который я создал с более ранней версией mdadm. Raid10, который был создан с v3.3, я смог изменить / увеличить. Поэтому, если вы хотите вырастить raid10 (но не можете), возможно, будет хорошей идеей создать новый raid10, используя последний mdadm.
Адалле

6

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

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


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

3

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.