В чем разница между созданием массива mdadm с использованием разделов или целых дисков напрямую

26

Может кто-нибудь объяснить мне, в чем разница между созданием mdadmмассива с использованием разделов или целых дисков напрямую? Предположим, я собираюсь использовать целые диски. Обратите внимание, что они с GPT.

Представьте, что RAID6 создан двумя способами:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

или:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Есть ли разница?

РЕДАКТИРОВАТЬ1: Я имею в виду, например, операции над надежностью, управляемостью или восстановлением таких массивов и т. Д.

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

EDIT3: Отказ от ответственности: до сих пор я всегда делю диски.

LinuxSecurityFreak
источник
2
Мне всегда было любопытно, но я никого не спрашивал. Я вижу одно различие в том, что при использовании разделенных дисков (sda1 и т. Д.) Вы получаете немного меньше дискового пространства (несколько КБ), поскольку GPT резервирует некоторое пространство для информации о разделах.
GMaster

Ответы:

25

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

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

Наиболее важные аргументы:

Диски разных производителей (или даже разных моделей одинаковой емкости одного и того же производителя) не обязательно имеют одинаковый размер диска, и, даже при минимальной разнице в размерах, вы не сможете заменить неисправный диск на новый. если второе меньше первого. Разбиение позволяет обойти это;

Дополнительное примечание о том, почему следует использовать диски разных производителей: диски будут выходить из строя, это не вопрос «если», а «когда». Диски одного и того же производителя и одной и той же модели имеют сходные свойства, и, следовательно, более высокие шансы на отказ вместе при одинаковых условиях и времени использования. Поэтому рекомендуется использовать диски разных производителей, разных моделей и, в частности, которые не принадлежат к одной партии (рассмотрите возможность покупки в разных магазинах, если вы покупаете диски одного производителя и модели). Это не редкость, когда происходит сбой второго диска во время восстановления после замены диска, когда используются диски одной и той же партии. Вы, конечно, не хотите, чтобы это случилось с вами.

Итак, рекомендации:

1) Разбейте диски, которые будут использоваться с меньшей емкостью, чем общее дисковое пространство (например, у меня есть массив RAID5 объемом 2 ТБ, и я намеренно разделил их, тратя около 100 МБ на каждом). Затем используйте / dev / sd? 1 каждого для создания массива - это добавит запас прочности на случай, если на новом заменяющем диске будет меньше места, чем на исходных, использованных для сборки массива при его создании;

2) Использовать диски разных производителей;

3) Используйте диски разных моделей, если разные производители не подходят для вас;

4) Используйте диски из разных партий;

5) Предварительно заменяйте диски до того, как они выйдут из строя, а не все одновременно. Это может быть немного параноиком и действительно зависит от критичности ваших данных. Я использую, чтобы иметь диски, которые имеют 6-месячные различия в возрасте друг от друга;

6) Делайте регулярные резервные копии (всегда, независимо от того, используете ли вы массив или нет). Рейд не служит той же цели резервного копирования. Массивы гарантируют вам высокую доступность, резервные копии позволяют восстанавливать утерянные файлы (в том числе те, которые были случайно удалены или повреждены вирусами, некоторые примеры того, что с помощью массивов не защитит вас).

OBS: для всех , кроме , не пренебрежимо рациональны выше, не намного дальше технические различия между использованием / DEV / сд? vs / dev / sd? #.

Удачи

Marcelo
источник
Это в основном не связано ...
user1133275 15.11.16
Тем не менее, я думаю, @Kalavan предупреждение относится к использованию нескольких разделов на одном диске в качестве компонентов массива. Это, конечно, не имеет особого смысла, поскольку устраняет избыточность. Мы знаем, однако, что это не было целью вашего вопроса, его предупреждение в любом случае имеет смысл.
Марсело
Если управление разделами вручную кажется sfdisk -d src | sfdisk tgtsgdisk --backup && sgdisk --load-backup
затруднительным
7

Другим важным аргументом является то, что некоторые материнские платы могут удалять ваши суперблоки RAID, если вы используете целые дисковые устройства и не очень осторожны с их очисткой при добавлении дисков в массив RAID, которые когда-то были устройствами GPT.

Я научился этому нелегко, когда UEFI на материнской плате ASRock сделал мой RAID непригодным для использования:

Чтобы защитить себя от этого, всегда запускайте sgdisk --zapдиск с форматом GPT, который вы хотите использовать для RAID всего устройства.

wipefs -a также может стереть все виды оставшейся информации о разделах (не только GPT) перед добавлением устройства на диск.


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

Я никогда не знал, каковы реальные аргументы в пользу этой лучшей практики (помимо ответа @ Marcelo, объясняющего, что он может работать с дисками немного другого размера). Теперь я знаю.

Кстати, если это произойдет с вами, ваши данные не будут потеряны. Скорее всего, вы можете просто sgdisk --zapсоздать устройство, а затем воссоздать RAID с помощью, например mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(mdadm сообщит вам, что оно уже обнаруживает прошлые данные, и спросит вас, хотите ли вы продолжить повторное использование этих данных). Я пробовал это несколько раз, и оно работало, но я все еще рекомендую сделать резервную копию, прежде чем сделать это.

NH2
источник
2

Есть пара сообщений, в которых упоминается проблема использования целого устройства в качестве члена RAID вместо раздела, один здесь . Я могу подтвердить, что это так.

Таким образом, при создании RAID с помощью всего устройства (скажем, /dev/sda, /dev/sdb, ... , а не на /dev/sda1, /dev/sdb1...) НАБЕГ устройство не собирает после перезагрузки , даже если у вас есть конфигурация сохраняется под mdadm.conf. Существует также возможность перезаписи встроенного ПО или удаления суперблока RAID. В моей настройке запуск mdadm --assemble --scan --verboseне возвращает меня к настройке RAID, и похоже, что суперблок RAID недоступен.

Lungten
источник
Я проверил настройку RAID1 с использованием дисков 2x10GB внутри VirtualBox. RAID был создан на всем устройстве, и после перезагрузки он прекрасно собирается. Проблема может быть применима только к физическим устройствам.
Лунгтен
0

Чтобы уберечь себя от будущих головных болей, используйте разделы. Все диски выходят из строя, это не вопрос «если», а «когда». Если вы используете целые диски, то после сбоя диска вы должны заменить его на модель точно такого же размера. Даже увеличение на несколько МБ из-за другого производителя или изменений процесса приведет к сбою замены диска.

Используя разделы, когда один из ваших текущих дисков объемом 2 ТБ выходит из строя, вы получаете замену 4 ТБ (или что-то еще, просто должно быть больше), а затем создаете на нем тот же размер раздела 2 ТБ. Да, возможно, вы теряете место на этом новом большом диске. Использование оставшегося диска в качестве раздела без рейда может быть возможным, но может сказаться на производительности странным образом. После нескольких сбоев и замен дисков вы в конечном итоге замените все оригинальные диски емкостью 2 ТБ, и теперь у вас будет возможность расширить массив RAID для использования разделов большего размера.

JavaMan07
источник