Рейд массив — RAID (redundant array of inexpensive OR independent disks) — совокупность дисков сервера, работающих совместно и обеспечивающих избыточность по скорости записи/считывания информации или по надежности хранения данных. Для организации Raid mdadm является самым распространенным программным решением. Рассмотрим в mdadm создание массива raid 1, а также массива raid 5.
apt-get install mdadm
Утилита позволит объединить несколько устройств в одно логическое, в процессе установки будет предложено ввести адрес электронной почты на который утилита будет отправлять сообщения в случае если программный рейд выйдет из строя.
Создание raid массива 1 в mdadm
Создаем простейший RAID 1 для диска, не являющегося системным, создание более сложных конфигураций может потребовать больше времени, однако принципы те же.
В raid объединяем устройства /dev/sdb и /dev/sdc.
Начальные условия: второй диск новый и пустой, первый пустой, но на нем существует таблица разделов и партиция /dev/sdb1
Проверяем что устройство/dev/sdb не примонтировано, ожидаем пустой вывод команды
mount | grep sdb
Начинаем работу с ним
fdisk /dev/sdb
Выводим состояние диска
p
Удаляем существующую партицию
d
1
p
Добавляем партицию
n
Номер партиции
1
Настройки по умолчанию (при желании здесь можно задать сектора, которые будут использоваться для записи данных)
[enter]
[enter]
Сменим тип партиции
t
По умолчанию используется код 83 — Linux, сейчас выбираем fd-linux raid auto
Просматриваем внесенные изменения
p
Записываем их на диск
w
Добавляем новый диск и проделываем с ним аналогичные операции
fdisk /dev/sdc
p
n
p
1
[enter]
[enter]
t
fd-linux raid auto
w
Диск не форматируем
mdadm --create /dev/md0 --raid-devices=2 --level=1 /dev/sdb1 /dev/sdc1
/dev/md0 — имя логического девайса, который мы создаем
raid-devices — количество устройств в рейде
level — тип рейд массива
cat /proc/mdstat
Просматривая содержимое файла мы можем видеть прогресс в создании рейд массива
while sleep 5; do grep resync /proc/mdstat
Данный цикл будет выводить данные о процессе создания нового устройства до тех под пока процесс не завершится.
Убедимся в том, что устройство было создано успешно
ls -l -dev-md*
Теперь /dev/md0 выглядит для системы также как любое другое системное устройство, создадим на нем файловую систему
mkfs.ext4 /dev/md0
mkdir /mnt/raid1
mount /dev/md0 /mnt/raid1
Проверяем, что все получилось
df
Добавляем созданное устройство в автозагрузку
mcedit /etc/fstab
/dev/md0 /mnt/raid1 ext4 defaults defaults 0
Если в /etc/fstab (подробнее про fstab) были прописаны устройства, из которых создан программный рейд — убираем строки
Используя mdadm создадим программный RAID-5
При использовании рейда 5 байты данных разделяются между дисками (первый байт пишется на диск А, второй на B, третий байт на C, вся информация записанная на первые три диска записывается на D). Таким образом реализуется защита от выхода из строя не более, чем одного жесткого диска.
Потребуется новое устройство, которое создается тем же способом, что рассматривался ранее
fdisk /dev/sdd
mdadm --create /dev/md0 --raid-devices=3 --level=5 /dev/sdb1 /dev/sdc1 /dev/sdd1
Вновь форматируем, монтируем устройство и размещаем данные, также нужно добавить запись с именем raid устройства в /etc/fstab
Читайте подробнее про утилиту fdisk, которая использовалась для работы с системными устройствами в процессе настройки