Как установить GRUB на установку RAID-системы?

43

Я пытаюсь настроить и установить Ubuntu на RAID 1. У меня есть два диска, SDB и SDC. Я следовал этому руководству

https://help.ubuntu.com/community/Installation/SoftwareRAID

который более или менее работает для того, чтобы все настроить и установить Ubuntu. Проблема в конце установки, он пытается установить GRUB. По умолчанию он пробует мой «первый диск», который выдает «фатальную ошибку». Я пытался установить его на определенный раздел, например, sdb1, а также на устройства RAID, например, md0, md1 и т. Д. Ничего не работает.

Фактическая ошибка

Невозможно установить GRUB в / dev / sdb

Выполнение 'grub-install' / dev / sdb 'не удалось.

Это фатальная ошибка.

Затем я возвращаюсь в главное меню установки. Если я выберу «Установить загрузчик GRUB на жесткий диск», я могу выбрать раздел, но ввод sdb2 или md1 выдает ту же ошибку.

Так что я пошел дальше, просто не установив GRUB, а это значит, что теперь у меня, вероятно, есть работающая установка Ubuntu, но я не могу ее загрузить. Я попытался загрузиться с LiveCD, чтобы установить GRUB, но я не могу выполнить хромирование в моей системе, потому что, похоже, он не распознает, что мой диск - это диск Linux. Есть ошибка, что это раздел RAID.

Поэтому мне бы очень хотелось узнать, как вы знаете, на какое устройство устанавливать GRUB при установке, или, по крайней мере, как установить его на мою систему сейчас.

Полагаю, я должен также упомянуть, что sda - это установка Windows 7, которую я хотел бы сохранить и получить доступ к ней при загрузке.

Спасибо за любую помощь.

Крис Харпер
источник
Не сказав, в чем была ошибка, мы не можем помочь. Установка на sda (и, возможно, на sdb и sdc) - правильная вещь. Чтобы получить доступ к рейду из livecd, вам необходимо установить пакет mdadm:sudo apt-get install --no-install-recommends mdadm
psusi
Извините, я отредактировал свой пост, добавив сообщение об ошибке. Причина, по которой я пытался установить что-то, отличное от sdb, sdc, заключается в том, что я прочитал эту ветку, в которой говорилось, что я должен найти правильный раздел в / dev / mapper. Но когда я захожу в оболочку в установщике, в / dev / mapper не появляется ничего, кроме control.
Крис Харпер
Это для Fakeraid, а не программного рейда.
psusi
1
Вы используете таблицу разделов MSDOS или GPT? Если вы используете GPT, вы должны создать раздел bios_boot.
psusi
1
Мне удалось заставить его работать, создав три раздела на каждом диске, объединив два набора RAID для файловой системы и подкачки, и оставив два последних без идентификатора. Затем я выбрал / boot в качестве точки монтирования для одного из них и выбрал ее при установке GRUB. Это похоже на работу. Единственное, что меня беспокоит, это то, что GRUB не установлен на другом диске, поэтому, если у меня произойдет сбой, возможно, я не смогу загрузиться. Возможно, я могу это исправить, установив GRUB на другой диск, несмотря на то, что этот раздел не установлен в качестве точки монтирования / boot?
Крис Харпер

Ответы:

16

Моя проблема оказалась в том, что у меня была таблица разделов GUID, так как мои диски были 2 ТБ каждый. Метод, которому я первоначально пытался следовать, не предполагал этого, и поэтому установка GRUB не работала.

Вместо этого вы должны создать небольшой (1 МБ) раздел на каждом диске и объединить их в RAID-массив и установить его в качестве загрузочного раздела GRUB (я не уверен в названии). Настройте другие разделы RAID (например, swap и /), и тогда установщик GRUB должен найти область загрузки просто отлично.

(В Debian это называется зарезервированной областью загрузки BIOS .)

Крис Харпер
источник
1
это просто работает для raid1 - я пробовал это для raid6, и он просто продолжает сбой без сообщения об ошибке помощи :(
Mr.Gosh
как вы создали программный рейд? В настоящее время я пытаюсь сделать то же самое. см. мой вопрос по serverfault: serverfault.com/q/749274/71452
c33s
13

Многие из ответов здесь просто неверны, говоря вам, чтобы отключить BIOS RAID! Правильное решение в этой записи блога . Я подведу итоги ниже.

На этапе установки, где он пытается установить GRUB, он обнаружит, что

/dev/mapper

Это неполно! Вот почему установка GRUB завершается неудачно.

Вам нужно фактическое имя массива RAID для установки . Поэтому на этом шаге нажмите ctrl+ alt+, F2чтобы перейти к терминалу busybox, затем введите

ls -l /dev/mapper

Выберите имя вашего массива из показанного списка, затем нажмите ctrl+ alt+, F1чтобы переключиться обратно к установке (вы можете без проблем переключаться туда и обратно) и введите его в поле как

/dev/mapper/{your array name}  

тогда GRUB установится идеально, и вы готовы к работе, с правильным RAID-массивом BIOS.

Джефф Этвуд
источник
7
Что если ls -l / dev / mapper в качестве содержимого показывает только «control»?
Брайан Бауман
Я не уверен. Я подозреваю, что у вас нет BIOS RAID или фальшивого RAID на тот момент?
Джефф Этвуд
Я завершаю разметку и установку, как обычно, и затем происходит сбой при установке GRUB. Я не уверен, почему RAID не будет инициирован в этот момент, так как установка была специально для трех raid-массивов, которые я построил - raid1 /, raid0 swap и raid1 / home.
Брайан Бауман
Стоит отметить, что я ошибочно использовал fakeRAID и программный RAID взаимозаменяемо. Моя первая попытка была основана на использовании BIOS raid, но совет из этой ветки рекомендовал вместо этого использовать программный RAID Linux, что я и пытался заставить с тех пор работать. Еще раз попробую ваш совет, используя BIOS fakeRAID, и сообщу.
Брайан Бауман
1
Это все еще действует для 14.04? Я не могу активировать флаг загрузки в 14.04 - поэтому мне интересно, доступно ли это решение только для 12.04
Mr.Gosh
2

Небольшое изменение в рецепте @ root45 заставило меня начать (в системе только с Ubuntu). Я не сделал загрузочный раздел частью массива Raid.

Я создал небольшой загрузочный раздел GRUB (я выбрал опцию редактора разделов: «use is 'bootgrub'» или что-то подобное) и не сделал его частью устройства Raid вместе с разделами swap и data (/).

Вы можете переписать данные Grub2 в раздел «bootgrub» в любое время .... как и в самом деле, процесс установки будет от вашего имени, когда вам будет предоставлен выбор после установки всех выбранных вами пакетов; или в любое время позже, если он поврежден при grub-install /dev/sdaизменении sda на устройство раздела, который вы использовали в «шаге один» выше, чтобы он использовался как «bootgrub».

Например, если вы решите установить множество пакетов на сервере LAMP, то после разбиения на разделы может пройти довольно много времени, прежде чем вас спросят о записи данных Grub2 на жесткий диск ... и предлагаемых по умолчанию значений по умолчанию. время вызвало ошибку, пока я не предоставил устройство моего раздела "bootgrub" ... и все прошло нормально, и теперь у меня есть жизнеспособная система.

iainH
источник
1

Сейчас я не могу помочь с установкой grub, но я запустил RAID, следуя этой инструкции:

Как установить Ubuntu 8.04 с программным обеспечением RAID1 | HowtoForge - Linux Howtos and Tutorials и установите grub на каждый raid-раздел (не подкачку).

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

К. Хендрик
источник
Когда я создаю свой первый раздел (для файловой системы), я не могу установить этот раздел как загрузочный. Опция есть, но если я ее выберу, она просто мигает и говорит "флаг загрузки: нет". Я все равно продолжил и установил его, но все равно получил ту же ошибку, когда дело дошло до установки GRUB.
Крис Харпер
Хм, я не слышал о таком поведении раньше. Какую именно конфигурацию вы использовали для настройки рейда.
К. Хендрик
У меня три диска, sda - это Windows 7. Остальные, sdb и sdc пустые, когда я запускаю. Когда я попадаю в менеджер разделов, я делаю новый раздел на каждом диске для файловой системы. В вашем связанном руководстве сказано, что это должно быть «физический том для RAID», а не «файловая система Ext4», так что я сделал это. Но это означает, что я не могу установить загрузочный флаг. Я сделал оставшуюся замену диска и сделал то же самое на других дисках.
Крис Харпер
Мне кажется, вы не следуете инструкциям полностью. После создания томов raid вы должны отобразить их в raid, после чего назначить файловую систему, например ext4, после чего вы можете назначить загрузочный флаг. Вам нужно создать 2 рейдовых раздела на каждом диске по одному для подкачки один для /.
К. Хендрик
Ну, я сделал это в конце концов. Но ваше руководство говорит «Сделайте раздел загрузочным» перед созданием программного RAID, и установщик не позволит мне сделать это. Я прошел установку и создал RAID, затем назначил / и переключился на два RAID-устройства. Но при попытке установить GRUB все еще возникает ошибка.
Крис Харпер