Возникла необходимость в надежном хранилище информации. Выбор пал на программный 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
если утилита стоит вы увидите примерно такой текст
Узнаем информацию о подключенных дисках
Проверяем идентификаторы дисков которые будем использовать, их принадлежность
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
В данном случае, видим два диска 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
Сохраняем наш программный RAID
Если не сохранить все проделанное, после перезагрузки мы не увидим нашего рейда в наличии.
Настраиваем автоматическую сборку рейда при запуске системы.
Информацию, о нашем созданном рейде, необходимо записать в файл /etc/mdadm/mdadm.conf
Выполним команду которая сделает это автоматически
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
В результате в файл mdadm.conf будет сделана запись о сформированном RAID. Если открыть этот файл в блокноте то выглядеть это будет примерно так
Теперь необходимо обновить информацию о наших файловых системах для их автоматического распознования при запуске системы
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 массив должен быть там куда вы его смонтировали.
Если хотите удалить или расформировать RAID — читайте в этой статье.
Если ксть. что добавить или хотите поделится информацией пишите в комментариях.
Всем Удачи!