Меню Рубрики

Установка grub на программный raid

Не могу установить Grub на программный ra > centos, grub, mdadm, raid, кривые руки

Доброго времени суток. Пытаюсь поставить grub на програмный Ra >

Гугл по ошибке подсказал что такое бывает: 1)Если раздел был отформатирован с 256-битными inode. Исправил, не помогло:

В общем идеи кончились, прошу помощи! заранее спасибо)

Как ни странно, проблема не в руках. Если не хочешь проблем, то в RHEL 6 лучше не толкать /boot на RAID. Либо использовать GRUB2. GRUB 0.9x в принципе не сможет понять том массива с суперблоком в начале (1.2).

Это зеркальный рейд. Для /boot делается отдельный раздел и grub ставится на каждый диск отдельно. Зачем буту зеркало?

Начинается загрузка, вываливает

Вы указали в параметрах, передаваемых ядру и в /etc/fstab новый корень ?

grub загружает initramfs? md-устройства собираются?

Там среди сообщений перед

И из boot-строки ядра нужно убрать параметры «rhgb» и «quiet», чтобы видеть текстовые сообщения от ядра, а не красивую картинку.

Как ни странно, проблема не в руках. Если не хочешь проблем, то в RHEL 6 лучше не толкать /boot на RAID.

Отлично работает. На домашней тачке так юзаю, правда не rhel, a centos. Даже больше скажу — поверх RAID накатил LVM. Единственный нюанс — в LVM не должен быть /boot

при загрузке приглашение GRUB появляется?

Да паника сразу, ничего не вижу

Я, например, когда дома ставился, у меня тоже не взлетело — неправильно автоматом был сконфигурен grub. я редактировал в загрузчике диск (hdX,Y), на котором находилось ядро. Надо было вроде вписать (hd2,1), только у меня разметка чуть не такая как у тебя. В общем я с цифрами поигрался 10 минут и заработало. Исправил конфиг grub и все. initramfs не трогал. в ядро ничего не добавлял — свежая установка.

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

Делал по руководству из centos wiki? Тогда попробуй удалить из массива один диск — в 6.3 после этого ломалась загрузка. И официально такая конфигурация не поддерживается.

Попробуй grub2. Я теперь не имею проблем с grubом2 на любом диске зеркала. На Debiane подсказал бы.

Делал по руководству из centos wiki?

Нет, у меня своя конфигурация. Литературой пользуюсь на access.redhat.com

Тогда попробуй удалить из массива один диск — в 6.3 после этого ломалась загрузка.

Пробовал, комп загружался (если конечно разрешена загрузка с деградировавшего raid). Такую вещь и на серваках делал. Просто загрузчик на оба винта ставишь. Принципиально загрузиться можно и с другого носителя если случилась беда, а загрузчик был установлен лишь на один диск.

И официально такая конфигурация не поддерживается.

Если все еще актуально, то при создании ra >

mdadm —create —metadata=0.90 —level=1 —ra >

так же в grube необходимо указать следующее

title CentOS (2.6.32-358.23.2.el6.x86_64) hd1 root (hd0,0) kernel /boot/vmlinuz-2.6.32-358.23.2.el6.x86_64 ro root=/dev/md0 nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-358.23.2.el6.x86_64.img

Попробуй размер бута меньше 500 метров — хоть 499

источник

Установка grub на программный raid

Все, описанные ниже действия, вы делаете на свой страх и риск. Мы не несем ответственности за потерю или повреждение данных.

Имеем два жестких диска /dev/sda и /dev/sdb, одинакового размера. Диск /dev/sdb — новый, подключенный в систему. Диск /dev/sda имеет слкдующие разделы:

  • /dev/sda1 — раздел /boot, ext4
  • /dev/sda2 — swap
  • /dev/sda3 — раздел /, ext4

Задача — получить RAID1-массив следующего вида:

  • /dev/md0 (состоящий из /dev/sda1 и /dev/sdb1) — раздел /boot, ext4
  • /dev/md1 (состоящий из /dev/sda2 и /dev/sdb2) — раздел подкачки
  • /dev/md2 (состоящий из /dev/sda3 и /dev/sdb3) — раздел /, ext4

Для настройки и управления программным RAID-ом в Linux используется утилита mdadm. Установим ее:

MD arrays needed for the root file system: all

Загрузим необходимые модули ядра:

Читайте также:  Установка gta 5 на playstation 3

Для того чтобы удостовериться, что все необходимые модули и компоненты установлены, выполним следующую команду:

Если Вы видите что-то подобное, значит все хорошо.

Оба диска в массиве должны иметь абсолютно одинаковое разбиение. В зависимости от используемого типа таблицы разделов (MBR или GPT) необходимо использовать соответствующие утилиты для копирования таблицы разделов.

Жесткий диск с таблицей разделов MBR

Для жесткого диска с MBR используем утилиту sfdisk:

где /dev/sda — диск источник, /dev/sdb — диск назначения.

Удостоверимся, что все верно:

На следующем шаге изменим тип трех разделов жесткого диска /dev/sdb на Linux raid autodetect:

Жесткий диск с таблицей разделов GPT

Для жесткого диска с GPT используем утилиту sgdisk из GPT fdisk:

где /dev/sda — диск источник, /dev/sdb — диск назначения. Вторая строка назначает новому жесткому диску случайный UUID.

Проверим, что разделы созданы:

Изменим тип трех разделов жесткого диска /dev/sdb на raid:

где цифры 1,2,3 — номера разделов, полученных предыдущей командой. В результате получаем такую таблицу разделов:

Очищаем суперблоки RAID на разделах /dev/sdb, в случае если этот диск уже использовался в RAID-массивах:

Если жесткий диск новый, будет выдано следующее сообщение:

В противном случае- никаких сообщений не будет.

Создадим три RAID-массива: /dev/md0, /dev/md1, /dev/md2. Раздел /dev/sdb1 будет входить в /dev/md0, /dev/sdb2 в /dev/md1, /dev/sdb3 в /dev/md2. Разделы жесткого диска /dev/sda, на данном этапе, в RAID-массивы включены быть не могут, так как они используются системой. Используем опцию missing при создании массивов:

На вопрос о создании массивов отвечаем утвердительно:

Используя команду cat /proc/mdstat, просмотрим информацию о массивах:

[_U] — означает, что массив рассинхронизирован, т.к. отсутствует первый раздел массива (разделы диска /dev/sda). В рабочем, синхронизированном состоянии, квадратные кавычки выглядят так — [UU].

Создадим файловые системы на только что созданных составных дисках /dev/md0 (/boot), /dev/md1 (swap), /dev/md2 (/):

Запишем информацию о созданных массивах в конфигурационный файл mdadm.conf, предварительно сделав резервную копию:

Конфигурационный файл примет следующий вид:

Подготовка системы для работы с RAID-массивами

Подмонтируем /dev/md0 и /dev/md2 в нашу систему (монтировать раздел подкачки- /dev/md1, нет никакого смысла):

Отредактируем файл /etc/fstab — закомментируем строки, относящиеся к /dev/sda и добавим информацию о массивах:

Подправим файл /etc/mtab подобным образом:

Пришла очередь настройки загрузчика GRUB2:

Обратите внимание на версию ядра в строках linux и initrd. Если ваша версия ядра отличается — измените их. Проверить версию ядра можно командой:

Строка «set root = ‘md/0’» передает загрузчику информацию о том, что загрузка должна осуществляться с массива /dev/md0 (раздел /boot). Теперь у загрузчика нет привязки ни к одному из жестких дисков, установленных в системе. В случае выхода из строя одного из них, система сможет загрузиться.

Так как мы изменили файл /etc/fstab на использование обычных названий устройств вместо их UUID, сообщим об этом загрузчику:

Пришло время перенести систему с диска /dev/sda на составные устройства /dev/mdx. То есть содержимое раздела /dev/sda1 на /dev/md0, а /dev/sda3 на /dev/md2. Напомню, что массивы /dev/md0 и /dev/md2 у нас подмонтированы в /mnt/md0 и /mnt/md2 соответственно. Раздел подкачки переносить не будем.

Настройка загрузчика GRUB2 (часть 1)

Установим загрузчик на оба жестких диска:

Проверяем, что загрузка с /dev/md0 возможна:

После загрузки системы проверяем все ли загрузилось и работает:

Если видим нечто похожее — все нормально.

Жесткий диск /dev/sda с MBR

Изменим тип разделов диска /dev/sda на Linux raid autodetect:

Жесткий диск /dev/sda с GPT

Изменим флаг разделов на raid:

Добавляем разделы /dev/sda в RAID-массивы:

Проверяем, что массивы синхронизируются:

По окончанию процесса синхронизации увидим следующее:

Осталось совсем немного. Подправим файл /etc/mdadm/mdadm.conf, восстановив его предварительно из резервной копии:

Его содержимое станет приблизительно таким:

Настройка загрузчика GRUB2 (часть 2)

Удалим файл /etc/grub.d/09_swraid1_setup:

И обновим конфигурацию загрузчика:

Читайте также:  Установка заклепки на обуви и одежде

Если посмотреть на секцию ### BEGIN /etc/grub.d/10_linux ### файла /boot/grub/grub.cfg, увидим те же данные, что были в /etc/grub.d/09_swraid1_setup.

Обновим загрузчик на обоих жестких дисках:

Вот собственно и все. Заранее планируйте правильную конфигурацию для своего сервера, чтобы в вашей работе не возникало подобной не безопасной и трудоемкой работы.

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настраиваем программный RA >

  • Автор: Уваров А.С.
  • 13.08.2019

Программный RAID в Linux на основе MD-устройств успел отлично зарекомендовать себя в работе и пользуется заслуженной популярностью у администраторов, сочетая надежность и простоту создания и управления. Но со все более широким распространением UEFI-систем приходится сталкиваться с некоторыми особенностями. Многие, если есть такая возможность, переключают настройки в режим совместимости, но это неправильно, UEFI — это стандарт для современных устройств и поэтому надо учиться работе с ним.

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

Скажем больше, мы не видим никаких преимуществ у встроенных и недорогих контроллеров перед программной реализацией, особенно на простых массивах, не требующих сложных вычислений (RAID 1 и 10). А учитывая всю гибкость mdadm, программный RAID по многим параметрам будет выглядеть гораздо привлекательнее.

Конфигурация разделов Linux с UEFI

Для примера рассмотрим применяемую по умолчанию во многих дистрибутивах схему со всеми файлами в одном разделе. Однако это не означает, что вам следует применять именно ее, данная схема выбрана нами для простоты подачи материала.

EFI — он же ESP (EFI system partition) — специальный раздел с файловой системой FAT который содержит загрузчик, вызываемый микропрограммой UEFI, должен находиться в основной таблице разделов и не может располагаться в программных RAID-массивах, томах LVM или пулах ZFS. Данный раздел должен располагаться на каждом диске, с которого предусматривается загрузка.

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

Swap — раздел подкачки, используется как механизм виртуальной памяти, а также для организации режима сна (в настольных системах). Некоторые современные системы не используют раздел подкачки (Ubuntu) используя для этой цели специальный файл в корневом разделе. Swap можно объединить в программный RAID, но смысла в этом немного, более того, при использовании отдельных swap-разделов системе будет доступен вдвое больший объем для подкачки.

Некоторые особенности Ubuntu Server 18.04

Начиная с версии 18.04 Ubuntu Server по умолчанию предлагается с новым инсталлятором Subiquity, который очень просто отличить по обновленному внешнему виду:

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

Также легко можно отличить дистрибутивы по наименованию, образ с Subiquity содержит в наименовании слово live (ubuntu-18.04.3-live-server-amd64.iso).

Создание программного RAID при установке системы

Все дальнейшие действия мы будем производить на системе Debian 10, однако все сказанное будет справедливо для любой основанной на Debian системе, а с некоторыми поправками и для любого дистрибутива Linux.

Прежде всего создадим в начале каждого диска системный раздел EFI размером в 499 МБ (по умолчанию Debian и Ubuntu используют близкие к этому размеры разделов).

Читайте также:  Установка гидрозатвора для вина

Затем выполним необходимую разметку, основное условие — одинаковые размеры томов на обоих дисках, тип файловой системы и точка монтирования не играют никакого значения, можете принять предлагаемые по умолчанию. В нашем случае будет создано два раздела почти на весь размер диска, оставляя немного места в конце для разделов подкачки. В итоге у вас должно получиться примерно так:

В итоге каждый диск содержит три раздела: ESP, будущие разделы Linux RAID и разделы подкачки. Порядок следования разделов и размер разделов для RAID должны быть одинаковы на обоих дисках. После того, как первоначальная разметка выполнена соберем программный RAID 1 из разделов для данных, в нашем случае sda2 и sdb2:

Теперь разметим созданный массив, создав там корневой раздел. Помните, что один программный массив Linux (md-устройство) может содержать только один раздел, если вам нужно несколько разделов, то потребуется создать несколько массивов.

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

Настройка загрузчика EFI и его копирование на второй раздел

Перед тем как настраивать загрузчик нам потребуется получить некоторые данные, в частности идентификаторы (UUID) разделов, их можно получить командой:

В полученном выводе прежде всего обратим внимание на идентификаторы EFI-разделов.

Они разные, в то время как UUID RAID-разделов совпадают. Чтобы понять, что это означает и какие может иметь последствия откроем /etc/fstab:

Как видим, разделы монтируются по идентификаторам и в случае выхода из строя первого диска вы не сможете загрузиться со второго, так как система не сможет смонтировать EFI-раздел. В некоторых источниках советуют изменить строку монтирования, используя вместо UUID явное указание устройства, например, /dev/sda1. Да, если мы отключим первый диск, то второй превратится в sda и система загрузится, но если диск выйдет из строя, физически определяясь в системе или на его месте будет новый диск без разметки, то такой фокус не сработает.

Правильно будет изменить идентификатор одного из разделов, чтобы они были одинаковы. Так как UUID раздела на первом диске уже используется в файлах конфигурации, то изменим его у раздела на втором диске.

Для работы с разделами FAT32 нам потребуется установить дополнительные утилиты:

Где 2396BE56 — идентификатор первого EFI-раздела (/dev/sda1), его следует указывать в одну строку без пробелов и тире, а /dev/sdb1 — второй EFI раздел.

Теперь получим список текущих загрузочных записей EFI:

Здесь нас интересует запись под номером 5 — debian, которая отвечает за загрузку системы и указывает на первый жесткий диск. Запомните или запишите путь к EFI-образу для загрузки системы: \EFI\debian\shimx64.efi.

Создадим аналогичную запись для второго диска:

Немного поясним назначение ключей команды:

  • -c (—create) создать новую запись
  • -d (—disk) диск, на котором находится системный раздел EFI
  • -p (—part) номер раздела EFI
  • -L (—label) метка(наименование) для загрузочной записи
  • -l (—loader) путь образа EFI для загрузки

Так как наш EFI-раздел располагается в /dev/sdb1, то в опциях -d и -p указываем /dev/sdb и 1 соответственно, а в качестве пути указываем данные из первой загрузочной записи, которые мы получили на предыдущем шаге. Обратите внимание, что при указании пути к образу EFI используется обратный слеш.

Еще раз убедимся, что запись выполнена правильно:

Обе строки должны отличаться только меткой и GUID раздела (уникальный GPT-идентификатор, который позволяет микропрограмме UEFI найти нужный раздел).

Если обнаружена ошибка, то запись следует удалить и создать заново, для удаления используйте команду:

Ключ -b (—bootnum) указывает на номер записи, а -B ( —delete-bootnum) предписывает удалить ее.

Последним шагом скопируем содержимое загрузочного раздела с первого диска на второй, для этого смонтируем второй EFI-раздел:

И скопируем на него содержимое первого EFI-раздела:

После чего отмонтируем раздел:

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

источник

Добавить комментарий