Преимущества / Недостатки установки GRUB на программный RAID?

Каковы преимущества установки GRUB на программном RAID-1?

Какие недостатки существуют для установки GRUB на программном RAID-1?


Я спрашиваю об этом, потому что большинство руководств / разделов справки, по-видимому, предполагают, что GRUB находится на обычном (то есть не на RAID) разделе.

Итак, есть ли сильный аргумент против установки GRUB на программный RAID? или это просто соглашение?

Все, что ниже, является отражением моих ограниченных знаний, должно быть предупреждено, что оно обязательно содержит ошибки. Если вы найдете ошибки, я был бы признателен, если бы вы предложили исправления и / или объяснения, спасибо: 0)

Так что для меня лично (как новичок), установившись на RAID-1, это сделало инструкции по учебнику / восстановлению более запутанными. например, fsck /dev/sda1 в порядке для не-RAID-систем, но НЕ что-то, что должно быть сделано на отдельных дисках md (AFAIK).

Также я понимаю, что, поскольку это программный RAID, отказ на первом загрузочном диске в любом случае остановит загрузку. (IE может использовать только RAID-1 для загрузки, потому что фактически он не загружается как RAID-диск изначально, пока достаточное количество ОС не загрузится для управления дисками md. Таким образом, это только чтение данных с первого диска в любом случае при загрузке GRUB)

Grub 2 (также известный как Grub 1.9x) поддерживает Linux RAID-1 изначально. Grub 1 (также известный как Grub 0.9x или Grub Legacy) нет, но вы можете в значительной степени притворяться, что он это делает, потому что Grub только читает с диска, а чтение с одного из дисков массива RAID-1 так же хорошо, как чтение из массива (за исключением производительности, но это не имеет значения здесь, и если один из дисков не сработает, но тогда переупорядочение диска BIOS, как правило, сделает чтение Grub с диска без отказа).

Поэтому, если вы настроили Grub на загрузочный диск и сделаете раздел, содержащий Grub, устройством RAID-1 вместе со вторым системным диском (с Grub 1, запустите grub-install раз для каждого диска), ваша система все равно будет загружаться, если либо диск выходит из строя. Это одно из преимуществ использования Grub над RAID-1, но оно большое.

Не существует недостатка в использовании Grub для настройки RAID-1. Однако может быть установлена ​​стоимость установки: многие программы установки Linux еще не совсем готовы к загрузке нетривиальных настроек. Вы можете обнаружить, что вам нужно создать или отредактировать /boot/grub/device.map вручную.

Вы можете обнаружить, что старые документы (со времен Grub Legacy) говорят, что Grub не поддерживает RAID. Это правда, но, как я уже писал выше, вы получаете поддержку только для чтения RAID-1 в значительной степени бесплатно (другие режимы RAID – это сразу). Не все учебные пособия были обновлены для Grub 2, но даже с Grub 2 поддержка в программах установки не всегда полностью там. Поэтому я рекомендую помещать Grub 1 поверх массива RAID-1, но только в том случае, если программа установки дистрибутива поддерживает его, или вам удобнее возиться с конфигурацией Grub (возможно, для загрузки с компакт-диска несколько раз, прежде чем вы это исправите).

Рекомендуется установить GRUB на ваше программное RAID-устройство (если вы используете его), потому что если ваше устройство RAID ухудшится, ваша система все равно сможет загрузиться. Если он не является частью RAID-устройства, загрузочный сектор не имеет избыточности, и вы не сможете загрузиться в случае сбоя жесткого диска или повреждения файловой системы. Я не знаю никаких недостатков при установке GRUB на программный рейд.

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

Чтобы подробнее проработать, GRUB 2 разработан модульно. Таким образом, GRUB добавляет достаточную функциональность, загружая необходимые модули (если необходимо) для распознавания загрузочного устройства, прежде чем он начнет загрузку. Вот фрагмент из моей конфигурации для моего ядра 2.6.32 при сжатии Debian, LVM поверх RAID 1, версия grub-pc 1.99 ~ 20110112-1. Здесь он загружает модули raid , mdraid1x и lvm прежде чем приступать к загрузке, поскольку устройство является логическим томом LVM поверх устройства RAID 1.

  insmod raid insmod mdraid1x insmod lvm insmod part_msdos insmod part_msdos insmod ext2 set root='(debian-boot)' search --no-floppy --fs-uuid --set=root 93ea47bb-16a1-4b52-a7eb-f17ea430d6cf echo 'Loading Linux 2.6.32-5-vserver-686-bigmem ...' linux /vmlinuz-2.6.32-5-vserver-686-bigmem root=/dev/mapper/debian-root ro quiet echo 'Loading initial ramdisk ...' initrd /initrd.img-2.6.32-5-vserver-686-bigmem 

Это легко проверить, поэтому я рекомендую некоторые эксперименты.

Я говорю о старой грибе здесь.

Pro: Изменения в загрузочном меню, Kernel-Updates и Init-RD автоматически перейдут на оба (или более) диска. Не нужно копировать вручную.

Contra: вы должны быть осторожны при настройке рейда 1. Выполнение этого неправильного порядка сделает ваш второй диск не загружаемым. Проблемы: grub не может использовать рейд-устройство. Поэтому вместо этого он будет использовать / dev / hdaN или / dev / sdaN. Но: если ваш текущий sda не удастся, прежний sdb станет sda.

Решение: настройте как отдельный раздел, но оставите небольшое пространство в конце раздела, чтобы впоследствии добавить мета-информацию для рейда 1 без потери данных.

Установите MBR на первый диск, установите grub на первый диск. Скопируйте оба с dd на второй диск. Только после этого настройте рейд1.