- Записки IT специалиста
- Настройка программного RAID в процессе установки ОС
- Установка загрузчика на оставшиеся диски
- Настройка файла подкачки
- Устраняем ошибку «Alert! dev/disk/by-uuid . does not exist» при загрузке с поврежденного массива
- Дополнительные материалы:
- Soft raid linux debian
- Шаг 1
- Шаг 2
- Шаг 4
- Шаг 5
- Шаг 6
- Шаг 7
- Soft raid linux debian
- Install the mdadm package
- Create the RAID1 array
- Create filesystem (i.e. ext4) on RAID1 block device (md0)
- Add entry to /etc/fstab:
- Create the mdadm config file:
Записки IT специалиста
Новые версии операционных систем приносят нам не только новые возможности, но и новые ошибки, иногда в самых неожиданных местах. В новом выпуске Debian мы неожиданно столкнулись с некоторыми багами в реализации механизма программного RAID, который не позволял загрузить ОС при отказе одного из дисков массива. Это достаточно серьезный недочет, сводящий на нет основное достоинство RAID — отказоустойчивость. К счастью, этот недостаток несложно исправить самостоятельно и сегодня мы расскажем, как.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Несмотря на то, что вопросы настройки и администрирования программного RAID в Ubuntu уже рассматривались и данная инструкция полностью подходит для Debian, мы решили повториться и кратко описать полный процесс настройки, начиная от установки ОС и заканчивая исправлением ошибок. В тоже время в первой части статьи мы не будем давать некоторых пояснений и для получения подробной информации рекомендуем ознакомиться с предыдущими материалами.
Настройка программного RAID в процессе установки ОС
Мы не будем подробно рассматривать процесс установки, этот процесс подробно описан нами здесь, остановимся непосредственно на разметке дисков. Так как программный RAID создается на основе разделов, то диски необходимо предварительно разметить вручную, выбрав соответствующий пункт инсталлятора.
Затем выберем жесткий диск:
И разметим его необходимым образом:
При этом точки монтирования и тип файловой системы не имеют значения, главное — создать разделы необходимого размера. После чего данные действия следует повторить для оставшихся дисков. Учтите, что для успешной сборки программного RAID размеры разделов должны совпадать посекторно. Так как Linux отлично умеет работать с файлом подкачки соответствующий раздел можно не создавать, что несколько упростит разметку. Если нет каких-либо особых требований по разметке мы предпочитаем использовать один раздел на весь размер диска.
Затем переходим к Настройка программного RAID — Создать MD устройство и выбираем необходимый тип массива, в нашем случае RAID1 (зеркало).
Следующими шагами указываем количество активных (для зеркала — 2) и резервных (если необходимо) разделов, после чего выбираем их.
На этом действия по созданию MD-устройства следует закончить. Созданные ранее разделы теперь определяются как RAID и появился новый, ненастроенный раздел программного RAID устройства.
Вот его и следует настроить для использования. Указываем точку монтирования и тип файловой системы, так как в нашем случае раздел один, то точкой монтирования становится корень.
После чего продолжаем установку ОС привычным образом. В конце нас поджидает еще одна особенность: в отличие от Ubuntu, которая автоматически ставила загрузчик на все диски, Debian предлагает выбрать какой-то один диск. Вполне логично будет выбрать первый — sda, хотя принципиальной разницы нет, максимум — придется изменить в BIOS порядок загрузки.
На этом установка будет закончена, и вы должны успешно загрузиться в систему.
Установка загрузчика на оставшиеся диски
Не откладывая дело в долгий ящик установим загрузчик на оставшиеся диски, чтобы в случае отказа одного из них система смогла начать загрузку с другого диска и собрать RAID-массив, для этого с правами суперпользователя выполним команду:
Запустится псевдографический интерфейс утилиты, принимаем значения по умолчанию пока не появится экран с выбором дисковых устройств. Указываем все диски, входящие в массив, на MD-устройство устанавливать загрузчик не надо.
Настройка файла подкачки
По умолчанию Linux использует для подкачки специальный раздел, но может прекрасно использовать для этих целей файл, что неудивительно, если вспомнить, что в Linux системах всё есть файл.
Создадим в корне пустой файл с именем swap размером в 2ГБ:
dd if=/dev/zero of=/swap bs=1M count=2048
Отформатируем его как файл подкачки:
и добавим строку для автомонтирования в /etc/fstab
Перезагружаемся и убеждаемся, что swap работает:
Если все сделано правильно вы должны увидеть примерно следующее:
На этом наша статья должна была бы закончиться, если бы не одна ошибка. Но обо всем по порядку.
Устраняем ошибку «Alert! dev/disk/by-uuid . does not exist» при загрузке с поврежденного массива
Перед тем, как производить дальнейшую настройку и эксплуатацию системы на программном RAID проверим его на отказоустойчивость, для этого выключим систему и физически отключим один из дисков. Система должна выдать сообщение о поврежденном массиве и выполнить загрузку с исправного диска. Но мы неожиданно получили сообщение об ошибке: «Alert! dev/disk/by-uuid . does not exist»
При возврате диска система автоматически собирала массив и нормально загружалась. По сути это перечеркивало все, ради чего собирают отказоустойчивые массивы, а именно продолжение работы системы при выходе из строя одного диска. Мы изучили достаточно много различных рекомендаций в сети, разной степени бесполезности, а то и откровенно вредных, пока не нашли довольно внятного объяснения и рабочего решения.
Важно! Данная ошибка исправлена в Debian 8.3
Для исправления ошибки необходимо внести изменения в скрипт инициализации и обновить начальный образ. Так как вносимые изменения довольно объемные и затрагивают критически важные области системы мы предлагаем воспользоваться уже пропатченным скриптом с нашего сайта.
Перейдем в домашнюю директорию и скачаем архив со скриптом:
cd ~
wget "https://interface31.ru/tech_it/files/mdadm-path.tar.gz"
Сохраним на всякий случай оригинальный файл, переместив его в домашнюю директорию и добавив расширение bak.
mv /usr/share/initramfs-tools/scripts/local-top/mdadm ~/mdadm.bak
Теперь скопируем на его место исправленный файл:
cp ~/mdadm /usr/share/initramfs-tools/scripts/local-top/
Обновим образ начальной загрузки:
Перезагружаем систему и убеждаемся, что все работает, затем выключаем, убираем один диск и повторяем попытку загрузки. На этот раз она должна оказаться успешной.
Проверим состояние массива:
Как видим в строю остался только один диск — sdb, но система, как и положено, работает. Вернем диск на место и снова проверим состояние массива.
Несмотря на то, что второй диск исправен и доступен системе автоматической сборки массива не происходит и это правильно. Сборка и ресинхронизация поврежденного массива — потенциально опасная операция и должна всегда производиться в ручном режиме под контролем администратора.
Добавим отключенный ранее диск к массиву, обратите внимание, что подключается не сам диск, а раздел:
И снова проверим статус, диск должен добавиться и начнется ресинхронизация:
Таким образом, путем достаточно несложных манипуляций нам удалось устранить ошибку и добиться нормальной работы программного RAID в среде Debian 8. Данный пример хорошо иллюстрирует одно из достоинств открытого ПО: при наличии достаточной квалификации или помощи сообщества пользователь может сам вносить достаточно серьезные исправления в систему, не дожидаясь пока это сделает производитель.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Soft raid linux debian
На недорогом “железе” иногда может понадобиться развернуть Debian с более-менее отказоустойчивой конфигурацией. Если нет хорошего контроллера, но нужен RAID, в Debian (и других Linux дистрибутивах в принципе тоже) имеется возможность сконфигурировать программный RAID1. И в этой статье мы по шагам рассмотрим как установить Debian на Soft RAID.
Для начала нам понадобится два и более идентичных блочных устройств (дисков), в зависимости от массива, который мы хотим создать. Нам нужно всего два, так как мы делаем RAID1.
Шаг 1
Выполняем обычную установку Debian и доходим до разбивки дисков.
Шаг 2
Выбираем manual.
Создаем пустую таблицу разделов на каждом диске.
Шаг 4
Создаем раздел на первом диске
Выбираем physical volume for RAID в качестве типа раздела.
Делаем то же самое со вторым диском.
Шаг 5
Выбираем configure software RAID.
Отвечаем утвердительно, чтобы применить изменения.
Создем новое MD устройство
Выберем RAID1
У нас 2 устроства, оставляем, как есть
Запасных дисков нет, оставляем 0
Выбираем идентичные разделы (например md0 → [sda1, sdb1] и md1 → [sda2,sdb2]).
Шаг 6
Создадим root файловую систему на первом разделе.
Создадим swap пространство на втором разделе.
Выбираем finish partitioning and write changes to disk и подтверждаем создание RAID1.
Шаг 7
Продолжаем процесс установки и устанавливаем grub на жесткий диск.
По-умолчанию grub устанавливается только на один диск поэтому переключитесь на вторую (ALT + F2) или третюю (ALT + F3) консоль и выполните установку grub на второй диск перед перезагрузкой.
# chroot /target /bin/bash # grub-install /dev/sdb
Управление программным RAID1 в ОС осуществляется через утилиту mdadm.
Soft raid linux debian
The example below shows how to create a software RAID1 array on Debian systems. Disk partitions /dev/sda1 and /dev/sdc1 will be used as the members of the RAID array md0, which will be mounted on the /home partition.
Install the mdadm package
root@localhost:~# apt-get install mdadm
Create the RAID1 array
Create disk partitions with type 0xfd. Afterwards, do:
root@localhost:~# mdadm --zero-superblock /dev/sda /dev/sdc root@localhost:~# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdc1
If you have the two entire disks available, you can skip the partitioning. Just add the disk devices to the raid array (i.e. /dev/sda, /dev/sdc).
Create filesystem (i.e. ext4) on RAID1 block device (md0)
root@localhost:~# mkfs.ext4 /dev/md0
Add entry to /etc/fstab:
/dev/md0 /home ext4 noatime,rw 0 0
Create the mdadm config file:
root@localhost:~# mdadm --detail --scan /dev/md0 >> /etc/mdadm/mdadm.conf DEVICE /dev/sda1 /dev/sdc1 ARRAY /dev/md0 devices=/dev/sda1,/dev/sdc1 level=1 num-devices=2 auto=yes