Як правильно встановити GRUB на м'який RAID 1?


21

У моїй установці у мене є два диски, які відформатовані наступним чином:

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

Розділові файли завантаження відображаються в / dev / md0, а rootfs в / dev / md1. md0 відформатований з ext2, md1 з XFS. (Я розумію, що форматування потрібно робити на пристроях md, а не на sd - будь ласка, скажіть, якщо це неправильно).

Як правильно встановити GRUB так, що якщо один привід вийшов з ладу, інший все ще завантажиться? І на розширення, що привід заміни автоматично включатиме і GRUB? Якщо це можливо навіть, звичайно.

Відповіді:


16

Якщо два диска є /dev/sdaі /dev/sdb, як запустити grub-install /dev/sdaі grub-install /dev/sdb. Тоді обидва накопичувачі зможуть завантажуватися самостійно.

Переконайтеся, що ваша конфігурація Grub не має жорстких дисків на зразок (hd0), а замість цього шукає UUID-файли завантажувальної та кореневої файлових систем.

Мені не відомо про підтримку в Grub, щоб оголосити два диски як масив RAID-1, щоб grub-installавтоматично записати обидва. Це означає, що вам потрібно буде запустити grub-installзнову, якщо ви заміните один диск; це ще одна річ, щоб додати нових членів до масивів RAID.


1
"Переконайтеся, що ваша конфігурація Grub не має жорстких дисків типу (hd0), а замість цього шукає UUIDs завантажувальної та кореневої файлових систем." Як?
lifeofguenter

1
@lifeofguenter Withsearch
'SO- перестань бути злим'


1
У деяких системах це grub2-installзамість цього grub-install.
ndemou

1
Зауважте, що RAID знаходиться на рівні розділу, а не на рівні диска; якби це було, не було б проблем, оскільки дзеркальне відображення також відображало б MBR.
Маркос Діоне

3

Я робив це на досить багатьох серверах за останній час, і іноді знаходив проблеми, як правило, я виконую наступні

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

Проблеми, з якими я стикався, зазвичай відображаються на зразок повідомлень про помилки

update-grub … update-grub failed with no such disk …

Щоб вирішити це, я біг

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

і це, здається, вирішило проблему - як тест у деяких випадках я видалив /sdv/sdaі просто використовувався /dev/sdbдля завантаження, але це не ідеально і, швидше за все, неможливо в більшості виробничих умов!


0

Мій досвід встановлення CentOS 5 і CentOS 6 полягає в тому, що під час фази установки я налаштував RAID-1 на той час - установка дає вам вибір зробити це. Виявилося наступне: 1. Визначено / dev / sda1 як 1 ГБ як розділ RAID 2. Визначено / dev / sdb1 як 1 ГБ як розділ RAID. 3. Створено пристрій RAID / dev / md0, складений з / dev / sda1 та / dev / sdb1 4. Створено розділ / boot за допомогою / dev / md0 5. Створено додаткові розділи за допомогою кроків 1 - 3. 6. Реалізовано LVM на розділах, створених на кроці 5, дотримуючись інструкцій.

Після початкового завантаження системи в grub.conf я змінив запис / dev / sda1 на / dev / md0. Потім я скопіював запис у рядок ряду зображень has (hd0,0) і додав # на початку та змінив (hd0,0) на (hd1,0). Дивлячись на наведені вище відповіді, що показують, як встановити grub в / dev / sdb, дотримуйтесь їх. Змініть fstab так, щоб точка монтажу завантажувача використовувала / dev / md0 (виконуючи це, коли ви робите оновлення yum, на розділі / boot щось оновлено, воно буде записане на / dev / sda1 та / dev / sdb1 ). Якщо у вас відмова жорсткого диска / dev / sda, вам доведеться завантажитися за допомогою рятувального і коментувати рядок (hd0,0) і відміняти (hd1,0) рядок. Ваша система повинна бути завантажувальною

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.