Развертывал FreeBSD сервер на базе материнки с поддержкой, как оказалось позже, псевдо аппаратного рейда. На таком рейде при отключении одного из винчестеров – система уходила в fatal trap… С положительной стороны показал себя программный RAID gmirror – модуль дисковой структуры GEOM (встроенный в ядро механизм управления дисковой подсистемой)


Имеем два винчестера
HDD1 – /dev/ad10
HDD2 – /dev/ad12

Добавляем в автозагрузку модуль ядра, отвечающий за поддержку программного RAID.

1
# echo 'geom_mirror_load=YES' >> /boot/loader.conf

Разрешаем писать на диск который используется

1
2
#sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16

Cоздаём зеркало из одного диска

1
2
3
4
# gmirror label -v -b round-robin gm0 /dev/ad10
Metadata value stored on /dev/ad10.
Done.
#

У меня файл /etc/fstab сейчас выглядит так

1
2
3
4
5
6
7
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad10s1b            none            swap    sw              0       0
/dev/ad10s1a            /               ufs     rw              1       1
/dev/ad10s1e            /tmp            ufs     rw              2       2
/dev/ad10s1f            /usr            ufs     rw              2       2
/dev/ad10s1d            /var            ufs     rw              2       2
#/dev/acd0              /cdrom          cd9660  ro,noauto       0       0

Правим к виду

1
2
3
4
5
6
7
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/mirror/gm0s1b              none            swap    sw              0       0
/dev/mirror/gm0s1a              /               ufs     rw              1       1
/dev/mirror/gm0s1e              /tmp            ufs     rw              2       2
/dev/mirror/gm0s1f              /usr            ufs     rw              2       2
/dev/mirror/gm0s1d              /var            ufs     rw              2       2
#/dev/acd0              /cdrom          cd9660  ro,noauto       0       0

Перегружаемся. Если все прописали верно в fstab, то добавляем второй диск

1
gmirror insert gm0 /dev/ad1

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

1
2
3
4
5
# gmirror status
      Name    Status  Components
mirror/gm0  DEGRADED  ad10
                      ad12 (2%)
#

Как видим идет процес зеркалирования информации на второй винчестре
После завершения статус примет вид

1
2
3
4
#gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ad10
                      ad12

Источники
http://lissyara.su
http://hilik.org.ua
http://freebsd.org

Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!