Як встановити сервер Ubuntu за допомогою UEFI та RAID1 + LVM


15

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

Тож я пішов шляхом встановлення з UEFI.

Перший тест, установка одного привода працює чудово.

Потім я спробував встановити RAID1 + LVM. Я розділив два свої диски однаково:

  • системний розділ EFI, 200 Мб
  • фізичний розділ RAID

Потім я здійснив налаштування: - RAID 1, використовуючи обидва дискові розділи RAID, - групу томів LVM в масиві RAID 1 - три логічні томи: /, / home та swap

Установка продовжувалася, але при перезавантаженні я отримую шкаралупу груба і я застряг.

Отже, чи можливо мати grub2-efi роботу над LVM через RAID1? Який спосіб досягти цього? Чи є інші альтернативи завантажувача (пряме завантаження Linux з EFI ??)? тощо ...

Відповіді:


11

Гаразд, я знайшов рішення і можу відповісти на власні запитання.

1) Чи можу я використовувати LVM через RAID1 на машині UEFI?

Однозначно так. І він зможе завантажитися, навіть якщо один з двох дисків вийде з ладу.

2) Як це зробити?

Здається, це помилка в інсталяторі, тому просто використання інсталятора призводить до невдалого завантаження (оболонки grub).

Ось робоча процедура:

1) створіть вручну наступні розділи на кожному з двох дисків: - розділ 512 Мб з типом UEFI a початок диска - розділ типу RAID після цього

2) створити свій масив RAID 1 з двома розділами RAID, потім створити свою групу томів LVM з цим масивом та ваші логічні томи (я створив один для root, один для домашнього та один для swap).

3) дозвольте встановлення продовжуватись та перезавантажте. ЗБУД! У вас повинна вийти шкаралупа шкурки.

4) можливе завантаження із оболонки grub, але я вибрав завантаження з рятувального диска usb. У режимі порятунку я відкрив оболонку на своєму цільовому кореневому файлі fs (тобто логічному томі кореня lvm).

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

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

7) щоб мати змогу завантажуватися з другого диска, скопіюйте розділ EFI на цей другий диск: dd, якщо = / dev / sda1 of = / dev / sdb1 (змінити sda або sdb на те, що відповідає вашій конфігурації).

8) Перезавантажте. На екрані налаштувань UEFI встановіть два розділи EFI як завантажувальні та встановіть порядок завантаження.

Ви закінчили. Ви можете протестувати, від'єднати один або інший диск, він повинен працювати!


Дякуємо за детальну процедуру. Будь ласка, можете вказати свою завантажувальну інформацію? ( help.ubuntu.com/community/Boot-Info )
LovinBuntu

@LovinBuntu Ось вихід Boot-Info, розпочатий з ключа usb: paste.ubuntu.com/6223137
alci

Я отримав невдачу, але не зміг отримати оболонку.
Пітер Лоурі

4
Я щойно витрачав пару днів, намагаючись дотримуватися подібної процедури, в основному зважаючи на те, що я дурний, але про всяк випадок, якщо це могло б допомогти комусь іншому уникнути тієї самої проблеми, я згадаю, що вам потрібно переконатися в завантаженні живий USB, використовуючи UEFI, а не застарілий BIOS. (Мій МБ, на налаштуваннях "авто", вважав за краще завантажуватись у застарілому режимі. Мені довелося вимкнути його - або вручну вибрати для завантаження опцію EFI - щоб встановити роботу.)
Джонатан Ю.

1
Використовуючи Ubuntu 16.04.1, це вже не здається проблемою. Я встановив розділ 512 Мб EFI, SWAP і RAID-розділ на 490 Гб для RAID1, а на новому пристрої md я без проблем встановив сервер Ubuntu 16.04 повністю. Після перезавантаження система запустила нову систему бездоганно, не потрібно возитися з розділом EFI, fstab тощо
nerdoc

4

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

1) Створіть 128MB-розділи efi на початку (лише один з них змонтується, у / boot / efi)

2) Створіть 1 Гб / завантажувальний масив RAID1, не LVM

3) Створіть великий масив RAID1 за допомогою LVM

Наявність / завантаження на окремому розділі / масиві 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 власного логічного тома було, однак, приємним рішенням не допустити, щоб один VM / веб-сайт порушував інші через логи помилок поза контролем, наприклад ...

І остаточне зауваження, я встановив з Ubuntu Alternate Install USB з 12.04.01 (до того, як вийшов 12.04.02), і все працювало досить непогано. Після удару головою об нього протягом 72 годин.

Сподіваюся, що хтось допомагає!


1
grub2 обробляє завантаження lvm на md безпосередньо без / завантажувального розділу просто чудово, і має принаймні кілька років.
psusi

@psusi Я б хотів, щоб ти мав рацію, моя нова установка не завантажиться сама з другого диска. Всі LVM, на відміну від установки jhaagsma.
sjas

2

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

/ dev / sda

  • / dev / sda1 - розділ 200MB efi
  • / dev / sda2 - 20G фізичний для рейду
  • / dev / sda3 - 980G фізичні для рейду

/ dev / sdb

  • / dev / sdb1 - розділ 200MB efi
  • / dev / sdb2 - 20G фізичний для рейду
  • / dev / sdb3 - 980G фізичні для рейду

Поміняти на / dev / md0 (sda2 & sdb2) Root on / dev / md1 (sda3 & sdb3)

Якщо ви введете оболонку для рятування, завантажте, використовуючи:

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