Программный RAID — собираем под управлением Linux

monitor_linux

Возникла необходимость в надежном хранилище информации. Выбор пал на программный RAID. В моем случае, думаю, достаточно будет зеркального RAID 1. Если есть финансы и возможность можно и увеличить, хоть до гигантского RAID 6.

Что такое Программный RAID

Определение raid из википедии:

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и производительности.

Там же в википедии можете почитать о всех особенностях raid массивов.

Исходя из своих финансовых возможностей и руководствуясь здравым смыслом, решил использовать зеркальный RAID 1.

Программный массив можно спокойно перенести на другой пк, в случае необходимости.

Выход из строя одновременно двух дисков мало вероятен. В случае каких то проблем, хотя бы с одним диском, можно будет без затруднений спасти всю информацию.

Аппаратный RAID

Аппаратный RAID предусматривает собой специальный контроллер, плату, к которой подключаются диски. Этот контроллер собирает RAID и его контролирует.

От использования специального RAID контроллера отказался по понятным причинам:

Стоимость — его нужно приобретать отдельно.

Надежность — в случае его выхода из строя, данные трудно восстановить без такого же рабочего контроллера.

Лишнее звено в структуре уменьшает надежность и увеличивает стоимость.

Собираем программный RAID в Linux

Так как я использую в качестве основной операционной системы Linux, то естественно, что и RAID будем собирать на работающем компьютере под управлением Linux

Собирать буду зеркальный RAID из двух дисков, но таким же способом можно собрать RAID с большим количеством дисков.

Перед сборкой массива, диски, в моем случае два диска по 1Tb, за ранее подключаем к компьютеру.

Для работы с массивами в Linux необходимо установить утилиту администрирования и контроля программного RAID — mdadm

Запускаем терминал.

Всю сборку и запуск нашего raid произведем в терминале.

Обновляем информацию о пакетах

sudo apt update

Устанавливаем утилиту

sudo apt install mdadm

Проверяем установлена ли утилита

sudo mdadm -V

если утилита стоит вы увидите примерно такой текст

mdadm info

Узнаем информацию о подключенных дисках

Проверяем идентификаторы дисков которые будем использовать, их принадлежность

 lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
disk info

В данном случае, видим два диска sdb и sdc.

Их идентификаторы будут /dev/sdb и /dev/sdc, соответственно.

Из этих дисков и будем создавать массив Raid-1.

Создаем RAID массив

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/имя первого диска /dev/имя второго диска

/dev/md0 — имя нашего будущего рейда

—livel=1 — уровень рейда, в нашем варианте собираем RAID1, если собираете RAID2 то ставим =2, ну и так далее

—raid-devices=2 — количество дисков используемых в рейде, ну и далее перечисляются их имена

После ввода команды будет вопрос

Continue creating array? — соглашаемся, введя Y и нажимаем Enter

Если сделали все правильно, начнется процесс зеркалирования дисков.

Проверить статус можно командой

cat /proc/mdstat

Мониторинг процесса удобно отслеживать с помощью команды

watch cat /proc/mdstat

Так вы в реальном времени сможете наблюдать процесс и знать время его завершения.

Желательно дождаться окончания процесса.

Создаем и монтируем файловую систему в нашем RAID

Созданный массив должен иметь свою файловую систему, так как в данном случае linux, очевидно, что это будет ext4

Создаем ее командой

sudo mkfs.ext4 -F /dev/md0

/dev/md0 — имя нашего созданного массива.

Создаем точку в которую будем монтировать наш массив

sudo mkdir -p /mnt/md0

/mnt/md0 — точка куда будем монтировать наш массив

Точка монтирования, по сути своей, это директория в виде папки, в которую будет смонтирован наш массив, название вы можете задать свое. Вместо md0 — например Arhiv. Если зададите другую, то учитывайте это в последующих ваших действиях.

Теперь можно смонтировать массив /dev/md0 в нашу ранее созданную директорию /mnt/md0

sudo mount /dev/md0 /mnt/md0

Проверить доступно ли новое пространство можно командой

df -h -x devtmpfs -x tmpfs
диски доступные в системе
В моем случае массив md0 смонтирован в /mnt/Arhiv использовано 10%

Сохраняем наш программный RAID

Если не сохранить все проделанное, после перезагрузки мы не увидим нашего рейда в наличии.

Настраиваем автоматическую сборку рейда при запуске системы.

Информацию, о нашем созданном рейде, необходимо записать в файл /etc/mdadm/mdadm.conf

Выполним команду которая сделает это автоматически

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

В результате в файл mdadm.conf будет сделана запись о сформированном RAID. Если открыть этот файл в блокноте то выглядеть это будет примерно так

запись о RAID в файле mdadm.conf

Теперь необходимо обновить информацию о наших файловых системах для их автоматического распознования при запуске системы

sudo update-initramfs -u

Для автоматического монтирования нашего диска /dev/md0 в нашу ранее созданную директорию /mnt/md0, нам необходимо так же зделать запись в файл /etc/fstab

echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

В результате будет сделана запись в файл fstab. Если открыть этот файл в блокноте то выглядеть это будет примерно так

запись о RAID в файле fstab

Теперь можете перезагружать систему. После перезагрузки ваш RAID массив должен быть там куда вы его смонтировали.

Если хотите удалить или расформировать RAID — читайте в этой статье.

Если ксть. что добавить или хотите поделится информацией пишите в комментариях.

Всем Удачи!

Про ПК
Добавить комментарий