Форум Зейского сообщества любителей ОС Linux и Unix
Работа nix.zeya.org => Статьи в Вики => Руководства и советы => Тема начата: vovka от Среда, 25 Мая, 2011, 12:22:38
-
Обсуждение статьи в подразделе "Процесс начальной загрузки и загрузчики" (http://www.nixzeya.ru.net/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_%D0%B8_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA%D0%B8) :
"Установка Debian Squeeze на программный RAID1-массив" (http://www.nixzeya.ru.net/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Debian_Squeeze_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B9_RAID1-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2#.D0.A2.D1.8C.D1.8E.D0.BD.D0.B8.D0.BD.D0.B3_LiLo).
, как продлжение постов (http://nix.zeya.org/forum/index.php?topic=106.0) о проблеме установки Squeeze на программный RAID1
-
Благодарю за статью.
Покопавшись день в гугле, наскрёб простое решение (отдельные благодарности вот этому админу (http://linuxforum.ru/viewtopic.php?pid=149127#p149127)).
После установки Debian Squeeze на RAID-1 нужно установить загрузчик на второй винт.
Делается это так:
dpkg-reconfigure grub-pc
root (hd0,0)
setup (hd0)Отмечаю звёздочками /dev/sda и /dev/sdb
Далее в /etc/default/grub нужно раскоментировать строку:
”GRUB terminal=console”и для пересоздания конфигурационных файлов в /boot даём команду:
update-grub
Когда грузится графический терминал GRUB–меню, по-умолчанию подгружается файл фонта из /boot. Скорее всего, он не может загрузится.
Поэтому смена на GRUB terminal=console помогает - так не грузится данный фонт.
Выключаю Debian, вынимаю второй диск.
Включаю - загрузка идёт без проблем :)
Видно, что второго диска нет:
mdadm --detail /dev/md0
После подключения диска обратно,
восстанавливаю RAID-1
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb5
mdadm -a /dev/md2 /dev/sdb6
Выключаю Debian, вынимаю первый диск.
Включаю - загрузка идёт без проблем :)
Видно, что первого диска нет:
mdadm --detail /dev/md0
После подключения диска обратно,
восстанавливаю RAID-1
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md1 /dev/sda5
mdadm -a /dev/md2 /dev/sda6
PS: Только что проверил на VirtualBox 4.1.2
-
Описание возможной проблемы - когда грузится графический терминал GRUB–меню по-умолчанию – подгружается файл фонта из /boot – скорее всего он не может загрузится – поэтому смена на GRUB terminal=console помогает - там не грузится данный фонт.
Цитата igor_semmy с сайта linuxforum.ru (http://linuxforum.ru/viewtopic.php?pid=149127#p149127)
- описание причины, когда идёт циклический процесс перезагрузки. Как раз это и было у меня после стандартного сценария настройки grub`а при установке Squeeze на RAID1. Предположение со шрифтами - логичное. Постараюсь в ближайшее время опробовать Ваш рецепт, Anhel, на реальной машине и описать результат.
-
Если и у Вас прокатит, то может тогда и допишите статью в разделе wiki?
-
Если и у Вас прокатит, то может тогда и допишите статью в разделе wiki?
Обязательно. :)
-
Проверил метод с применением 2-х SATA-винтов и одного раздела (всё располагается в корне) - работает :) . Правда результаты эксперимента поставили меня в тупик - вынужден отбросить версию со шрифтами и предполагать что проблема кроется в некорректности установки GRUB`а самим инсталлятором Debian`а.
Процесс был таков:
1. Собрал макет из PC и 2-х SATA-винтов по 250Гб.
2. Загрузился с первого CD-диска версии Debian 6.0.2.1 в консольном (не графическом) режиме и дошёл до момента, где начинается разбивка диска.
3. В соседнем терминале, через команду fdisk удалил имеющиеся на дисках разделы, после чего перезагрузил машину.
4. Снова загрузился с диска, дошёл до средства разбивки диска, в нём создал на каждом из винтов по одному Primary разделу в 1Гб. Пометил их как загрузочные и поставил тип "Linux RAID Autodetect".
5. После завершения разбивки, этим же средством создал RAID1 раздел md0, указал на тип системы Ext3 и точку монтирования: /
6. Далее продолжилась минимальная установка системы, по завершению которой поставил GRUB в MBR.
7. Перезагрузка. Система загрузилась с первого винта с нормально-работающим райдом.
8. Для проверки, отключил систему, физически отключил первый винт ==> Как следовало ожидать, система не пошла на загрузку и выдало ошибку LILO (скорее всего это пробовал стартовать загрузчик с прошлых экспериментов). Это означает, что Debian`овский инсталлятор не поставил GRUB на второй винт.
9. Выключил систему, подключил первый винт, синхронизировал массив, зашёл под рута и выполнил
dpkg-reconfigure grub-pc
Программа запросила строку "Linux command line", ввёл:
root (hd0,0)
Затем запросила строку "Linux default command line", ввёл:
setup (hd0)
Такую операцию, именно с этой версией GRUB`а делаю впервые и не совсем понимаю смысл этого, ведь /boot/grub/grub.cfg эти вещи описаны.
Далее программа запросила выбрать устройства куда ставить загрузчик. У меня были 3 устройства:
/dev/sda
/dev/sdb
/dev/md0
Выбрал первые два. Программа обновила GRUB. В этом месте надо было сделать перезагрузку и проверить работоспособность загрузки со второго винта, но про этот момент я забыл.
10. Затем открыл для редактирования в nano файл /etc/default/grub и раскомментировал строку с "GRUB terminal=console". Изменения в GRUB (после редактирования этого файла) вступают в силу только после выполнения update-grub. Сделал update-grub, загрузчик обновился.
11. Перезапустил машину - меню GRUB`а стало консольным. Система без проблем загрузилась - это с первого винта.
12. Выключил машину, отключил первый диск, включил ==> система загрузилась, что в говорит о работоспособности метода.
На этом этапе можно было закончить, но мне захотелось снова закомментировать строку с "GRUB terminal=console" дабы выяснить причину со шрифтами.
---
13. Отключаю машину, подключаю первый винт, загружаюсь со второго и синхронизирую массив.
14. Снова комментирую строку, выполняю update-grub, перезагружаюсь и стартую с первого винта ==> система загрузилась с графическим меню, как и по умолчанию.
15. Отключаю системник, отключаю первый винт, загружаюсь ==> загрузчик стартовал, меню - графическое, система загрузилась.
Вторая часть эксперимента говорит о том, что причина всё-таки короется в некорретности установки GRUB`а.
Напоминаю, что стандартная процедура установки grub`а в раздел делается командой:
grub-install /dev/имя_устройства
, после чего, теоретически, загрузчик должен установиться на указанные разделы и загрузка должна без проблем пройти, но этого не происходит.
Пока набирал текст выше, решил опробовать "с нуля" вариант без раскомментирования строки.
1. Удаляю разделы и загрузчики на обоих винтах.
2. Повторяю установку этого же дистрибутива.
3. Выполняю dpkg-reconfigure grub-pc без модификации /etc/default/grub. Перезагрузка.
4. Загрузка с первого винта успешна.
5. Отключаю первый винт =>> начинается загрузка, но машина идёт в ребут и процесс повторяется.
6. Подключаю обратно первый винт, раскомментирую строку "GRUB terminal=console" в /etc/default/grub, выполняю update-grub.
7. Отключаю машину, отключаю первый винт ==> система нормально стартовала со второго винта.
Этим экспериментом и подтверждена необходимость в комментировании строки и существования проблемы, когда GRUB отображает меню в графическом (не консольном) режиме.
Метод можно применять. Единственный вопрос в том, что вводить в поля (см. рисунки ниже) при выполнении dpkg-reconfigure grub-pc ? Вводил по методу, но что подразумевается под "командной строкой" в этом случае - я не понимаю.
-
Единственный вопрос в том, что вводить в поля (см. рисунки ниже) при выполнении dpkg-reconfigure grub-pc ? Вводил по методу, но что подразумевается под "командной строкой" в этом случае - я не понимаю.
По поводу странных команд, я их подсмотрел от сюда (http://www.youtube.com/watch?v=19mqWyGidVY), но там Debian-5.
В Squeeze, похоже, это тоже самое, ну что-то типа процедуры восстановления Grub (http://ubuntologia.ru/grub-mbr-windows)
-
Статья в wiki переработана.