Программный RAID посредством geom

Dec 04, 2009 18:11

Программные реализации RAID, появившиеся в FreeBSD с версии 5.3:
gstripe(8) обеспечивает чередование или RAID 0
gmirror(8) обеспечиват зеркалирование/дуплекс или RAID 1
graid3(8) обеспечивает чередование с контролем четности или RAID 3
Начальная g указывает на то, что эти утилиты пользуются возможностями, которые предоставляет GEOM (модульная дисковая структура).

Подготовка
kldload geom_stripe
kldload geom_mirror
и или в /boot/loader.conf или rc.conf
geom_mirror_load="YES" # RAID1 disk driver (see gmirror(8))
geom_stripe_load="YES" # RAID0 disk driver (see gstripe(8))

или пересобрать ядро с опциями
options GEOM_MIRROR
options GEOM_STRIPE

После ребута если делаем зеркало первую очередь нужно установить переменную sysctl:
sysctl kern.geom.debugflags=17

gmirror label -vb round-robin gm0 /dev/ad4

Эта команда создает RAID gm0, при этом -v отладка -b выбирает алгоритм балансировки.
(round-robin в настоящее время это наиболее быстродействующий алгоритм)
Еще доступны режимы load - в этом режиме чтение происходит с жесткого диска с наименьшей загрузкой. prefer - установка приоритетов чтения/записи осуществляется вручную. split - разбивает запросы чтения на разные устройства(жесткие диски), для ускорения работы. gm0 - имя первого зеркала GEOM и /dev/ad4 указывает на диск, содержащий данные для зеркалирования.

gmirror insert gm0 /dev/ad6 Добавляем в зеркало чистый диск.
gmirror list gmirror status (gstat)
В /etc/fstab -> /dev/ad4s1a редактируем на /dev/mirror/gm0s1a
gmirror forget gm0 Разрушаем зеркало.

gstripe label -v st0 /dev/ad2 /dev/ad3
создаёт у-во /dev/stripe/st0 из усройств /dev/ad2 /dev/ad3 (не размеченных)
bsdlabel -wB /dev/stripe/st0
размечаем -В бутовый получаем /dev/stripe/st0a
newfs -U /dev/stripe/st0a

Всё.

gstat

sysctl kern.geom
kern.geom.collectstats: 1
kern.geom.debugflags: 0
kern.geom.label.debug: 0
kern.geom.mirror.sync_requests: 2
kern.geom.mirror.disconnect_on_failure: 1
kern.geom.mirror.idletime: 5
kern.geom.mirror.timeout: 4
kern.geom.mirror.debug: 0
kern.geom.stripe.fast_failed: 0
kern.geom.stripe.maxmem: 67108864
kern.geom.stripe.fast: 1
kern.geom.stripe.debug: 1

*debug >0 до 3 - дебаг :)

hdd, geom, raid

Previous post Next post
Up