Как установить сервер Ubuntu с UEFI и RAID1 + LVM

Я использовал для установки своих серверов с LVM поверх программного RAID1 и установки grub на MBR обоих дисков. Теперь у меня есть сервер UEFI, и режим совместимости (BIOS), похоже, не работает.

Итак, я пошел по пути установки с UEFI.

Первый тест, установка с одним приводом работает нормально.

Затем я попытался установить с RAID1 + LVM. Я разделил два диска одинаково:

  • системный раздел EFI, 200 МБ
  • физический раздел RAID

Затем я выполнил настройку: - a RAID 1 с использованием обоих дисков. Разделы RAID - группа томов LVM в массиве RAID 1 - три логических тома: /, / home и swap

Установка продолжилась, но при перезагрузке я получаю оболочку grub я застрял.

Итак, возможно ли, чтобы grub2-efi работала на LVM через RAID1? Как это сделать? Существуют ли другие варианты загрузчика (прямая загрузка Linux из EFI ??)? и т.д ...

13
задан 27 May 2015 в 23:50

3 ответа

Хорошо, я нашел решение и могу ответить на свои вопросы.

1) можно ли использовать LVM поверх RAID1 на машине с UEFI?

Да, определенно. И он сможет загрузиться, даже если один из двух дисков выйдет из строя.

2) Как это сделать?

Кажется, что это ошибка в установщике, поэтому простое использование установщика приводит к ошибке при загрузке (оболочка grub).

Вот рабочая процедура:

1) вручную создайте следующие разделы на каждом из двух дисков: - раздел 512 МБ с типом UEFI a начало диска - после этого раздел типа RAID

2) создайте массив RAID 1 с двумя разделами RAID, затем создайте группу томов LVM с этим массивом и свои логические тома (я создал один для корневого, один для домашнего и один для подкачки). [ 118]

3) разрешите продолжить установку и перезагрузите компьютер. ОТКАЗ! Вы должны получить ракушку.

4) Возможно, можно загрузиться с оболочки grub, но я решил загрузиться с аварийного usb-диска. В режиме восстановления я открыл оболочку на моем целевом корневом сервере fs (то есть на логическом томе root lvm).

5) получить UUID этого целевого корневого раздела с помощью blkid. Запишите это или сделайте снимок с помощью телефона, вам понадобится следующий шаг.

6) Смонтируйте системный раздел EFI ('mount / boot / efi') и отредактируйте файл grub.cfg: vi /boot/efi/EFI/ubuntu/grub.cfg Здесь замените ошибочный UUID на тот, который вы получил в пункте 5. Сохранить.

7) чтобы иметь возможность загрузки со второго диска, скопируйте раздел EFI на этот второй диск: dd if = / dev / sda1 of = / dev / sdb1 (измените sda или sdb в соответствии с вашей конфигурацией). [ 1113]

8) Перезагрузка. На экране настроек UEFI установите два раздела EFI как загрузочные и установите порядок загрузки.

Вы сделали. Вы можете проверить, отключить один или другой диск, он должен работать!

0
ответ дан 27 May 2015 в 23:50

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

1) Создайте 128 МБ efi-разделов при запуске (только один из которых будет монтироваться в / boot / efi)

2) Создать 1 ГБ / загрузочный RAID1 массив, без LVM

3) Создайте большой массив RAID1 с помощью LVM

Наличие / boot в отдельном разделе / ​​RAID1-массив решает проблемы, связанные с тем, что раздел efi не может найти подходящие вещи.

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

6x 3TB Drives

Have 4 RAID arrays:
/dev/md0 = 1GB RAID1 across 3 drives
   --> /boot (no LVM)
/dev/md1 = 500GB RAID1 across 3 drives
   LVM:
      --> /     =  40GB
      --> /var  = 100GB
      --> /home = 335GB
      --> /tmp  =  10GB

/dev/md2 = 500GB RAID1 across 3 drives (for VM's/linux containers)
   LVM:
      --> /lxc/container1 =  50GB
      --> /lxc/container2 =  50GB
      --> /lxc/container3 =  50GB
      --> /lxc/container4 =  50GB
      --> /lxc/extra      = 300GB (for more LXC's later)

/dev/md3 = 10TB RAID6 across 6 drives (for media and such)
   --> /mnt/raid6 (no LVM)


Disks are setup thus:

/sda => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdb => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdc => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB)
/sdd => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sde => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)
/sdf => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB)

Обратите внимание, что только один из / boot / efi будет на самом деле монтировать, а вторые два являются клонами; Я сделал это, потому что хотел, чтобы машина все еще загружалась при потере любого из 3 дисков в RAID1. Я не возражаю против работы в ухудшенном режиме, если у меня все еще есть полное резервирование, и это дает мне время для замены привода, пока машина еще работает.

Кроме того, если бы у меня не было второго массива RAID1 для размещения контейнеров LXC и в основном всех баз данных и тому подобного, / var должен был бы быть НАМНОГО больше. Однако наличие каждого LXC в качестве собственного логического тома было хорошим решением, чтобы одна виртуальная машина / веб-сайт не нарушала работу других из-за неконтролируемых журналов ошибок, например ...

И последнее замечание: я установил Ubuntu Alternate Install USB с 12.04.01 (до выхода 12.04.02), и все работало довольно хорошо. После того, как я ударился головой об нее в течение 72 часов.

Надеюсь, это кому-нибудь поможет!

0
ответ дан 27 May 2015 в 23:50

У меня был такой же пробм, загрузочный efi с двумя дисками и программным рейдом

/ dev / sda

  • / dev / sda1 - 200 МБ efi-раздел
  • / dev / sda2 - физический для рейда 20G
  • / dev / sda3 - физический для рейда 980G

/ dev / sdb

  • / dev / sdb1 - 200 МБ efi раздел
  • / dev / sdb2 - 20G физический для рейда
  • / dev / sdb3 - 980G физический для рейда

Swap on / dev / md0 ( sda2 & amp; sdb2) Root на / dev / md1 (sda3 & amp; sdb3)

Если вы войдете в оболочку grub-rescue, загрузитесь с помощью:

set root=(md/1)
linux /boot/vmlinuz-3.8.0-29-generic root=/dev/md1
initrd /boot/initrd.img-3.8.0-29-generic
boot

После этого скачайте этот патч файл - https://launchpadlibrarian.net/151342031/grub-install.diff (как описано в https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/ 1229738 )

cp /usr/sbi/grub-install /usr/sbi/grub-install.backup
patch /usr/sbin/grub-install patch
mount /dev/sda1 /boot/efi
grub-install /dev/sda1
umount /dev/sda1
mount /dev/sdb1 /boot/efi
grub-install /dev/sdb1
reboot
0
ответ дан 27 May 2015 в 23:50

Другие вопросы по тегам:

Похожие вопросы: