В этой статье описываются создание и сборка программного RAID 1 (зеркалирование) для хранения данных в ОС FreeBSD с помощью утилит gmirror и gpart.
Этот процесс будет состоять из нескольких действий:
- создаём массив из двух дисков одинакового объёма
- делаем разметку собранного массива с таблицей разделов GPT и типом разделов FreeBSD-UFS
- форматируем созданные разделы
- монтируем и проверяем работу
- подключаем в автозагрузку — прописываем в /etc/fstab и /boot/loader.conf
В первую очередь необходимо выяснить, как определились подключённые диски в системе. Делаем это с помощью команды:
# geom disk list
видим три диска: ada0 (это системный), ada1 и ada2 — новые, которые будем собирать в массив RAID 1
Создадим массив и подключим к нему диск ada1
# gmirror label -vb round-robin gm0 /dev/ada1
К нему подключим диск ada2
# gmirror insert gm0 /dev/ada2
Теперь необходимо подождать, пока диски синхронизируются. Состояние массива можно посмотреть командой
# gmirror status
Необходимо, чтобы статус был COMPLETE
Далее создаём таблицу разделов GPT
# gpart create -s gpt /dev/mirror/gm0
Создаём 2 раздела на диске объёмом 8 ГБ: первый будет 3ГБ, второй — оставшееся свободное место на диске
# gpart add -t freebsd-ufs -s 3G /dev/mirror/gm0 # gpart add -t freebsd-ufs /dev/mirror/gm0
Смотрим что получилось:
# gpart show mirror/gm0
Теперь отформатируем разделы:
# newfs -U /dev/mirror/gm0p1 # newfs -U /dev/mirror/gm0p2
После этого создаём 2 каталога: /mnt/data1 и /mnt/data2
# mkdir /mnt/data{1,2}
и монтируем в них созданные разделы
# mount /dev/mirror/gm0p1 /mnt/data1 # mount /dev/mirror/gm0p2 /mnt/data2
Если монтирование прошло успешно, можно размонтировать
# umount /mnt/data{1,2}
Затем открываем файл /etc/fstab
# vi /etc/fstab
и в самом низу пропишем 2 строчки:
/dev/mirror/gm0p1 /mnt/data1 ufs rw 1 1 /dev/mirror/gm0p2 /mnt/data2 ufs rw 1 1
После этого открываем файл /boot/loader.conf
# vi /boot/loader.conf
и в нём пропишем строчку:
geom_mirror_load="YES"
Всё, готово! Перезагружаем машину
# shutdown -r now
и можно смело использовать.
Как восстановить такой массив можно почитать в предыдущих статьях.