За допомогою довідки, як встановити сервер Ubuntu з UEFI та RAID1 + LVM , RAID, налаштований у Ubuntu 18.04 , та підтримку RAID в установщику Ubuntu 18.04 Desktop? і Як позбутися "сканування файлових систем btrfs" при запуску? , Мені вдалося зібрати робочий HOWTO, використовуючи лише команди Linux.
Коротко
- Завантажте інсталятор альтернативного сервера.
- Встановіть з розділом вручну, EFI + RAID та LVM на RAID-розділі.
- Клоніруйте розділ EFI з встановленого розділу на інший диск.
- Встановіть другий розділ EFI у ланцюг завантаження UEFI.
- Щоб уникнути тривалого очікування під час завантаження, у випадку, коли диск порушився, видаліть
btrfsсценарії завантаження.
Детально
1. Завантажте інсталятор
2. Встановити з ручним розділенням
- Під час встановлення на
Partition disksкроці виберіть Manual.
- Якщо диски містять будь-які розділи, видаліть їх.
- Якщо на ваших накопичувачах є якісь логічні томи, виберіть
Configure the Logical Volume Manager.
- Вибирайте,
Delete logical volumeпоки всі томи не будуть видалені.
- Вибирайте,
Delete volume groupпоки всі групи гучності не будуть видалені.
- Якщо пристрій RAID присутній, виберіть
Configure software RAID.
- Вибирайте,
Delete MD deviceпоки всі пристрої MD не будуть видалені.
- Видаліть кожен розділ на фізичних дисках, вибравши їх і вибравши
Delete the partition.
- Створіть фізичні розділи
- На кожному диску, на початку диска створіть розділ 512 Мб (я бачив, як інші використовують 128 Мб) на початку диска. Використовуйте як :
EFI System Partition.
- На кожному диску створюйте другий розділ розміром "max", використовуйте як :
Physical Volume for RAID.
- Налаштувати RAID
- Виберіть
Configure software RAID.
- Виберіть
Create MD device, введіть RAID12 активні диски, 0 запасних дисків та виберіть пристрої /dev/sda2та /dev/sdb2пристрої.
- Налаштувати LVM
- Виберіть
Configure the Logical Volume Manager.
- Створіть групу гучності
vgна /dev/md0пристрої.
- Створіть логічні томи, напр
swap при 16G
root при 35G
tmp при 10G
var при 5G
home при 200G
- Установіть, як використовувати логічні розділи
- Для
swapрозділу виберіть Use as: swap.
- Для інших розділів, виберіть
Use as: ext4з належною точкою монтування ( /, /tmp, /var, /homeвідповідно).
- Виберіть
Finish partitioning and write changes to disk.
- Дозвольте інсталяційну програму закінчити та перезавантажити.
Якщо ви перевстановлюєтесь на диск, який раніше мав конфігурацію RAID, крок створення RAID вище може виявитися невдалим, і ви ніколи не отримаєте mdпристрій. У цьому випадку вам, можливо, доведеться створити USB-накопичувач Ubuntu Live, завантажившись у нього, запустіть, gparted щоб очистити всі таблиці розділів, перш ніж перезапустити цей HOWTO.
3. Огляньте систему
Перевірте, який розділ EFI встановлений. Швидше за все /dev/sda1.
кріплення | греп черевик
Перевірте статус RAID. Швидше за все, це синхронізація.
cat / proc / mdstat
4. Клоніруйте розділ EFI
Завантажений файл EFI повинен був бути встановлений на /dev/sda1. Оскільки цей розділ не відображається через систему RAID, нам потрібно його клонувати.
sudo dd if=/dev/sda1 of=/dev/sdb1
5. Вставте другий привід у завантажувальний ланцюг
Цей крок може не бути необхідним, оскільки якщо будь-який диск загине, система повинна завантажуватися з (однакових) розділів EFI. Однак видається доцільним забезпечити завантаження з будь-якого диска.
- Запустіть
efibootmgr -vі помітьте ім'я файлу для запису ubuntuзавантаження. На моїй установці це було \EFI\ubuntu\shimx64.efi.
- Біжи
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi. Залежно від вашої оболонки, вам, можливо, доведеться уникати нахилу від нахилу.
- Перевірте з ,
efibootmgr -vщо у вас є таке ж ім'я файлу для ubuntuі ubuntu2завантаження елементів , і що вони є першими двома у порядку завантаження.
- Тепер система повинна завантажуватися, навіть якщо один з дисків вийшов з ладу!
7. Зачекайте
Якщо ви хочете спробувати фізично видалити або вимкнути будь-який накопичувач, щоб перевірити вашу установку, спершу потрібно дочекатися завершення синхронізації RAID! Слідкуйте за ходом за допомогою. cat /proc/mdstatОднак, ви можете виконати крок 8 нижче під час очікування.
8. Видаліть BTRFS
Якщо один привід вийде з ладу (після завершення синхронізації), система все одно завантажиться. Однак послідовність завантаження витратить багато часу на пошуки файлових систем btrfs. Щоб зняти непотрібне очікування, запустіть
sudo apt-get purge btrfs-progs
Це слід видалити btrfs-progs, btrfs-toolsі ubuntu-server. Останній пакет - це лише мета-пакет, тому якщо для видалення не вказано більше пакунків, вам слід буде добре.
9. Встановіть версію робочого столу
Запустіть, sudo apt install ubuntu-desktopщоб встановити версію робочого столу. Після цього, ймовірно, синхронізація виконана, і ваша система налаштована і повинна пережити диск з ладу!
10. Оновіть розділ EFI після оновлення grub-efi-amd64
Після grub-efi-amd64оновлення пакета файли на розділі EFI (встановлений на /boot/efi) можуть змінюватися. У цьому випадку оновлення потрібно клонувати вручну до дзеркального розділу. На щастя, вам слід отримати попередження від менеджера оновлень, який grub-efi-amd64збирається оновити, тому вам не доведеться перевіряти після кожного оновлення.
10.1 Швидкий шлях дізнатися джерело клонування
Якщо ви не перезавантажилися після оновлення, використовуйте
mount | grep boot
щоб дізнатися, який розділ EFI змонтований. Цей розділ, як правило /dev/sdb1, повинен використовуватися як джерело клонування.
10.2 Дізнайтеся джерело клонування, параноїдальний шлях
Створіть точки монтажу та змонтуйте обидві секції:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
Знайдіть часову позначку найновішого файлу в кожному дереві
sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sdb1
Порівняйте часові позначки
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
Чи слід друкувати /dev/sdb1 is newest(найімовірніше) або /dev/sda1 is newest. Цей розділ слід використовувати як джерело клонування.
Демонтуйте розділи перед клонуванням, щоб уникнути невідповідності кешу / розділу.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Клон
Якщо /dev/sdb1було джерелом клонування:
sudo dd if=/dev/sdb1 of=/dev/sda1
Якщо /dev/sda1було джерелом клонування:
sudo dd if=/dev/sda1 of=/dev/sdb1
Готово!
11. Віртуальні машини
Якщо ви хочете спробувати це спершу у віртуальній машині, є деякі застереження: мабуть, NVRAM, що містить інформацію UEFI, запам'ятовується між перезавантаженнями, а не між циклами відключення-перезавантаження. У такому випадку ви можете опинитися на консолі оболонки UEFI. Наступні команди повинні завантажувати вас у вашу машину з /dev/sda1(використовувати FS1:для /dev/sdb1):
FS0:
\EFI\ubuntu\grubx64.efi
Перше рішення у верхній відповіді завантаження UEFI у virtualbox - Ubuntu 12.04 також може бути корисним.