2.1.7.5.4 Создание программного массива уровня RAID 10
Подготовка к созданию RAID-массива
Создание RAID-массива
Создание автоматического монтирования RAID
Замена неисправного диска при сбое, добавление запасного диска
Удаление диска из массива
Расширение массива
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Стандартная
Подготовка к созданию RAID-массива
В инструкции рассмотрено создание программного RAID-массива из 4 дисков, размером в 1 ГБ. Это минимально возможное количество дисков, которое требуется для создания RAID-массива уровня 10. Массив показывает высокую производительность и высокую надежность. Однако, как в случае и с RAID 1, эффективность использования дискового пространства составляет 50%.
Для выполнения дальнейших действий требуется перейти в сеанс пользователя root:
su -
Для просмотра текущей информации об устройствах хранения выполните команду:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─ro_vbox-root 253:0 0 27G 0 lvm / └─ro_vbox-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk sdc 8:32 0 1G 0 disk sdd 8:48 0 1G 0 disk sde 8:64 0 1G 0 disk
Здесь sdb, sdc, sdd и sde — диски, из которых будет собран программный RAID 10.
Убедитесь, что на подключенных дисках отсутствуют метаданных типа RAID. Это можно сделать командой:
mdadm -E /dev/sd[b-e] mdadm: No md superblock detected on /dev/sdb. mdadm: No md superblock detected on /dev/sdc. mdadm: No md superblock detected on /dev/sdd. mdadm: No md superblock detected on /dev/sde.
mdadm — специальная утилита для управления программными RAID-массивами. В РЕД ОС предустановлена по умолчанию. В выводе команды отобразится сообщение «No md superblock detected», означающее, что признаки RAID на дисках отсутствуют.
Предварительно создайте на каждом диске раздел с помощью утилиты fdisk:
fdisk /dev/sdb Добро пожаловать в fdisk (util-linux 2.37.3). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Устройство не содержит стандартной таблицы разделов. Создана новая метка DOS с идентификатором 0x5a8fe547. Команда (m для справки): n Тип раздела p основной (0 primary, 0 extended, 4 free) e расширенный (контейнер для логических разделов) Выберите (по умолчанию - p):p Номер раздела (1-4, default 1): 1 Первый сектор (2048-2097151, default 2048): <нажмите_Enter> Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): <нажмите_Enter> Создан новый раздел 1 с типом 'Linux' и размером 1023 MiB. Команда (m для справки): t Выбранный раздел 1 Hex code or alias (type L to list all): fd Тип раздела 'Linux' изменен на 'Linux raid autodetect'. Команда (m для справки): w Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
В консоли fdisk выберите:
- Создание раздела (
n); - Тип раздела primary (
p); - Номер раздела (
1); - Начальный и конечный блоки (Enter);
- Для изменения типа раздела (
t); - Шестнадцатеричный код раздела (
fd); - Применение изменений и выход (
w).
Подобные действия повторите и для остальных дисков: /dev/sdс, /dev/sdd, /dev/sde.
Создание RAID-массива
Для создания программного RAID-массива в РЕД ОС используется утилита mdadm.
mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
где:
/dev/md0— имя устройства RAID;--level=10— уровень RAID;--raid-devices=4— количество дисков, участвующих в сборке массива;/dev/sd[b-e]1— имена дисков, участвующих в сборке массива.
Проверьте состояние созданного RAID-массива:
cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sde1[3] sdd1[2] sdc1[1] sdb1[0]
2091008 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
Подробную информацию о созданном RAID-массиве можно посмотреть с помощью команды:
mdadm -D /dev/md0
Создание автоматического монтирования RAID
Создайте файловую систему ext4 на RAID-устройстве /dev/md0 и смонтируйте массив в каталог /mnt/raid10/.
mkfs.ext4 /dev/md0 mkdir /mnt/raid10 mount /dev/md0 /mnt/raid10 ls -l /mnt/raid10/
Для автоматического подключения RAID добавьте запись в конец файла /etc/fstab, для этого в терминале выполните команду:
echo "/dev/md0 /mnt/raid10 ext4 defaults 0 0" >> /etc/fstab
Сохраните конфигурацию RAID, чтобы во время загрузки системы происходило ее считывание.
mdadm --detail --scan --verbose >> /etc/mdadm.conf
Команда lsblk покажет, что тип дисков изменился на RAID10:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─ro_vbox-root 253:0 0 27G 0 lvm / └─ro_vbox-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk └─sdb1 8:17 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdc 8:32 0 1G 0 disk └─sdc1 8:33 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdd 8:48 0 1G 0 disk └─sdd1 8:49 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sde 8:64 0 1G 0 disk └─sde1 8:65 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10
Замена неисправного диска при сбое, добавление запасного диска
В RAID-массиве уровня 10 имеется возможность добавления запасного диска для быстрой замены при выходе из строя одного из основных устройств хранения.
В данном примере RAID-массив включает диски /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─ro_vbox-root 253:0 0 27G 0 lvm / └─ro_vbox-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk sdc 8:32 0 1G 0 disk └─sdc1 8:33 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdd 8:48 0 1G 0 disk └─sdd1 8:49 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sde 8:64 0 1G 0 disk └─sde1 8:65 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdf 8:80 0 1G 0 disk └─sdf1 8:81 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10
В примере диск /dev/sdс будет выведен из строя, а для его замены будет подключен новый диск /dev/sdb.
Проверьте присутствие на диске метаданных RAID с помощью утилиты mdadm:
mdadm -E /dev/sdb mdadm: No md superblock detected on /dev/sdb.
Сообщение в выводе команды означает, что признаки RAID на диске отсутствуют.
Создайте на диске раздел с помощью утилиты fdisk:
fdisk /dev/sdb Добро пожаловать в fdisk (util-linux 2.37.3). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Устройство не содержит стандартной таблицы разделов. Создана новая метка DOS с идентификатором 0xd46f94f5. Команда (m для справки): n Тип раздела p основной (0 primary, 0 extended, 4 free) e расширенный (контейнер для логических разделов) Выберите (по умолчанию - p):p Номер раздела (1-4, default 1): 1 Первый сектор (2048-2097151, default 2048): <нажмите_Enter> Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): <нажмите_Enter> Создан новый раздел 1 с типом 'Linux' и размером 1023 MiB. Команда (m для справки): t Выбранный раздел 1 Hex code or alias (type L to list all): fd Тип раздела 'Linux' изменен на 'Linux raid autodetect'. Команда (m для справки): w Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
Далее убедитесь, что на разделе отсутствует суперблок RAID, после чего добавьте его в массив в качестве запасного диска:
mdadm --examine /dev/sdb1 mdadm: No md superblock detected on /dev/sdb1. mdadm --add /dev/md0 /dev/sdb1 mdadm: added /dev/sdb1
Для отображения детальной информации о созданном RAID-массиве выполните:
mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Feb 16 11:17:08 2026
Raid Level : raid10
Array Size : 2091008 (2042.00 MiB 2141.19 MB)
Used Dev Size : 1045504 (1021.00 MiB 1070.60 MB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Mon Feb 16 12:00:43 2026
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : a43b97fc:b6b4ce31:8dc32ab8:24b069c2
Events : 18
Number Major Minor RaidDevice State
0 8 81 0 active sync set-A /dev/sdf1
1 8 33 1 active sync set-B /dev/sdc1
2 8 49 2 active sync set-A /dev/sdd1
3 8 65 3 active sync set-B /dev/sde1
4 8 17 - spare /dev/sdb1
Пометьте диск /dev/sdc1 в массиве /dev/md0 как сбойный и проверьте статус:
mdadm --manage --fail /dev/md0 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
mdadm --detail /dev/md0
cat /proc/mdstat
/dev/md0:
Version : 1.2
Creation Time : Mon Feb 16 11:17:08 2026
Raid Level : raid10
Array Size : 2091008 (2042.00 MiB 2141.19 MB)
Used Dev Size : 1045504 (1021.00 MiB 1070.60 MB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Mon Feb 16 12:07:39 2026
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : a43b97fc:b6b4ce31:8dc32ab8:24b069c2
Events : 37
Number Major Minor RaidDevice State
0 8 81 0 active sync set-A /dev/sdf1
4 8 17 1 active sync set-B /dev/sdb1
2 8 49 2 active sync set-A /dev/sdd1
3 8 65 3 active sync set-B /dev/sde1
1 8 33 - faulty /dev/sdc1
После завершения процесса синхронизации статус будет изменен на [UU]. Для дисков большого размера процесс синхронизации может занять длительное время.
Удаление диска из массива
Утилита mdadm с ключом --remove удалит из массива указанный команде диск. Удалите диск /dev/sdc1 из /dev/md0, который ранее был помечен как сбойный и проверьте статус:
mdadm --remove /dev/md0 /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md0
cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sdb1[4] sdf1[3] sde1[2] sdd1[1]
2091008 blocks super 1/2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
Расширение массива
Проверьте отображение нового подключенного диска (/dev/sdg) с помощью команды:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─ro_vbox-root 253:0 0 27G 0 lvm / └─ro_vbox-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk └─sdb1 8:17 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdc 8:32 0 1G 0 disk └─sdc1 8:33 0 1023M 0 part sdd 8:48 0 1G 0 disk └─sdd1 8:49 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sde 8:64 0 1G 0 disk └─sde1 8:65 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdf 8:80 0 1G 0 disk └─sdf1 8:81 0 1023M 0 part └─md0 9:0 0 2G 0 raid10 /mnt/raid10 sdg 8:96 0 1G 0 disk
Затем добавьте диск в массив, увеличьте размер массива и проверьте статус RAID следующими командами:
mdadm --add /dev/md0 /dev/sdg1 mdadm --grow --raid-devices=5 /dev/md0 mdadm --detail /dev/md0 cat /proc/mdstat
Сохраните конфигурацию RAID в /etc/mdadm.conf командой:
mdadm --detail --scan >> /etc/mdadm.conf
Дата последнего изменения: 02.03.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.