Установка Ubuntu на рейд 1
Обновлено: 21.11.2024
Установка Ubuntu 20.04 с программным RAID 1
У меня возникли проблемы с поиском руководства/шагов по настройке программного RAID 1 в программе установки Ubuntu. Я наткнулся на сообщение в блоге, в котором шаги были написаны очень красиво, однако, поскольку оно было написано в виде комментария, я подумал, что люди могут не заметить его, когда они впервые просматривают результаты поиска. Я перечислю его шаги, а также скриншоты и немного больше информации.
Моя установка
Я буду тестировать свою установку KVM, однако все приведенные ниже шаги применимы так же, как если бы сервер был физическим сервером.
У меня есть два диска емкостью 200 ГБ. Я планирую настроить их на зеркале рейда1, у которого будет такая таблица разделов:
Конфигурация хранилища Ubuntu
После загрузки установщика DVD/ISO для Ubuntu 20.04.2 выполняйте его, пока не дойдете до раздела Управляемая настройка хранилища.
Выберите «Пользовательский макет хранилища» и выберите «Готово».
Если у вас есть какие-либо существующие разделы, удалите их сейчас, выделив Доступное устройство и выбрав Переформатировать.
Шаг 1. Настройте загрузочные диски
Выберите первый диск и выберите параметр «Использовать как загрузочное устройство». (см. ниже).
Использовать как загрузочный диск
Проделайте то же самое для второго диска, однако теперь в опции будет указано «Добавить как другое загрузочное устройство»
Теперь у вас будет создано два раздела bios_grub.
Обратите внимание, что у нас есть раздел bios_grub на каждом диске
Шаг 2. Создание загрузочных разделов
Этот шаг включает в себя создание физических разделов на наших дисках, однако ключевым моментом является сохранение их неформатированными.
Давайте продолжим и выберем ваш первый диск, а затем выберите опцию Добавить раздел GPT
Это будет наш загрузочный раздел, поэтому мы можем установить размер раздела только 1G. Убедитесь, что он не отформатирован. Нажмите Создать
Повторите описанные выше действия, начиная с шага 2, чтобы создать еще один раздел 1G на втором диске.
Теперь ваши диски/разделы должны выглядеть так.
Шаг 3. Создание разделов Swap и Root
Раздел подкачки на самом деле необязателен. Я предпочитаю использовать файл подкачки, так как он более гибок. В любом случае, вы решаете, правильно ли вам создать только корень или и корень, и своп. Шаги будут точно такими же.
Повторите действия шага 2, чтобы создать раздел подкачки и/или корневой раздел. Если вы создаете своп, сделайте это в первую очередь. Как правило, размер раздела подкачки должен соответствовать объему оперативной памяти.
Не забудьте оставить разделы неформатированными.
Когда вы доберетесь до корневого раздела, вы можете оставить размер пустым, чтобы использовать все оставшееся хранилище.
Ниже показано, что вы должны увидеть после создания разделов. Имейте в виду, если вы создали своп, то у вас будет 4 раздела вместо 3, как у меня.
Шаг 4. Создание многодисковых массивов
Наконец-то мы добрались до последнего шага. Идем дальше и выбираем Создать программный RAID (md)
Появится меню с предложением создать ваш первый мультидиск (md0). Давайте продолжим и выберем раздел 2 на каждом диске. Они оба должны быть 1G. Выберите Создать
Проделайте то же самое, чтобы создать дополнительные мультидиски для разделов подкачки и корневого раздела.
Теперь ваши разделы должны выглядеть так, как показано на рисунке ниже.
Шаг 5. Сопоставление /boot, /swap и / с нашими массивами рейдов
Последним шагом в настройке хранилища является выбор наших md-устройств из списка доступных устройств, их форматирование и сопоставление с местом назначения.
Давайте выберем md0 и добавим раздел GPT
Мы можем оставить размер пустым, чтобы использовать все доступное пространство. Я буду форматировать диски в ext4 и монтировать md0 в /boot
Выполните те же действия для форматирования разделов подкачки и корневого раздела.
Ваша окончательная таблица разделов будет выглядеть примерно так:
Теперь вы можете выбрать "Готово" в нижней части страницы, чтобы пройти оставшуюся часть установки.
Дополнительно
Ниже приведены некоторые дополнительные примечания, которые я решил записать, которые могут оказаться полезными или бесполезными.
Предупреждение: файловая система /boot не может использовать любой уровень softRAID, кроме 1, со стандартным загрузчиком Ubuntu. Если вы хотите использовать какой-либо другой уровень RAID для большинства задач, вам потребуется создать отдельные разделы и создать устройство RAID1 для /boot.
Внимание! Это приведет к удалению всех данных на жестких дисках.
<р>1. Выберите «Вручную» в качестве метода разделения<р>2. Выберите свой жесткий диск и согласитесь с «Создать новую пустую таблицу разделов на этом устройстве?»
<р>3. Выберите «СВОБОДНОЕ ПРОСТРАНСТВО» на 1-м диске, затем выберите «автоматически разбивать свободное пространство»
<р>4. Ubuntu создаст 2 раздела: / и подкачку, как показано ниже:
<р>5. В разделе / выберите «флаг загрузки» и установите для него значение «включено»
<р>6. Повторите шаги 2–5 для другого жесткого диска
- После создания разделов на главной странице "Разделение дисков" выберите "Настроить программный RAID"
- Выберите "Да".
- Выберите "Создать новый диск MD"
- Выберите тип RAID: RAID 0, RAID 1, RAID 5 или RAID 6.
- Количество устройств. Для RAID 0 и 1 требуется 2 диска. 3 для RAID 5 и 4 для RAID 6.
- Количество запасных устройств. Введите 0, если у вас нет запасного диска.
- выберите, какие разделы использовать..
- Повторите шаги с 3 по 7 для каждой пары созданных разделов.
- Для каждого устройства RAID необходимо указать файловую систему и точки подключения. По умолчанию для них установлено значение «не использовать».
- После этого нажмите "Готово".
Если ваш следующий жесткий диск не загрузится, просто установите Grub на другой диск:
- редактировать /etc/initramfs-tools/conf.d/mdadm
- замените "BOOT_DEGRADED=false" на "BOOT_DEGRADED=true"
- выключить сервер
- удалить данные о питании и кабеле вашего первого диска
- запустите сервер и проверьте, может ли он загружаться с поврежденного диска.
При условии, что RAID работает нормально, это можно исправить с помощью:
Для тех, кому нужен полный контроль над конфигурацией RAID, интерфейс командной строки mdadm предоставляет это.
Из этой информации видно, что доступными пользователями на этой машине являются "raid1, raid6, raid4 и raid5", что означает, что эта машина настроена на использование устройств RAID, сконфигурированных в конфигурации raid1, raid6, raid4 и raid5. .
Вы также можете видеть в трех примерах метаустройств, что есть два зеркальных метаустройства рейда 1. Это md0 и md5. Вы можете видеть, что md5 — это массив raid1, состоящий из диска /dev/sda, раздел 7, и /dev/sdb, раздел 7, содержащий 62685504 блока, причем 2 из 2 дисков доступны и оба синхронизированы.
То же самое можно сказать и о md0, только он меньше (это видно по параметру блоков) и состоит из /dev/sda1 и /dev/sdb1.
md6 отличается тем, что мы видим, что это массив рейда 5, распределенный по трем дискам. Это /dev/sdc1, /dev/sde1 и /dev/sdd1 с размером «чанка» 64 КБ или размером записи. Алгоритм 2 показывает, что это шаблон алгоритма записи, который представляет собой запись «с левого диска на правый диск» по всему массиву.Вы можете видеть, что все три диска присутствуют и синхронизированы.
Замените * на номер раздела.
Примечание. Вы можете добавлять, удалять диски или помечать их как неисправные, не останавливая массив.
<р>1. Чтобы остановить массив, введите:Где /dev/md0 — устройство массива.
<р>2. Чтобы удалить диск из массива:Где /dev/md0 — массив, а /dev/sda — неисправный диск.
<р>3. Добавьте диск в массив:Где /dev/md0 — это устройство массива, а /dev/sda — новый диск. Примечание. Это не то же самое, что "наращивание" массива!
<р>4. Запустить массив, чтобы заново собрать (запустить) ранее созданный массив:ddadm просканирует определенные массивы и начнет их сборку.
<р>5. Чтобы отслеживать состояние массива при его запуске:Ресурсы
Установка/Программное обеспечениеRAID (последним удаленным пользователем Matt 2015-09-12 06:06:22)
Материалы этой вики доступны по бесплатной лицензии, подробности см. в разделе Авторские права / Лицензия
Вы можете внести свой вклад в эту вики, подробности см. в Руководстве по вики
Создайте массив RAID1 (зеркальный) и установите на него Ubuntu 18.04.
Причина этого поста в том, что я не смог найти руководство по использованию mdadm в установщике сервера Ubuntu Live для создания раздела RAID1. После этого также нет руководств по последующей установке загрузчика GRUB на оба устройства с разделами GPT.
Установите Ubuntu с программным RAID (mdadm)
Для установки я использую установщик Live server для Ubuntu Server 18.04.3. У него меньше проблем с запуском через USB.
Проходите через программу установки, пока не дойдете до настройки файловой системы. На этом этапе выберите параметр «Вручную»:
Удалите все разделы на обоих дисках, которые вы будете использовать для RAID1:
Выберите устройство и нажмите Сделать загрузочным устройством .
Появится загрузочный раздел
Выберите то же устройство, что и раньше, и нажмите «Добавить раздел»:
Введите размер, который вы хотите использовать, и оставьте диск неформатированным. Я решил использовать весь диск. Обратите внимание на размер:
Выберите дополнительное устройство и нажмите «Добавить раздел»:
Введите тот же размер, который вы использовали для первого устройства, а также оставьте этот диск неформатированным.
Выберите параметр [ Создать программный RAID (md) ]
Выберите RAID1, а затем оба раздела, которые вы создали с помощью , и выберите [ Создать ], когда закончите:
Выберите новое устройство RAID md0 и выберите параметр «Формат»:
Установите формат ext4 и выберите монтирование в / :
Выберите [ Готово ] внизу, чтобы продолжить установку:
Если вы столкнетесь с какими-либо ошибками, установщик Live server не сможет «прощупать устройства» во время переустановки. Чтобы исправить это, следуйте этому руководству от DigitalOcean по сбросу существующих устройств RAID.
Создайте загрузочный раздел на дополнительном устройстве
Запустите lsblk, чтобы увидеть имеющиеся у вас разделы:
Вы можете видеть, что на вторичном устройстве ( sdb ) нет раздела размером 1 М, поскольку мы не создавали на нем загрузочное устройство. Запуск parted или fdisk также может подтвердить это. Вот разделенный вывод:
А вот вывод fdisk:
Инструмент, который мы будем использовать для этого исправления, называется gdisk, сокращение от GPT fdisk.
Запустите gdisk на основном устройстве, чтобы увидеть таблицу разделов:
Это говорит нам о двух важных деталях, которые нам понадобятся для создания того же раздела на дополнительном устройстве:
- Размер раздела GRUB – 1024 КиБ.
- Раздел GRUB имеет тип EF02
Запустите gdisk на дополнительном устройстве:
Введите следующее, чтобы создать новый раздел:
Это создает загрузочный раздел:
- устанавливает таблицу разделов на 2
- устанавливает начальный сектор в конец таблицы разделов 1 (пусто = по умолчанию)
- устанавливает последний сектор равным 1024 КиБ от начального сектора (как мы выяснили ранее)
- задает для GUID значение EF02, что является сокращением для загрузочного раздела BIOS
Наконец введите w и примите изменения, чтобы создать таблицу разделов с помощью gdisk:
Как заметил gdisk , вам нужно запустить partprobe или kpartx, чтобы ядро могло использовать новые таблицы разделов:
Установите GRUB на дополнительное устройство
Теперь, когда раздел создан, запустите grub-install, чтобы установить GRUB на дополнительное устройство:
Программный RAID долгое время был относительно простым в использовании, поскольку в основном он просто работал. При использовании UEFI все не так просто, поскольку вам нужен раздел EFI, который не может находиться на программном RAID.
Вы можете поместить раздел EFI в программный RAID, если поместите метаданные в конец раздела. Таким образом, начало раздела будет таким же, как и без RAID. Проблема с этим заключается в том, что что-то внешнее записывает в раздел, поскольку вы не можете быть уверены, какой диск имеет правильное состояние. Вот почему мы собираемся использовать другой подход.
Вместо того, чтобы размещать его на RAID, мы установим Ubuntu как обычно, а затем скопируем раздел EFI на второй диск. Затем мы позаботимся о том, чтобы любой из двух жестких дисков можно было отключить, не влияя на возможность запуска или загрузки. Мы собираемся использовать инструмент efibootmgr, чтобы убедиться, что оба диска находятся в списке загрузки.
Я также добавлю некоторую информацию о том, как обращаться с заменой дисков и обновлениями, влияющими на EFI.
Итак, приступим.
Установка Ubuntu 20.04 с RAID
Во-первых, давайте установим Ubuntu и станем на шаг ближе к нашей цели — RAID1. Когда вы попадете на экран конфигурации хранилища, выберите «Пользовательский макет хранилища» и выполните следующие действия:
- Переформатируйте оба диска, если они не пустые.
- Отметьте оба диска как загрузочные. Это создаст ESP (системный раздел EFI) на обоих дисках.
- Добавьте неформатированный раздел GPT на оба диска. Они должны быть одного размера. Мы собираемся использовать эти разделы для RAID, содержащего ОС.
- Создайте программный RAID(md), выбрав два раздела, которые вы только что создали для ОС.
- Поздравляем, теперь у вас есть новое устройство RAID. Давайте добавим в него хотя бы один раздел GPT.
- Необязательно: если вам нужна возможность подкачки, создайте раздел подкачки на устройстве RAID. Установите размер, равный размеру оперативной памяти, или половину, если у вас 64 ГБ или более.
- Создайте раздел для Ubuntu на устройстве RAID. Вы можете использовать оставшееся пространство, если хотите. Отформатируйте его как ext4 и смонтируйте в /.
После того как вы выполнили описанные выше шаги, это будет выглядеть так:
Как может выглядеть разбиение дисков при установке Ubuntu на программный рейд. Обратите внимание, что это без подкачки, у вас будет больше раздела, если вы решите использовать подкачку.
Сохраните изменения и продолжите установку.
Избегайте медленной загрузки
Убедитесь, что оба диска являются загрузочными
Поздравляем, теперь у вас есть избыточная установка! Вы можете проверить состояние RAID, выполнив следующее:
Если RAID завершил синхронизацию, вы сможете отключить или удалить один диск и отключить оставшийся жесткий диск.
Однако, хотя это и хорошо, есть одна потенциальная скрытая проблема. Если вы удалите один диск, вы не сможете загрузить систему. Итак, давайте удостоверимся, что ESP одинаков на обоих дисках, и что система попытается загрузиться с любого из жестких дисков, а не только с одного.Установщик Ubuntu должен был позаботиться об этом за вас, но не стесняйтесь проверить.
Сначала покажите UUID разделов:
Обратите внимание на UUID, принадлежащие первому разделу на обоих дисках. В данном случае это те, которые начинаются с 0577b983(sda1) и 98d444f0(sdb1).
Далее проверьте, какой диск вы используете в данный момент:
Как видите, в настоящее время мы используем sdb1, так что это работает. Скопируем его в sda1:
Теперь у нас есть работающий ESP на обоих дисках, поэтому следующим шагом будет убедиться, что оба ESP присутствуют в списке загрузки:
Вы должны увидеть две записи под названием Ubuntu. Убедитесь, что UUID совпадают с двумя, которые вы отметили ранее.
Если запись отсутствует, ее необходимо добавить.
Пример того, как добавить запись для UUID, начинающуюся с 0577b983(sda1), если она отсутствует:
Теперь вы сможете удалить любой из двух дисков и при этом загрузить систему.
Добавление нового диска после сбоя
Итак, диск вышел из строя, и вы заменили его новым. Как настроить?
Сначала найдите новый диск:
Возможно, он без каких-либо разделов. Убедитесь, что вы используете правильный диск. В моем случае это /dev/sdb , поэтому я хочу сделать резервную копию таблицы разделов из /dev/sda и записать ее в /dev/sdb .
Измените источник на существующий диск и место назначения на новый:
Создайте резервную копию на случай, если вы что-то перепутаете:
Создайте копию исходной таблицы разделов, а затем сгенерируйте новые UUID для нового диска:
Запустите синхронизацию рейда, замените X на правильный раздел (у меня это 2):
Теперь скопируйте ESP (замените X правильным разделом, у меня это 1):
Затем перечислите UUID текущего диска:
Затем покажите загрузочный список:
Запишите BootOrder на случай, если вы захотите его изменить.
Если какая-либо из записей Ubuntu указывает на несуществующий UUID, удалите ее (замените XXXX идентификатором из списка загрузки):
Если какой-либо из текущих UUID для раздела 1 на дисках отсутствует в списке загрузки, добавьте его (замените X на отсутствующий диск):
Читайте также: