Меню Рубрики

Установка debian на soft raid

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Особенности настройки программного RA >

  • Автор: Уваров А.С.
  • 17.11.2015

Новые версии операционных систем приносят нам не только новые возможности, но и новые ошибки, иногда в самых неожиданных местах. В новом выпуске Debian мы неожиданно столкнулись с некоторыми багами в реализации механизма программного RAID, который не позволял загрузить ОС при отказе одного из дисков массива. Это достаточно серьезный недочет, сводящий на нет основное достоинство RAID — отказоустойчивость. К счастью, этот недостаток несложно исправить самостоятельно и сегодня мы расскажем, как.

Несмотря на то, что вопросы настройки и администрирования программного RAID в Ubuntu уже рассматривались и данная инструкция полностью подходит для Debian, мы решили повториться и кратко описать полный процесс настройки, начиная от установки ОС и заканчивая исправлением ошибок. В тоже время в первой части статьи мы не будем давать некоторых пояснений и для получения подробной информации рекомендуем ознакомиться с предыдущими материалами.

Настройка программного RAID в процессе установки ОС

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

Затем выберем жесткий диск:

И разметим его необходимым образом:

При этом точки монтирования и тип файловой системы не имеют значения, главное — создать разделы необходимого размера. После чего данные действия следует повторить для оставшихся дисков. Учтите, что для успешной сборки программного RAID размеры разделов должны совпадать посекторно. Так как Linux отлично умеет работать с файлом подкачки соответствующий раздел можно не создавать, что несколько упростит разметку. Если нет каких-либо особых требований по разметке мы предпочитаем использовать один раздел на весь размер диска.

Затем переходим к Настройка программного RAID — Создать MD устройство и выбираем необходимый тип массива, в нашем случае RAID1 (зеркало).

Следующими шагами указываем количество активных (для зеркала — 2) и резервных (если необходимо) разделов, после чего выбираем их.

На этом действия по созданию MD-устройства следует закончить. Созданные ранее разделы теперь определяются как RAID и появился новый, ненастроенный раздел программного RAID устройства.

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

После чего продолжаем установку ОС привычным образом. В конце нас поджидает еще одна особенность: в отличие от Ubuntu, которая автоматически ставила загрузчик на все диски, Debian предлагает выбрать какой-то один диск. Вполне логично будет выбрать первый — sda, хотя принципиальной разницы нет, максимум — придется изменить в BIOS порядок загрузки.

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

Установка загрузчика на оставшиеся диски

Не откладывая дело в долгий ящик установим загрузчик на оставшиеся диски, чтобы в случае отказа одного из них система смогла начать загрузку с другого диска и собрать RAID-массив, для этого с правами суперпользователя выполним команду:

Запустится псевдографический интерфейс утилиты, принимаем значения по умолчанию пока не появится экран с выбором дисковых устройств. Указываем все диски, входящие в массив, на MD-устройство устанавливать загрузчик не надо.

Настройка файла подкачки

По умолчанию Linux использует для подкачки специальный раздел, но может прекрасно использовать для этих целей файл, что неудивительно, если вспомнить, что в Linux системах всё есть файл.

Создадим в корне пустой файл с именем swap размером в 2ГБ:

Отформатируем его как файл подкачки:

и добавим строку для автомонтирования в /etc/fstab

Перезагружаемся и убеждаемся, что swap работает:

Если все сделано правильно вы должны увидеть примерно следующее:

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

Устраняем ошибку «Alert! dev/disk/by-uuid . does not exist» при загрузке с поврежденного массива

Перед тем, как производить дальнейшую настройку и эксплуатацию системы на программном RAID проверим его на отказоустойчивость, для этого выключим систему и физически отключим один из дисков. Система должна выдать сообщение о поврежденном массиве и выполнить загрузку с исправного диска. Но мы неожиданно получили сообщение об ошибке: «Alert! dev/disk/by-uuid . does not exist»

Читайте также:  Установка по тяжелой атлетике

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

Важно! Данная ошибка исправлена в Debian 8.3

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

Перейдем в домашнюю директорию и скачаем архив со скриптом:

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

Теперь скопируем на его место исправленный файл:

Обновим образ начальной загрузки:

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

Проверим состояние массива:

Как видим в строю остался только один диск — sdb, но система, как и положено, работает. Вернем диск на место и снова проверим состояние массива.

Несмотря на то, что второй диск исправен и доступен системе автоматической сборки массива не происходит и это правильно. Сборка и ресинхронизация поврежденного массива — потенциально опасная операция и должна всегда производиться в ручном режиме под контролем администратора.

Добавим отключенный ранее диск к массиву, обратите внимание, что подключается не сам диск, а раздел:

И снова проверим статус, диск должен добавиться и начнется ресинхронизация:

Таким образом, путем достаточно несложных манипуляций нам удалось устранить ошибку и добиться нормальной работы программного RAID в среде Debian 8. Данный пример хорошо иллюстрирует одно из достоинств открытого ПО: при наличии достаточной квалификации или помощи сообщества пользователь может сам вносить достаточно серьезные исправления в систему, не дожидаясь пока это сделает производитель.

источник

Установка debian на soft raid

Имеем два жестких диска одинакового объема. Задача — создать RAID1-массив:

Создание программного RAID1

Самый простой и безопасный способ создания программного RAID-массива — этап установки операционной системы. Проиллюстрируем это на следующем примере..

Итак имеем два не размеченных жестких диска одинакового объема:

Создаем первый раздел – который будет использоваться для swap. В разделе Использовать как выбирам физический том для RAID:

Второй раздел – /boot. В разделе Использовать как выбирам физический том для RAID, так как раздел загрузочный, в опции метка ‘загрузочный’ выбираем вкл:

Третий раздел – /. В разделе Использовать как выбираем Физический том для RAID.

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

Далее выбираем Настройка программного RAID:

На вопрос отвечаем утвердительно:

После этого создаем три составных раздела md0, md1,md2 (md- multidisk), которые и будут swap, /boot, /. Для этого выбираем Создать MD устройство:

Выбираем RAID1:

Следующие два параметра по-умолчанию:

Выбираем соответствующие разделы на первом и втором винчестере для создания составного раздела md0- раздела подкачки:

Завершаем создание раздела md0:

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

В итоге мы получаем следующее:

Выбираем Raid1 Устройство #0Использовать какраздел подкачки:

RAID1 Устройство #1Использовать какжурналируемая файловая система ext4.

Точка монтирования ► /boot:

Raid1 Устройство #2Использовать какжурналируемая файловая система ext4.

Читайте также:  Установка грязезащитные заглушки проема рулевых тяг

Точка монтирования ► /

В процессе дальнейшей установки можно проверить как идет синхронизация жестких дисков (сочетание клавиш Alt-F2):

Установка загрузчика GRUB2 на второй жесткий диск

После окончания установки операционной системы необходимо установить загрузчик (на примере GRUB2) на второй жесткий диск, т.к. по-умолчанию он устанавливается только на первый диск (в нашем случае /dev/sda):

Подправим конфигурационный файл grub для возможности загрузки со второго жесткого диска (раскомментируем строку «GRUB_TERMINAL=console»):

источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настраиваем программный RA >

  • Автор: Уваров А.С.
  • 13.08.2019

Программный RAID в Linux на основе MD-устройств успел отлично зарекомендовать себя в работе и пользуется заслуженной популярностью у администраторов, сочетая надежность и простоту создания и управления. Но со все более широким распространением UEFI-систем приходится сталкиваться с некоторыми особенностями. Многие, если есть такая возможность, переключают настройки в режим совместимости, но это неправильно, UEFI — это стандарт для современных устройств и поэтому надо учиться работе с ним.

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

Скажем больше, мы не видим никаких преимуществ у встроенных и недорогих контроллеров перед программной реализацией, особенно на простых массивах, не требующих сложных вычислений (RAID 1 и 10). А учитывая всю гибкость mdadm, программный RAID по многим параметрам будет выглядеть гораздо привлекательнее.

Конфигурация разделов Linux с UEFI

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

EFI — он же ESP (EFI system partition) — специальный раздел с файловой системой FAT который содержит загрузчик, вызываемый микропрограммой UEFI, должен находиться в основной таблице разделов и не может располагаться в программных RAID-массивах, томах LVM или пулах ZFS. Данный раздел должен располагаться на каждом диске, с которого предусматривается загрузка.

Linux RAID — специальные разделы, из которых собирается программный RAID, в нашем случае используется один массив md0, располагающийся на двух дисках. Данные разделы имеют специальные заголовки, что позволяет даже при подключении к другой системе правильно определить их тип и собрать массив заново.

Swap — раздел подкачки, используется как механизм виртуальной памяти, а также для организации режима сна (в настольных системах). Некоторые современные системы не используют раздел подкачки (Ubuntu) используя для этой цели специальный файл в корневом разделе. Swap можно объединить в программный RAID, но смысла в этом немного, более того, при использовании отдельных swap-разделов системе будет доступен вдвое больший объем для подкачки.

Некоторые особенности Ubuntu Server 18.04

Начиная с версии 18.04 Ubuntu Server по умолчанию предлагается с новым инсталлятором Subiquity, который очень просто отличить по обновленному внешнему виду:

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

Также легко можно отличить дистрибутивы по наименованию, образ с Subiquity содержит в наименовании слово live (ubuntu-18.04.3-live-server-amd64.iso).

Создание программного RAID при установке системы

Все дальнейшие действия мы будем производить на системе Debian 10, однако все сказанное будет справедливо для любой основанной на Debian системе, а с некоторыми поправками и для любого дистрибутива Linux.

Прежде всего создадим в начале каждого диска системный раздел EFI размером в 499 МБ (по умолчанию Debian и Ubuntu используют близкие к этому размеры разделов).

Читайте также:  Установка производства водорода паровым риформингом

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

В итоге каждый диск содержит три раздела: ESP, будущие разделы Linux RAID и разделы подкачки. Порядок следования разделов и размер разделов для RAID должны быть одинаковы на обоих дисках. После того, как первоначальная разметка выполнена соберем программный RAID 1 из разделов для данных, в нашем случае sda2 и sdb2:

Теперь разметим созданный массив, создав там корневой раздел. Помните, что один программный массив Linux (md-устройство) может содержать только один раздел, если вам нужно несколько разделов, то потребуется создать несколько массивов.

Далее продолжаем установку в обычном режиме, программный RAID-массив создан, а к загрузчику мы вернемся после завершения этого процесса.

Настройка загрузчика EFI и его копирование на второй раздел

Перед тем как настраивать загрузчик нам потребуется получить некоторые данные, в частности идентификаторы (UUID) разделов, их можно получить командой:

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

Они разные, в то время как UUID RAID-разделов совпадают. Чтобы понять, что это означает и какие может иметь последствия откроем /etc/fstab:

Как видим, разделы монтируются по идентификаторам и в случае выхода из строя первого диска вы не сможете загрузиться со второго, так как система не сможет смонтировать EFI-раздел. В некоторых источниках советуют изменить строку монтирования, используя вместо UUID явное указание устройства, например, /dev/sda1. Да, если мы отключим первый диск, то второй превратится в sda и система загрузится, но если диск выйдет из строя, физически определяясь в системе или на его месте будет новый диск без разметки, то такой фокус не сработает.

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

Для работы с разделами FAT32 нам потребуется установить дополнительные утилиты:

Где 2396BE56 — идентификатор первого EFI-раздела (/dev/sda1), его следует указывать в одну строку без пробелов и тире, а /dev/sdb1 — второй EFI раздел.

Теперь получим список текущих загрузочных записей EFI:

Здесь нас интересует запись под номером 5 — debian, которая отвечает за загрузку системы и указывает на первый жесткий диск. Запомните или запишите путь к EFI-образу для загрузки системы: \EFI\debian\shimx64.efi.

Создадим аналогичную запись для второго диска:

Немного поясним назначение ключей команды:

  • -c (—create) создать новую запись
  • -d (—disk) диск, на котором находится системный раздел EFI
  • -p (—part) номер раздела EFI
  • -L (—label) метка(наименование) для загрузочной записи
  • -l (—loader) путь образа EFI для загрузки

Так как наш EFI-раздел располагается в /dev/sdb1, то в опциях -d и -p указываем /dev/sdb и 1 соответственно, а в качестве пути указываем данные из первой загрузочной записи, которые мы получили на предыдущем шаге. Обратите внимание, что при указании пути к образу EFI используется обратный слеш.

Еще раз убедимся, что запись выполнена правильно:

Обе строки должны отличаться только меткой и GUID раздела (уникальный GPT-идентификатор, который позволяет микропрограмме UEFI найти нужный раздел).

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

Ключ -b (—bootnum) указывает на номер записи, а -B ( —delete-bootnum) предписывает удалить ее.

Последним шагом скопируем содержимое загрузочного раздела с первого диска на второй, для этого смонтируем второй EFI-раздел:

И скопируем на него содержимое первого EFI-раздела:

После чего отмонтируем раздел:

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

источник

Добавить комментарий

Adblock
detector