- Программный RAID в Linux с помощью mdadm
- Установка утилиты управления программным RAID — mdadm
- Создание RAID из 2-х дисков
- Создание файловой системы на RAID, монтирование
- Просмотр состояния, проверка целостности RAID массива
- Восстановление RAID при сбое, замена диска
- Добавление и удаление дисков в RAID массив на Linux
- Добавление Hot-Spare диска в RAID массив
- Удаление массива
- Mdmonitor: Мониторинг состояния RAID и email оповещения
- RAID массив в состоянии inactive
- RAID 5 с LVM под Linux и как с него восстанавливать информацию
- Размечаем физические диски, создаем LV RAID группу.
- Создаем программный LVM RAID 5
- Проверяем статус LVM RAID
Программный RAID в Linux с помощью mdadm
mdadm – утилита для работы с программными RAID-массивами в Linux. В статье мы рассмотрим, как работать с утилитой mdadm (multiple disks admin) для создания массива, добавления дисков, управления дисками, добавление hot-spare и много другой полезной информации.
Установка утилиты управления программным RAID — mdadm
Чтобы установить утилиту mdadm, запустите команду установки:
- Для Centos/Red Hat используется yum/dnf: yum install mdadm
- Для Ubuntu/Debian: apt-get install mdadm
В резульатте в системе будет установлена сама утилита mdadm и необходимые библиотеки:
Создание RAID из 2-х дисков
У меня на сервере установлены два дополнительных диска и я хочу содать на низ програмное зеркало (RAID1). Диски пустые, данные на них не писались. Для начала, нужно занулить все суперблоки на дисках, которые мы будем добавлять в RAID-массив:
# mdadm —zero-superblock —force /dev/vd
У меня два есть два чистых диска vdb и vdc.
Данный листинг означает, что ни один из дисков ранее не был добавлен в массив.
Чтобы собрать программный RAID1 из двух дисков в устройстве /dev/md0, используйтк команду:
# mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/vd
Где «-l 1» — это тип массива, в нашем случае RAID1
А «-n 2«- это количество дисков, которое добавляется в массив.
# mdadm —create —verbose /dev/md0 —level=0 —raid-devices=2 /dev/vdb /dev/vdc
RAID 5 из трех или более дисков:
# mdadm —create —verbose /dev/md0 —level=5 —raid-devices=3 /dev/vdb /dev/ vdс /dev/vdd
После запуска команды, нужно подтвердить действия и массив будет создан:
Теперь при просмотре информации о дисках, мы видим наш массив:
Создание файловой системы на RAID, монтирование
Чтобы создать файловую систему ext4 на нашем RAID1 массиве из двух дисков, используйте команду:
Создадим директорию backup и примонтируем к ней RAID устройство:
# mkdir /backup
# mount /dev/md0 /backup/
Массив смонтировался без ошибок. Чтобы не монтировать устройство каждый раз вручную, внесем изменения в fstab:
Просмотр состояния, проверка целостности RAID массива
Чтобы проверить целостность данных в массиве, используйте команду:
#echo ‘check’ > /sys/block/md0/md/sync_action
После чего, нужно посмотреть вывод файла:
Если в результате вы получаете 0, то с вашим массивом все в порядке:
Чтобы остановить проверку, используйте команду:
#echo ‘idle’ > /sys/block/md0/md/sync_action
Чтобы проверить состояние всех RAID -массивов доступны на сервере, используйте команду:
В листинге команды, видим информацию о нашем ранее созданном raid.
Более подробную информацию о конкретном raid-массиве, можно посмотреть командой:
Разберем основные пункты листинга команды:
- Version – версия метаданных;
- Creation Time – дата и время создания raid-массива;
- Raid Level – уровень raid-массива;
- Array Size – объем дискового пространства для raid-массива;
- Used Dev Size – используемый объем для устройств;
- Raid Device – количество дисков в raid-массиве;
- Total Devices – количество добавленных в raid-массив дисков;
- State – текущее состояние (clean – все ОК);
- Active Devices — количество активных дисков в raid-массиве;
- Working Devises — количество рабочих дисков в raid-массиве;
- Failed Devices – количество устройств со сбоями в raid-массиве;
- Spare Devices – количество запасных дисков в raid-массиве;
- Consistency Policy — параметр задающий тип синхронизации после сбоя в raid-массиве, rsync— полная синхронизация после восстановления raid-массива (доступны режимы bitmap, journal, ppl);
- UUID – идентификатор raid-массива
Краткую информацию можно посмотреть с помощью утилиты fdisk:
Восстановление RAID при сбое, замена диска
Если у вас вышел из строя или повредился один из дисков в RAID-массиве, его можно заменить другим. Для начала определим, поврежден ли диск и какой диск нам следует менять.
Из листинга команды, вы видим, что только один диск активен. Так же о проблеме говорит [U_]. Когда оба диска рабочие, вывод будет [UU].
Подробная информация о RAID-массиве также показывает, что естт проблемы:
State : clean, degraded – данная строка указывает на то, что диск в raid-массиве поврежден.
В нашем случае нужно заменить неисправный диск /dev/vdc. Для восстановления массива, нужно удалить нерабочий диск и добавить новый.
Удаляем неиспраный диск:
# mdadm /dev/md0 —remove /dev/vdc
Добавляем в массив новый диск :
# mdadm /dev/md0 —add /dev/vdd
Восстановление диска запустится автоматически после добавления нового диска:
rebuild Status : 69% complete — показывает текущее состояние восстановления массива.
spare rebuilding /dev/vdd — показывает какой диск добавляется к массиву.
После восстановления массива, листинг по дискам выглядит так:
Добавление и удаление дисков в RAID массив на Linux
Чтобы разобрать ранее созданный массив, нужно отмонтировать его :
И выполнить команду:
После разбора массива, он не должен определяться как устройство:
Чтобы собрать массив, который мы ранее разобрали вручную, запустите команду:
# mdadm —assemble —scan
Данная команда просканирует диски из разобранного или развалившегося RAID массива и по метаданным попробует собрать из них RAID.
Если вам нужно удалить рабочий диск из массива и заменить его на другой, нужно для начала пометить рабочий диск как нерабочий:
# mdadm /dev/md0 —fail /dev/vdc
После чего диск можно будет удалить командой::
# mdadm /dev/md0 —remove /dev/vdc
Добавляется новый диск, так же как и в случае с нерабочим диском:
# mdadm /dev/md0 —add /dev/vdd
Добавление Hot-Spare диска в RAID массив
Вы можете добавит в массив hot-spare диск для горячей замены при выходе из строя одного из активных дисков. Добавьте свободный диск в нужный массив:
# mdadm /dev/md0 —add /dev/vdc
После чего проверив статус raid-массива, мы увидим данный диск как spare:
Чтобы проверить, сработает ли «горячая замена» диска, пометим любой из дисков как нерабочий и проверим статус raid-массива:
# mdadm /dev/md0 —fail /dev/vdb
После чего при проверке статуса массива, будет видно, что началась пересборка массива:
Диск /dev/vdb помечен как нерабочий, а hot-spare диск стал одним из активных дисков RAID и запустился процесс восстановления.
Чтобы добавить дополнительный рабочий диск в RAID, нужно выполнить два шага.
Добавить пустой диск массиву:
# mdadm /dev/md0 —add /dev/vdb
Теперь данный диск будет отображаться как hot-spare, чтобы сделать его рабочим, расширим raid-массив:
# mdadm -G /dev/md0 —raid-devices=3
После чего запустится процесс пересборки массива:
После выполнения пересборки, все диски стали активны:
Удаление массива
Если вы хотите безвозвратно удалить raid-массив, используйте следующую схему:
# umount /backup – отмонтируем массив от директории
# mdadm -S /dev/md0 — останавливаем RAID устройство
После чего очищаем все суперблоки на дисках, из которых он был собран:
# mdadm —zero-superblock /dev/vdb
# mdadm —zero-superblock /dev/vdc
Mdmonitor: Мониторинг состояния RAID и email оповещения
Для мониторинга состояния RAID массива можно использовать службу mdmonitor. Сначала нужно создать файл /etc/mdadm.conf с конфигурацией текущего массива:
# mdadm –detail –scan > /etc/mdadm.conf
В конце файла /etc/mdadm.conf добавьте email адрес администратора, на который нужно слать оповещения о проблемах с RAID:
Останолось перезапустить службу mdmonitor через systemctl:
# systemctl restart mdmonitor
После этого система будет оповещать вас по email об ошибках в mdadm и неисправных дисках.
RAID массив в состоянии inactive
При сбоях оборудования или аварийного выключения по питанию, массив может перейти в состояние inactive. Все диски помечаются как неактивные, но ошибок на дисках нет.
В этом случае нужно остановить массив командой:
# mdadm —stop /dev/md0
И пересобрать его:
# mdadm —assemble —scan –force
Если массив прописан в /etc/fstab, нужно перемонтировать его командой:
Утилита mdadm упрощает работу с raid-массивами в Linux. В данной статье я описал основные моменты работы с данной утилитой, а также затронул самые частые вопросы, которые возникают при работе с raid-массивами через утилиту mdadm.
Источник
RAID 5 с LVM под Linux и как с него восстанавливать информацию
В данном руководстве мы рассмотрим способ создания в ОС Linux программного LVM RAID. А также представим простое решение, позволяющее вернуть утраченную информации с LV RAID 5 после случайного удаления или непредвиденной неисправности накопителей.
«LVM» (означает Менеджер логических томов) это функция ОС Linux, благодаря которой можно объединить несколько разделов одного или нескольких накопителей в единый непрерывный логический раздел (том). А «LVM RAID» – это отдельный метод сбора «LV» раздела, который объединяет несколько физических носителей, но они получают дополнительную защиту данных как «RAID» массив.
Драйвера DM будут использоваться для управления физическими устройствами LVM, а драйвера MD — для размещения информации на носителях. LVM управляет скрытыми логическими томами (DM), которые находятся между видимыми разделами (LV) и носителями.
В нашем случае, мы будем создавать «RAID 5». Чем он отличается от других типов массивов, вы узнаете посмотрев этот видеоурок.
Размечаем физические диски, создаем LV RAID группу.
В терминале Linux вводим команду: lvcreate, и создаем LV RAID.
Если в системе не установлен компонент LVM, то прописываем команду: sudo apt install lvm2.
Все команды нужно выполнять от имени «root», поэтому вводим: sudo -i, чтобы не вводить пароль «root» постоянно.
Теперь разметка дисков через стандартную дисковую утилиту Linux, выбираем тип ФС и форматируем.
Или выполняем через терминал: fdisk /dev/sdb.
- n – создает новый раздел,
- p – устанавливает для раздела значение «основной»,
- 1 – присваивает номер.
Дважды жмем «Ввод», соглашаясь со значением первого и последнего секторов.
Далее, нужно задать настройки LVM. Каждый в своей строке применяем атрибуты:
- t – запускает процесс по изменению типа нового раздела,
- 8e – устанавливает значение LVM.
Убедимся, что новый раздел имеет нужный тип. Наберите в командной строке атрибут «p». Система обработает запрос и представит в табличной форме итоговые сведения. Искомое устройство будет маркировано значением «sdb1» с типом системы «Linux LVM». Потом записываем установленные изменения, используя атрибут «w». Теперь повторите для каждого диска, который будет входить в LVM.
Далее вводим: pvcreate /dev/sdb1.
Повторяем команду для каждого диска, заменив «sdb1» на другое имя, в нашем случае «sdc1», «sdd1», «sde1», «sdf1».
Теперь собираем в единую группу: vgcreate и перечисляем все входящие носители:
«vgcreate vg1 /dev/sdb1 dev/sdc1 dev/sdd1 dev/sde1 dev/sdf1». Где «vg1» — имя группы.
Создаем программный LVM RAID 5
Вводим команду: «lvcreate -n lvr5 –type raid5 -L 10G -i 4 vg1»
Где атрибуты означают:
- -n – присваивает тому имя.
- –type raid5 – задает тип массива.
- -L – устанавливает граничный размер для логического тома (у нас его величина равна 10 ГБ).
- -i – указывает количество устройств, которые будут задействованы в хранении пользовательских данных. Сюда не входит дополнительное устройство для хранения блоков четности. Число должно быть 2 или больше, так как минимальное количество дисков для данного типа – три.
- vg1 – объясняет системе, откуда ей следует взять нужное количество дискового пространства (указывается конкретный том или целая группа).
После выполнения новый массив RAID 5 на виртуальной группе LVM будет создан. Теперь нужно отформатировать массив смонтировать. Форматируем RAID 5 в «ext4»: «mkfs -t ext4 /dev/vg1/lvr5»
Где, файловая система «ext4», название группы «vg1», имя тома «lvr5».
Монтируем RAID 5 массив в систему, вводим команду: «mkdir /mnt/lvr5», и вторую: «mount -t ext4 /dev/vg1/lvr5 /mnt/lvr5».
Теперь массив смонтирован и готов к работе.
Проверяем статус LVM RAID
Выполняем команду: «lvs -a -o name,copy_percent,devices vg1»
На терминале будет выведена вся доступная информация об подключенных физических носителях и группах томов.
Как восстанавливать данные с LVM RAID массива
В нашем случае, мы создавали LVM RAID 5, такой тип массива хранит дополнительную избыточную информацию, что хорошо сказывается на сохранности данных. То есть при поломке одного или даже двух физических дисков, большинство файлов все равно можно будет восстановить в нетронутом виде.
Производители NAS, к своим устройствам, предоставляют собственное ПО для восстановления данных с их массива. Но так как мы использовали программный RAID, то нам понадобится По от сторонних разработчиков. Главные критерии выбора оного: поддержка нужных файловых систем, низкоуровневый чтение диска, а также наличие автоматического и ручного RAID конструктора. Программа должна пересобрать массив заново и позволить смонтировать его в систему, а далее остается только провести анализ и сохранить все «живые данные».
LVM является одной из множества технологий Linux, которая позволяет достичь большой гибкости в управлении дисковым пространством. Эта функция, объединённая с RAID, хорошо защищает данные от возможной потери, обеспечивает простой способ хранения, управления и совместного использования пользовательских файлов в хранилище.
Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике.
Источник