- Программный RAID под Linux
- Шаг 2.2 — Создание программного RAID
- Шаг 3 — Удаление программного RAID
- Шаг 4 — Управление программным RAID
- Шаг 4.1 — Получить статус RAID
- Шаг 4.2 — Заменить неисправный диск
- Шаг 4.3 — Расширить RAID
- Шаг 4.4 — RAID-мониторы
- Вывод
- RAID 5 с LVM под Linux и как с него восстанавливать информацию
- Размечаем физические диски, создаем LV RAID группу.
- Создаем программный LVM RAID 5
- Проверяем статус LVM RAID
Программный RAID под Linux
Подсказка : 8192 сектора в конце диска намеренно оставлены неиспользованными для подготовки к сбоям. Это позволяет вам использовать диски с несколькими секторами в качестве замены из-за свободного места.
sudo parted /dev/sda set 1 raid on
Шаг 2.2 — Создание программного RAID
Под Linux mdadm это основной инструмент. Это интерфейс к функциям RAID ядра.
Для создания RAID 1 достаточно следующей команды:
sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sda1 /dev/sdb2
sudo mdadm --create /dev/md0 --auto md --level=5 --raid-devices=4 /dev/sda1 /dev/sdb2 /dev/sdc3 /dev/sdd4
- —create /dev/md0 — Создает новую конечную точку с именем md0. Если конечные точки с таким именем уже существуют, выберите другое свободное имя (md1, md2 и т. Д.).
- —auto md — Создает «классическую» конечную точку без предварительного разбиения.
- —level= — Тип уровня RAID.
- —raid-devices — Количество отдельных устройств, из которых должен состоять RAID.
- /dev/sde1 /dev/sde2 . — Отдельные устройства для объединения. Порядок идентификаторов или, в идеале, идентификаторов соответствующих физических устройств, должен быть записан, если RAID необходимо собрать вручную в чрезвычайной ситуации.
Personalities : [raid0] [raid1] mdX : active raid1 sda1[1] sdb1[0] 8384448 blocks super 1.2 [2/2] [UU] [==============>. ] check = 74.7% (6267520/8384448) finish=0.1min speed=202178K/sec
/dev/mdX /mnt/md0 xt4 defaults 0 2
(Необязательно) Диски Hotspare : Диски / разделы Hotspare — это те, которые обычно не используются. Они используются, если один из активных дисков / разделов системы RAID имеет ошибку или неисправен. Если в программном рейде не определен диск горячего резервирования, восстановление поврежденного RAID-массива необходимо запустить вручную. Если имеется горячий резерв, восстановление будет начато автоматически. Горячий резервный диск можно добавить с помощью следующей команды.
Шаг 3 — Удаление программного RAID
sudo umount /dev/md0 sudo mdadm --stop /dev/md0
sudo mdadm --zero-superblock /dev/sda1 /dev/sdb1
sudo parted /dev/sda set 1 raid off
Шаг 4 — Управление программным RAID
Шаг 4.1 — Получить статус RAID
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[1] sda1[0] 8380416 blocks super 1.2 [2/2] [UU] md2 : active raid1 sdb3[1] sda3[0] 536739840 blocks super 1.2 [2/2] [UU] bitmap: 3/4 pages [12KB], 65536KB chunk md1 : active raid1 sdb2[1] sda2[0] 1047552 blocks super 1.2 [2/2] [UU] unused devices:
/dev/md/2: Version : 1.2 Creation Time : Fri Feb 22 17:19:37 2019 Raid Level : raid1 Array Size : 536739840 (511.88 GiB 549.62 GB) Used Dev Size : 536739840 (511.88 GiB 549.62 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun May 26 13:49:02 2019 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Consistency Policy : bitmap Name : rescue:2 UUID : c76e5446:f3c41fbc:0b62ca86:803a7e88 Events : 2170 Number Major Minor RaidDevice State 0 8 3 0 active sync /dev/sda3 1 8 19 1 active sync /dev/sdb3
Шаг 4.2 — Заменить неисправный диск
sudo mdadm --manage /dev/md/0 -r /dev/sda1
Если диск горячего резервирования недоступен, новый диск должен быть разбит на разделы. Важно, чтобы новый диск имел те же разделы, что и неисправный диск!
Для разбиения нового диска достаточно скопировать таблицу разделов с существующего диска.
Для разделенных на MBR дисков:
sfdisk --dump /dev/sda > sda_parttable_mbr.bak # Backs up partition table sfdisk -d /dev/sda | sfdisk /dev/sdb # Copy partition table from sda to sdb
sgdisk --backup=sda_parttable_gpt.bak /dev/sda # Create a backup of the partition table sgdisk --load-backup=sda_parttable_gpt.bak /dev/sdb # Copy the created backup of the partition table to sdb
sudo mdadm --manage /dev/md/0 -a /dev/sda1
sudo mdadm --manage --set-faulty /dev/md/0 /dev/sda1
Ход можно снова отслеживать с помощью команды watch cat /proc/mdstat .
Как только восстановление RAID завершено, раздел должен быть удален из RAID и добавлен снова, чтобы удалить состояние «неисправен». Это делается с помощью команд:
sudo mdadm --manage /dev/md/0 -r /dev/sda1 # To be removed sudo mdadm --manage /dev/md/0 -a /dev/sda1 # To be added again
* * Примечание . Если система находится на самом RAID-массиве, необходимо установить загрузчик на соответствующий диск. Это делается с помощью следующей команды:
update grub && grub-install /dev/sda
Шаг 4.3 — Расширить RAID
Только RAID с уровнями 1, 5 и 6 могут быть расширены.
Новый раздел должен быть сначала добавлен в качестве горячего резерва:
sudo mdadm /dev/md0 --add /dev/sda1
sudo mdadm --grow --raid-devices=5 /dev/md0 --backup-file=/root/md0.bak
Примечание : в указанном файле —backup-file сохраняются критические области (обычно несколько МБ). Если во время расширения происходит сбой системы, расширение можно продолжить позже, используя следующую команду:
sudo mdadm /dev/md0 --continue --backup-file=/tmp/md0.bak
Файл резервной копии не должен быть расположен на RAID, чтобы быть расширенным! Использование backup-file не обязательно, но настоятельно рекомендуется.
Файловая система должна быть расширена, чтобы можно было использовать только что созданное пространство хранения. Расширение происходит с помощью следующих команд:
sudo umount /dev/md0 /mnt # Unmount the file system sudo fsck.ext4 -f /dev/md0 # Force the check, even if it has recently been checked sudo resize2fs /dev/md0 # Extend file system to maximum size sudo mount /dev/md0 /mnt # Mount the file system again
Шаг 4.4 — RAID-мониторы
0 0 * * * /usr/share/mdadm/checkarray --cron --all --quiet >/dev/null 2>&1 # Runs every day at 00:00 AM
Вывод
В этой статье мы рассказали, как выбрать подходящий уровень RAID для вашего проекта, а затем настроить его в системах Linux, используя mdadm . Кроме того, будут обсуждаться административные задачи, такие как расширение RAID или замена неисправных жестких дисков.
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 – объясняет системе, откуда ей следует взять нужное количество дискового пространства (указывается конкретный том или целая группа).
Где, файловая система «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, хорошо защищает данные от возможной потери, обеспечивает простой способ хранения, управления и совместного использования пользовательских файлов в хранилище.
Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике.