%3A%20%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20RAID%201%20%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%BE%D0%B9%20grub.png)
Некоторое время я пытался настроить новую серверную систему с RAID 1 в качестве источника загрузки. Этот RAID состоит из двух жестких дисков по 4 ТБ. Поэтому я загружаюсь с USB-накопителя, который я подготовил с установочным образом Debian 12. Сначала все работает нормально. Я настраиваю сеть и создаю первых двух пользователей. Когда дело доходит до разбиения на разделы, я выбираю ручной способ.
В следующей таблице я вижу два моих диска по 4 ТБ и загрузочное USB-устройство, жесткий диск SCSI9 — это запасной, я не буду его здесь использовать. Я выбираю настройку программного RAID
Я выбираю создание устройства MD
Я выбираю RAID 1
2 RAID-устройства
0 Запасные устройства
Еще раз вернемся к разбиению. На этот раз я выбираю режим подсказок.
Все файлы в одном разделе
Я выбираю новое устройство RAID
Через одну-две минуты появится новый разделенный RAID. Выглядит многообещающе...
Я подтверждаю изменения, и система начинает получать и устанавливать остальную часть ОС и все утилиты. Этот процесс хорошо продуман и довольно прост до сих пор. Единственная проблема: он не завершается. :-( Когда дело доходит до установки GRUB (спустя 2 часа), он умирает... Я не нашел способа продвинуться дальше.В чем моя ошибка и как ее исправить??
Я перепробовал множество вариантов из результатов обширных поисков в интернете, и все с одним и тем же результатом.. Это был самый многообещающий вариант: пропустить часть процесса установки и вручную сгенерировать массив с помощью mdadm: https://www.server-world.info/en/note?os=Debian_12&p=raid1
Добавление
решение1
4T требует использования GPT, и вы не можете одновременно иметь RAID-массив, состоящий из всего диска и разделяемый на разделыисделать диски распознаваемыми BIOS для загрузки (строго невозможно с EFI, не так строго с устаревшими, но для этого потребуется темная магия, которую вам знать не хочется).
(Жаль, что установщик Debian вообще принял эту схему. Так не должно быть, она совершенно недействительна и не может работать.)
Это происходит потому, что таблица разделов GPT фактически хранится как в начале, так и в конце устройства. Когда RAID всего диска используется и рассматривается без надлежащей интерпретации метаданных MD, обе копии GPT никогда не оказываются на месте одновременно:
- для суперблока MD v1.0 второй GPT (в конце) будет отсутствовать (перемещен ранее, на место, которое BIOS не ожидает);
- для суперблоков MD v1.1 и v1.2 первый GPT (в начале) будет смещен, поэтому прошивка его не обнаружит.
В любом случае он не распознает диски как имеющие действительную таблицу разделов и откажется загружаться с них.
В дополнение к этому, если вы хотите загрузиться с UEFI, вам нужно знать, что прошивка EFI не имеет ни малейшего представления о том, что ESP может быть программным RAID (в спецификации об этом ничего не сказано). Так что не должно быть. ESP всегда должен быть простым разделом GPT.
Итак, чтобы решить эту проблему, вместо того, чтобы строить RAID и затем разбивать его на разделы, вы сначала разбиваете диски на разделы, а затем собираете некоторые разделы в RAID. Хотя это спорно, я предлагаю следующую схему:
- для установки EFI: ESP (тип 1) размером 511 МБ (смещение по умолчанию 1 МБ), затем 512 МБ для /boot типа Linux RAID, затем остальное для остального типа Linux RAID (если я не ошибаюсь, это тип 29 в fdisk).
- для устаревшей установки: 1 МБ (тип 4 — biosgrub), 510 МБ загрузка (RAID) и остальной RAID.
Затем вы создаете два RAID (/boot и остальные) и выбираете один из ESP в качестве «ESP». Вы включите загрузку со второго диска после установки. А затем вы создаете LVM на большом RAID для хранения файловых систем; там вы можете создать раздел подкачки, корневой том FS (30 ГиБ достаточно для Debian, и его легко увеличить на лету; обратите внимание, что вы поместите все данные на другие смонтированные выделенные тома — хранить данные приложений в корневом томе бесполезно). Остальное можно создавать по мере необходимости в течение жизненного цикла системы.
Затем вы устанавливаете систему как обычно. Она должна создать FAT32 на разделе ESP; установщик Debian 11 имел с этим проблемы, поэтому мне пришлось создать его вручную; я не знаю, как в 12, так как я не выполнял такую установку, только обновления. Что касается установки загрузчика, вы просто делаете то, что предлагается для EFI, в то время как для legacy вы можете просто повторить этот шаг и установить его дважды, выбрав второй диск во второй раз, так что он будет избыточным для загрузки сразу.
Для EFI, после первой загрузки системы, вам нужно вручную создать файловую систему FAT32 на втором разделе "ESP", смонтировать его куда-нибудь (я использую /boot/efi2) и скопировать все из /boot/efi, сохранив структуру. Затем вы создаете вторую загрузочную запись прошивки, используя efibootmgr
,здесьтаковы инструкции.
решение2
Готово... Спасибо, Никита, что указал правильное направление! Вот быстрый рецепт приготовления того, как это сработало у меня (я опустил пару "вы действительно хотите переразбить свои диски" - подтверждений):
- Перейдите в конфигурацию BIOS материнской платы и отключите все функции UEFI.
- Загрузитесь с USB-накопителя с установочным образом Debian 12.
- Запустите «Графическую установку».
- Выполните первые шаги (установку сети и т. д.) обычным способом.
- Когда установщик дойдет до пункта «Разделить диски», выберите «Вручную».
- Удалите все старые разделы с двух целевых дисков.
- Создайте новый раздел на первом целевом диске. Когда вас попросят указать размер, введите «1 МБ». Поместите раздел в «Начало» доступного пространства. Измените настройку «Использовать как» на «Зарезервированная область загрузки BIOS».
- Создайте новый раздел на первом целевом диске. Когда вас попросят указать размер, введите «max». Измените настройку «Use as» на «physical volume for RAID».
- Повторите последние два шага для второго целевого диска.
- Вернитесь в меню разбиения на разделы, выберите «Настроить программный RAID». Выберите «Создать устройство MD». Выберите «RAID1». Активные устройства — «2». Запасные устройства — «0». Затем выберите два раздела RAID, которые вы подготовили ранее. Выйдите из настройки RAID, нажав «Готово».
- Вернувшись в меню разбиения на разделы, выберите «Guided partitioning». Выберите «Guided - use whole disk and setup up LVM». Выберите устройство RAID, которое вы подготовили ранее. Выберите «All files in one partition». На вопрос о размере LVM ответьте «max».
Ваш список разделов должен теперь выглядеть примерно так. Выберите «Завершить разбиение на разделы и записать изменения на диск».
- Если все прошло хорошо, ваша система запустится в стандартный процесс установки Debian (который может занять некоторое время). Вы отвечаете на вопросы точно так же, как и при обычном процессе установки.
- Проснитесь еще раз, когда дело дойдет до записи GRUB на ваши диски: запишите его один раз на первый целевой диск, а затем вернитесь и сделайте то же самое для второго целевого диска.
- Остальная часть процедуры стандартна...
- Вы можете проверить состояние вашего RAID (включая ход процесса синхронизации), запустив его
watch cat /proc/mdstat
из командной строки.