Установка ubuntu на raid 1

Обновлено: 04.07.2024

Доброго времени суток всем. Столкнулся с проблемой при установке Ubuntu на SuperServer 1028R-WTRT. В принципе уже найдено два рабочих решения, но хочется спросить совета community - как все же правильнее и оптимальнее. Имеется платформа SuperServer 1028R-WTRT с MB X10DRW-iT. Задача - настроить RAID1 (mirror) используя встроенный C610/X99 series chipset sSATA контроллер в RAID MODE, либо софтовый RAID в самой Ubuntu (mdadm). Проблема заключается в следующем, если использовать авторазметку диска и в том и в другом случае, получаем либо черный экран с курсором после установки, либо выпадение в grub / grub rescue в зависимости от варианта установки. Что-то подобное уже было описано здесь - Как запустить Ubuntu Server c Supermicro Intel Raid 10? .

Путем различных экспериментов было найдено два рабочих решения:

1. Создаем RAID1 массив средствами контроллера:

2. Используем загрузку в UEFI. При установке Ubuntu RAID видится как отдельное устройство:

3. Размечаем устройство вручную, создавая один раздел ext4 с точкой монтирования / . Т.е. без ESP и swap разделов.

После этого все успешно загружается. Если дать установщику разметить устройство самостоятельно, т.е. с созданием ESP, ext4 (/) и swap - то после reboot'а получаем мигающий курсор, так как описано здесь. Решение не размещать swap на RAID подсмотрено там. Представленный вариант рабочий, но хочется услышать мнение All, жизнеспособна ли такая конфигурация без swap'а на боевом сервере? Или все-таки стоит создать потом swap в виде файла подкачки в уже работающей системе? На сервере 96 Gb RAM.

С софтовым RAID в Ubuntu пришлось поковыряться. Пробовались различные варианты загрузки и в UEFI, и с Legacy BIOS. В основном проблема сводится к невозможности установить GRUB на этапе установки, или опять же с невозможностью загрузки с получившегося RAID'а:

5aae39619266d328640298.jpg

Правдами и неправдами при софтовом RAID'е был найден следующий вариант разметки (проверялось на UEFI):

5aae399ee9948357392991.jpg

Т.е. вначале размечаем оба диска как обычно, с созданием ESP, ext4 (/) и swap. Все это происходит через несколько перезагрузок, затем меняем тип раздела ext4 (/) на linux-raid на обоих дисках. Затем создаем из двух разделов linux-raid софтварный RAID и в нем уже ext4 (/) раздел. После этого и grub устанавливается нормально и нормально происходит загрузка с одного диска (для того чтобы грузилось и со второго - понятно что надо просто ESP склонить на другой диск). Вариант рабочий, но опять же кажется не особенно правильным.

В одной заметке я описывал как установить Ubuntu на ею же создаваемый в процессе установки RAID. То дело описывалось для классического инсталлятора и для Legacy системы. Однако на дворе уже давно властвуют UEFI системы. А может и не властвуют. Главное, что надо знать сейчас, так это то, что мы будем ставить Ubuntu на софтовый RAID в UEFI режиме.

Требований немного и они стандартны

  • Ubuntu 20 или 18
  • Система, на которую ставится Ubuntu, работает в UEFI режиме
  • Есть несколько дисков, на которых будет стоять система

После запуска установщика и выбора языка установки может появиться предложение обновить установщик. Соглашаемся.

Дойдя до шага разметки дисков, останавливаемся и выбираем настраиваемый вариант:


Выбираем один из дисков и делаем его загрузочным


Выбираем другой диск и делаем на нём резервный загрузочный раздел


Так повторяем с каждым диском в будущей группе RAID.

В итоге должна получится такая картина:


Таким образом сейчас мы создали два загрузочных диска, один из которых содержит главный EFI раздел с загрузчиком, и дополнительный с тем же самым загрузчиком, который при порче основного возьмёт управление загрузкой на себя

Теперь подготовим разделы для RAID-группы

Для каждого диска создаём новый GPT раздел.


В системах UEFI про MBR никто не хочет слышать

Делаем как на рисунке: выделяем весь диск под раздел, и не форматируем его.


Так проделываем с каждым диском, добавляя пустой GPT-раздел. Он-то и будет служить основой для RAID-устройства.


Создали пустые разделы. Теперь создаём RAID-устройство

В диалоге создания указываем имя устройства и выбираем те пустые разделы, что создали на предыдущем шаге.


Помимо Active состояния диска, можно выбрать и Spare, чтобы держать диск в резерве

После создания RAID-устройства, выбираем его и создаём на нём GPT раздел.


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


Создадим, например, корневой раздел

Повторяем то же самое, создав домашний раздел и растянув его на весь остальной объём. Для этого оставляем поле ввода размера пустым, что логично.

Должна получиться вот такая картина: наверху логическая структура файловой системы, ниже неиспользуемые устройства (должно быть пустым, если все шаги были сделаны верно), и внизу используемые устройства с картой разметки. Как видно, на каждом есть EFI раздел и раздел для RAID. На самом устройстве RAID показаны созданные разделы.


Итоговая картина разметки дисков

На этом этапе разметка дисков закончена, можно нажать Done и продолжать ставить систему.

После загрузки структура разделов будет примерно такой:

Как выяснилось, ставить Ubuntu 20 или Ubuntu 18 в режиме UEFI на RAID оказалось не так сложно.

Сложнее будет при отказе диска и восстановлении загрузки.

И для того, чтобы система при отказе диска грузилась с уцелевшего, сделаем совсем немного. По советам с одного хорошего сайта:

Теперь скопируем содержимое активного загрузочного раздела на резервный, примонтировав резервный

И отмонтируем резервный раздел

Повторять копирование для каждого раздела на каждом диске в массиве.

Теперь при пропаже основного диска (и загрузочной записи с него) система загрузится с резервного.

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

Запустим gdisk и создадим два раздела: 512 МБ для EFI раздела, и всё остальное для RAID.

Вводим n, задаём размер в 512 МБ, указываем тип раздела как ef00

Создаём второй раздел. Снова вводим n, ставим всё по-умолчанию, указываем тип раздела как fd00.

Записываем изменения нажатием клавиши w.

Добавляем в массив новый раздел

Начинаем процесс синхронизации

Пока идёт синхронизация, повторим шаги с копированием метки EFI раздела и его содержимого.

Следуйте инструкциям по установке пока вы не достигните этапа разметки дисков, затем:

Выберите метод разметки Вручную.

Выберите первый жесткий диск и согласитесь «Создать новую пустую таблицу разделов на этом устройстве?».

Повторите этот шаг для каждого диска, который вы собираетесь включить в RAID массив.

Выберите «СВОБОДНОЕ МЕСТО» на первом носителе и выберите «Создать новый раздел».

Далее, выберите размер раздела. Этот раздел будет разделом подкачки, а общее правило для определения размера раздела подкачки – двойной объем RAM. Введите размер, далее выберите «Первичный», затем «Начало».

Двойной размер раздела подкачки по отношению к оперативной памяти (RAM) не всегда желателен, особенно на системах с большим объемом RAM. Расчет размера раздела подкачки в значительной степени зависит от того, как будет использоваться система.

Выберите строку «Использовать как:» вверху. По умолчанию там установлено «Журналируемая файловая система Ext4», измените ее на «физический том для RAID » затем выберите «Настройка раздела закончена».

Для раздела / снова выберите «СВОБОДНОЕ МЕСТО» на первом носителе и нажмите «Создать новый раздел».

Используйте оставшееся свободное на носителе место и выберите «Далее», а затем «Первичный».

Так же как и для раздела подкачки выберите строку «Использовать как:» вверху и измените ее на «физический том для RAID ». Также поставьте отметку на строке «Загрузочный флаг:». После этого выберите «Настройка раздела закончена».

Повторите шаги с третьего по восьмой для всех остальных дисков и разделов.

Настройка RAID

С разметкой разделов массив готов к настройке:

Вернитесь на основную страницу «Разметка дисков», выберите «Настройка программного RAID » сверху.

Выберите «да» для записи изменений на диск.

Выберите «Создать MD устройство».

Для этого примера выберите «RAID1», но если вы используете другую конфигурацию выберите соответствующий тип (RAID0 RAID1 RAID5).

Для использования RAID5 нужно по крайней мере три диска. Использование RAID0 или RAID1 потребует лишь двух дисков.

Введите количество активных устройств равное «2», или же количество жестких дисков которые у вас выделены под массив. После этого нажмите «Далее».

Далее, введите число резервных устройств «0» по умолчанию, после чего нажмите «Далее».

Выберите используемые разделы. Как правило это будут sda1, sdb1, sdc1, и т.д. Цифры обычно совпадают, а разные буквы соответствуют разным жестким дискам.

Для раздела подкачки выберите sda1 и sdb1. Нажмите «Далее» для перехода к следующему шагу.

Повторите шаги с третьего по седьмой для раздела /, выбрав sda2 и sdb2.

По окончании выберите «Завершить».

Форматирование

Выберите «Использовать как:». Далее выберите «раздел подкачки», затем «Настройка раздела выполнена».

Выберите «Использовать как:». Далее выберите «Журналируемая файловая система Ext4».

Затем выберите «Точка подключения:» и выберите «/ – корневая файловая система». Измените все необходимые опции и выберите «Настройка раздела выполнена».

Ну и наконец, выберите «Завершить разметку и записать изменения на диск».

Далее процесс установки продолжится как обычно.

Поврежденный RAID

В определенный момент работы компьютера вы можете столкнуться с отказом диска. Когда это случится, при использовании программного RAID , операционная система переведет массив в режим пониженной работоспособности (degraded state).

Если массив поврежден, в связи с возможностью потери данных, по-умолчанию Ubuntu Server Edition запустит начальный загрузчик через 30 секунд. Как только загрузчик стартует, появится предупреждение на 50 секунд с выбором либо продолжить и загрузить систему, либо сделать попытку восстановления вручную. Запуск загрузчика с предупреждением может быть как желательным, так и нет, особенно если это удаленный компьютер. Загрузка с поврежденным массивом может быть настроена по-разному:

Утилита dpkg-reconfigure может быть использована для настройки желательного варианта по-умолчанию и в процессе у вас будет возможность задать дополнительные настройки, связанные с массивом. Таких, как слежение, почтовые предупреждения и пр. Для перенастройки mdadm введите следующее:

Команда sudo dpkg-reconfigure mdadm изменит конфигурационный файл /etc/initramfs-tools/conf.d/mdadm. У этого файла есть возможность предварительной настройки желаемого поведения системы и он может быть отредактирован вручную:

Конфигурационный файл может быть проигнорирован при использовании параметров ядра

Использование параметра ядра также позволит загрузиться системе с поврежденным массивом:

Когда сервер стартует, нажмите Shift для выхода в меню GRUB. Добавьте «bootdegraded=true» (без кавычек) в конец строки.

Как только система загружена вы можете как восстановить массив (см. Обслуживание RAID), так и скопировать важные данные на другую машину в случае сильных повреждений устройства.

Обслуживание RAID

Утилита mdadm может быть использована для просмотра статуса массива, добавления дисков в массив, удаления дисков и пр.:

Для просмотра статуса массива введите в терминале:

Опция -D говорит mdadm выводить детальную информацию об устройстве /dev/md0. Замените /dev/md0 на соответствующее RAID устройство.

Для просмотра статуса диска в массиве:

Вывод очень похож на команду mdadm -D относительно /dev/sda1 для каждого диска.

Если диск вышел из строя и должен быть удален:

Замените /dev/md0 и /dev/sda1 на необходимые RAID устройство и диск.

Подобным образом добавить диск:

Иногда диск может перейти в неработоспособное состояние даже когда нет никаких повреждений устройства. Обычно достаточно удалить устройство из массива и затем повторно его добавить. В этом случае диск повторно синхронизируется с массивом. Если диск не синхронизируется с массивом, это означает действительное повреждение устройства.

Файл /proc/mdstat также содержит полезную информацию по RAID устройствам в системе:

Следующая команда лучше всего подходит для просмотра статуса синхронизации устройства:

Нажмите Ctrl-c для окончания просмотра.

Если вам действительно потребовалось заменить поврежденный диск, после его замены и синхронизации будет необходимо установить grub. Для установки grub на новое устройство введите следующее:

Замените /dev/md0 на имя соответствующего устройства.

Ссылки

Менеджер логических томов (LVM)

Менеджер логических томов, или LVM, позволяет администраторам создавать логические тома на одном и нескольких жестких дисках. LVM тома могут быть созданы как на разделах программного RAID , так и на стандартных разделах единичного диска. Тома также могут расширяться, предоставляя большую гибкость системам по изменению предоставляемых ресурсов.

Обзор

Побочным эффектом от мощи и гибкости LVM является большая степень сложности. Перед тем, как погружаться в установочный процесс LVM, было бы неплохо ознакомиться с некоторыми терминами.

Физический том (Physical Volume - PV): физический жесткий диск, раздел диска или раздел программного RAID , отформатированный как LVM PV.

Группа томов (Volume Group - VG): строится из одного или нескольких физических томов. VG могут быть расширены добавлением PV. VG похожи на виртуальные дисковые устройства, которые можно разделять на логические тома.

Логический том (Logical Volume - LV): аналогичен разделу на диске без использования LVM. LV отформатированный в желаемую файловую систему (EXT3, XFS, JFS и др.) доступен для монтирования и хранения данных.

Установка

Пример в данной секции показывает установку Ubuntu Server Edition с монтированием /srv на том LVM. В процессе начальной установки только один физический том (PV) может стать частью группы томов (VG). Другой PV будет добавлен после установки для демонстрации как VG может быть расширен.

Существует несколько вариантов установки LVM, «Управляемый - использовать весь диск и настроить LVM» который также позволит вам выделить часть доступного пространства под LVM, «Управляемый - использовать целиком и настроить шифрованный LVM» или установить и настроить LVM вручную. На данный момент единственный вариант настроить систему с использованием как LVM, так и стандартных разделов в процессе установки - это использование ручной настройки.

Пройдите по шагам установки пока не дойдете до шага разбивки дисков на разделы, затем:

На экране «Дисковые разделы» выберите «Вручную».

Выделите жесткий диск и на следующем экране подтвердите «да» на «Создать новую таблицу разделов устройства».

Далее создайте стандартные разделы для /boot, swap, и «/» с той файловой системой, которую вы предпочитаете.

Для размещения /srv на LVM, создайте новый логический раздел. Затем замените «Использовать как» на «физический том LVM» после чего нажмите «Настройка разделов завершена».

Теперь выделите «Настроить менеджер логических томов» вверху и выберите «Да» для сохранения изменений на диск.

В качестве «Действия по настройке LVM» на следующем экране выберите «Создать группу томов». Введите имя для VG типа vg01 или что-то более наглядное. После ввода имени выберите раздел, выделенный под LVM, и нажмите «Далее».

Вернитесь на экран «Действие по настройке LVM», выберите «Создать логический том». Выделите недавно созданную группу томов и введите имя для LV, например, srv, раз уж она предназначена для этой точки монтирования. Затем выберите размер, который может быть на весь раздел, поскольку его всегда можно будет расширить позднее. Нажмите «Завершить» и вы вернетесь обратно на основную страницу «Дисковые разделы».

Теперь добавьте файловую систему для нового LVM. Выделите раздел под названием «LVM VG vg01, LV srv» или тем именем, которое вы выбрали и нажмите «Использовать как». Настройте файловую систему как обычно, выбрав /srv в качестве точки монтирования. По окончании нажмите «Выполнить настройку разделов».

Наконец нажмите «Завершить разбиение и сохранить изменения на диск». Затем подтвердите изменения и продолжите обычную установку.

Есть несколько полезных утилит для просмотра информации по LVM:

pvdisplay: показывает информацию по физическим томам.

vgdisplay: показывает информацию по группам томов.

lvdisplay: показывает информацию по логическим томам.

Расширение групп томов

Продолжая с srv как примером тома LVM, в данной секции рассматривается добавление второго жесткого диска, создание физического тома (PV), добавление его в группу томов (VG), расширение логического тома srv и в конце расширение файловой системы. Этот пример подразумевает, что в систему был добавлен второй жесткий диск. В данном примере этот жесткий диск получит имя /dev/sdb и мы будем использовать весь диск под физический том (вы можете выбрать создание разделов и использовать их как другие физические тома).

Убедитесь, что у вас нет уже /dev/sdb перед тем, как выполнять приведенные ниже команды. Вы можете потерять некоторые данные если выполните эти команды на использующемся диске.

Сначала создадим физический том, выполнив в терминале:

Теперь расширим группу томов (VG):

Используйте vgdisplay для поиска свободных физических экстентов (PE) - Free PE / size (размер, который вы можете занять). Предположим, что свободно 511 PE (эквивалентно 2ГБ при размере PE в 4МБ) и мы используем все доступное свободное место. Используйте ваши собственные PE и/или свободное место.

Логический том (LV) теперь может быть увеличен различными методами, мы будем рассматривать только как использовать PE для расширения LV:

Опция -l позволяет расширять LV используя PE. Опция -L позволит задавать увеличение LV в МБ, ГБ, ТБ и т.п.

Даже если вы считаете, что можете увеличить ext3 или ext4 файловую систему без предварительного отключения, будет хорошей практикой в любом случае отмонтировать ее и проверить на целостность, что позволит избежать суматошного дня по уменьшению логического тома (в этом случае ее придется отключить обязательно).

Следующая команда только для файловой системы ext3 или ext4. Если вы используете другую файловую систему, возможно придется использовать другие утилиты.

Опция -f для e2fsck заставляет принудительно сделать проверку на целостность системы.

В этой статье рассказывается о том, как сконфигурировать программный RAID массив с помощью мастера установки и настройки Ubuntu Server на примере RAID 1 (зеркало).

Во время установки системы в разделе Guided storage configuration необходимо выбрать пункт Custom storage layout


Попадаем в раздел Storage configuration. Здесь у нас отображаются 2 наших жёстких диска


Жмём на первый и выбираем пункт Use As Boot Device


Также жмём на второй и выбираем пункт Add As Another Boot Device



Затем снова жмём на первый и выбираем пункт Add GPT Partition


Создаём раздел диска 256M для /boot, но оставим его неформатированным



Эти же действия проделаем и со вторым диском


Теперь переходим в пункт Create software RAID (md) и здесь настроим MD диск md0. В устройствах выберем partition 2 на обоих жёстких дисках, и режим у них должен быть active.


Таким же образом создадим диск md1 для partition 3 и md2 для partition 4 и на выходе получим связанные разделы software RAID 1


Далее жмём на md0 (new) и выбираем пункт Add GPT Partition


выбираем формат ext4 и Mount /boot


Таким же образом сделаем для md1 (new) с форматом swap и md2 (new) с форматом ext4 и Mount / (корень).

Таким образом мы объединили разделы жётских дисков в массив RAID 1 (зеркало)


Затем жмём Готово


и подтверждаем изменения, нажав Продолжить


После этого продолжаем установку системы как обычно.

Когда установка системы завершится и машина перезагрузится, запустим команду:

Читайте также: