Как бы я вырастил массив RAID10, используя mdadm?
Очевидно, мне нужно было бы добавить 2 диска за раз, или это должно быть 4 диска?
У меня такое чувство, что это просто плохая идея.
Или было бы разумнее выбрать RAID5?
Как бы я вырастил массив RAID10, используя mdadm?
Очевидно, мне нужно было бы добавить 2 диска за раз, или это должно быть 4 диска?
У меня такое чувство, что это просто плохая идея.
Или было бы разумнее выбрать RAID5?
Ответы:
В прошлый раз, когда я проверял, mdadm не позволит вам --grow raid10. Я посмотрел на man-страницу mdadm сейчас, и она по-прежнему говорит: в настоящее время поддерживаются параметры роста, включая изменение активного размера компонентных устройств и изменение количества активных устройств на уровнях RAID 1/4/5/6, изменение уровня RAID между 1, 5, и 6, изменение размера и макета чанка для RAID5 и RAID5, а также добавление или удаление битовой карты с намерением записи.
Чтобы вырастить 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
Я понимаю, что это больше года, но кто-то может найти это полезным ...
Вы можете расширить массив 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) в случае сбоя. Это позволит вам удалить правильное устройство при замене. Стрелка вверх на комментарии Трэвиса, так как он очень правильный и приятный, но, как обычно, взвешивает все за и против каждого решения.
Несколько хороших новостей из объявления о выпуске mdadm 3.3:
Это важный новый релиз, так что не удивляйтесь, если есть несколько проблем ...
Некоторые основные моменты:
...
- Массивы RAID10 можно изменить, чтобы изменить количество устройств , изменить размер чанка или изменить расположение между «рядом» и «смещением». Это всегда изменит data_offset и завершится ошибкой, если нет места для перемещения data_offset.
...
Согласно этому ответу на U & L, вам понадобится как минимум Linux 3.5.
Я знаю, что это больше работы и может сбить с толку, но вы всегда можете разделить несколько зеркал.
Например, я просто установил массив raid 10 с 4 накопителями, и последний хочет добавить еще один массив raid 10 с 4 накопителями. Просто используйте mdadm для создания нового массива raid 10 на новых дисках. Затем вы можете создать другой массив raid 0, используя два существующих устройства raid. Тем не менее, я бы использовал функции lvm для создания полосы, таким образом, сохраняя конфиги mdadm и устройства / dev / md в легком для понимания состоянии. Любой метод будет работать, и, возможно, есть и другие, но это то, что я мог бы сделать с головой.
Вы не можете вырастить массив RAID10, это правда. Но вы можете начать с двух дисков (за счет отсутствия избыточности на этом этапе), а затем добавить еще два. Я использовал этот метод для переключения с массива RAID5 с четырьмя дисками на RAID10 с четырьмя дисками.
Я ухудшил RAID5 и удалил один диск из массива. Это дало мне два диска, которые можно было свободно использовать. Затем я создал RAID10-массив с чем-то вроде «mdadm --create --level 10 / dev / md0 / dev / sda1 отсутствует / dev / sdc1 отсутствует». Этого было достаточно для запуска массива.
Когда я переместил данные из поврежденного массива RAID5 в массив RAID10, я добавил два диска RAID5 в массив RAID10 и добавил дополнительный в качестве запасного.
Вероятно, будет хорошей идеей, если кто-то, кто знает больше, чем я, может рассказать о любом влиянии на производительность, которое это могло оказать. Но основная причина моего поста - показать, что можно начать с RAID10 и двух дисков.
Примечание: прочитайте следующий пост на форуме, в котором спрашивается и имеет ли значение порядок дисков в mdadm .