Создаём RAID массив в Debian 12
Итак, пройдёмся по шагам и создадим RAID-1 в Debian 12.
Что имеем?
Имеем:
- Сервер с установленной ОС
Debian 12 BookwormИнформацияsmaks@linadm:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm - Конфигурация жёстких дисков в системе:
Здесь мы видим:Информация
smaks@linadm:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 254:0 0 10G 0 disk ├─vda1 254:1 0 1M 0 part └─vda2 254:2 0 10G 0 part / vdb 254:16 0 4G 0 disk vdc 254:32 0 4G 0 disk- диск
vdaразмером 10 Гб, с разделамиvda1иvda2- это диск на который установлена наша ОСDebian 12 Bookworm; - диски
vdbиvdc, размером по 4 Гб - не размечены, не имеют файловой системы и не смонтированы. На этих дисках мы как раз и будем создавать наш RAID-1 массив;
- диск
Установка mdadm
Для сборки и управления RAID массивами в Linux применяется утилита mdadm. Чаще всего она уже установлена в Debian, но может случится и так, что её не окажется в установочном образе, поэтому ниже приведу команду для её установки:
sudo apt install mdadmПодготовка дисков к включению их RAID
Если диски ранее использовались, на них могла остаться различная служебная информация, которая может помешать нам получить желаемый результат. Поэтому диски нужно очистить от этой информации:
- Очищаем суперблоки дисков
vdbиvdc:
sudo mdadm --zero-superblock --force /dev/vd{b,c}- Удаляем старые метаданные и подпись на дисках
vdbиvdc:
sudo wipefs --all --force /dev/vd{b,c}Всё, диски подготовлены - переходим к следующему шагу.
Собираем RAID-1
Для сборки RAID массива уровня 1, используем следующую команду:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/vdb /dev/vdcВ данной команде мы говорим утилите mdadm следующее:
--create- создать массив;--verbose- выводить подробную информацию при работе утилитыmdadm;/dev/md0- имя блочного устройства RAID которое появится после сборки массива;--level=1- уровень RAID массива. В нашем случае это массив уровня 1;--raid-devices=2- количество дисков включаемых в массив;/dev/vdb /dev/vdc- имена дисков включаемых в массив, которые мы определили выше, используя командуlsblk.
При выполнении этой команды в терминале мы получим примерно следующий вывод:
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 4189184K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.Здесь mdadm выводит нам различные предупреждения, просит подтвердить размер создаваемого массива, сообщает о том, что по дефолту применяются метаданные версии 1.2 и в последней строке сообщает, что наш RAID массив с именем /dev/md0 успешно запущен.
Проверим, что теперь нам покажет команда lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 254:0 0 10G 0 disk
├─vda1 254:1 0 1M 0 part
└─vda2 254:2 0 10G 0 part /
vdb 254:16 0 4G 0 disk
└─md0 9:0 0 4G 0 raid1
vdc 254:32 0 4G 0 disk
└─md0 9:0 0 4G 0 raid1Видим, что собранный RAID-1, размером 4Гб из дисков vdb и vdc успешно создан и отображается в выводе команды.
Создаём файл mdadm.conf
Для правильной работы mdadm необходимо создать файл конфигурации mdadm.conf, для чего необходимо выполнить следующую команду:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.confВывод терминала при выполнении данной команды будет иметь следующий вид:
smaks@linadm:~$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=linadm:0 UUID=cc471c0d:f31f0921:06ae381c:c788c429Создаём файловую систему на нашем RAID массиве
Перед созданием файловой системы на разделе RAID ОБЯЗАТЕЛЬНО! дождитесь полного окончания синхронизации дисков включенных в RAID массив!!!
Если вывод команды имеет приблизительно вид приведённый ниже - синхронизация дисков не закончена и необходимо дождаться её полного окончания!!!
smaks@linadm:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vdb[0] vdc[1]
4189184 blocks super 1.2 [2/2] [UU]
[===>.................] check = 19.4% (813568/4189184) finish=2.5min speed=22030K/sec
unused devices: <none>По окончании синхронизации дисков вывод команды cat /proc/mdstat будет примерно таким:
smaks@linadm:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vdb[0] vdc[1]
4189184 blocks super 1.2 [2/2] [UU]
unused devices: <none>Для создания файловой системы ext4 на полученном RAID массиве /dev/md0 выполним команду:
sudo mkfs.ext4 /dev/md0Автоматическое монтирование полученного RAID массива
Для автоматического монтирования созданного нами RAID массива при загрузке операционной системы, нам необходимо добавить данные о нём в файл /etc/fstab, для чего выполним следующие действия:
- Создадим каталог в который будем монтировать раздел созданный на RAID массиве
sudo mkdir -p /mnt/raid1- Выполним команду
sudo blkid | grep md0, вот её вывод:
smaks@linadm:~$ sudo blkid | grep md0 /dev/md0: UUID="000968b7-4a6a-4cc8-a385-361e5926a4b9" BLOCK_SIZE="4096" TYPE="ext4"Из вывода команды нам понадобиться это значениеUUID="000968b7-4a6a-4cc8-a385-361e5926a4b9"; - Сформируем строку для вставки в файл
/etc/fstab:
/dev/disk/by-uuid/000968b7-4a6a-4cc8-a385-361e5926a4b9 /mnt/raid1 ext4 defaults 0 2Разберёмся что здесь и для чего:
/dev/disk/by-uuid/000968b7-4a6a-4cc8-a385-361e5926a4b9- параметр определяющий поUUIDмонтируемое, блочное устройство. Значение000968b7-4a6a-4cc8-a385-361e5926a4b9мы получили на предыдущем шаге, с помощью команды:sudo blkid | grep md0;/mnt/raid1- директория куда монтируется наше блочное устройство;ext4- тип файловой системы раздела созданного на блочном устройстве RAID/dev/md0;defaults- указывает на то, что при монтировании используются опции монтирования по умолчанию, а именно: rw, suid, dev, exec, auto, nouser, async;0- указывает нужно ли делать резервную копию раздела. В данном случае нет.2- указывает в какой очереди нужно проверять устройство на ошибки,1- в первую очередь,2- вторую,0- не проверять;
- Добавляем полученную в пункте 3 строку в файл /etc/fstab, для чего воспользуемся любым текстовым редактором. В данном случае, я использую текстовый редактор
nano:
sudo nano /etc/fstabФайл будет иметь примерно следующий вид:

/etc/fstab полученную вами строку, обязательно перед сохранением изменений в файл, переведите курсор на следующую строку как это показано на скриншоте выше!Обновляем информацию initramfs
Для того чтобы операционная система знала о массиве на раннем этапе загрузки, нужно обновить информацию для initramfs, выполнив команду:
sudo update-initramfs -uЗаключение
Всё, на данном этапе RAID массив уровня 1, с файловой системой ext4 создан, автоматически, при загрузке операционной системы будет монтироваться в каталог /mnt/raid1 и полностью готов к использованию!
Посмотреть краткое состояние RAID массива можно с помощью команды:
cat /proc/mdstatВот её вывод:
smaks@linadm:~$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 vdc[1] vdb[0]
4189184 blocks super 1.2 [2/2] [UU]
unused devices: <none>В предпоследней строке мы видим 2 секции параметров “здоровья” RAID массива: [2/2] [UU], которые означают соответственно: что в RAID массиве используются два диска из двух и что они оба в порядке.
