FreeBSD 9.1 Программный RAID5

После установки FreeBSD 9.1, родилась идея создания своего файло-хранилища с последующим созданием Медиа Центра. Для начала я решил создать программный RAID5 массив. Для экспериментов, я буду использовать 3 диска по 20Gb. Чтобы создать RAID5 мы будем использовать утилиту gvinum.

Итак, начнём.
      Чтобы узнать имена дисков в системе вводим команду

# sysctl kern.disks

Система нам выдает:

kern.disks: da3 da2 da1 da0 cd0

cd0 — это наш привод для компакт дисков

da0 – это наш диск с системой

А вот da3 da2 da1 — это диски из которых мы будем собирать RAID5, в системе они находятся в папке /dev т. е. /dev/da1; /dev/da2; /dev/da3
Давайте посмотрим размер диска da1
# fdisk da1
Что мы видим:

******* Working on device /dev/da1 *******

parameters extracted from in-core disklabel are:

cylinders=2610 heads=255 sectors/track=63 (16065 blks/cyl)
Figures below won’t work with BIOS for partitions not in cyl 1

parameters to be used for BIOS calculations are:

cylinders=2610 heads=255 sectors/track=63 (16065 blks/cyl)

fdisk: invalid fdisk partition table found

Media sector size is 512

Warning: BIOS sector numbering starts with sector 1

Information from DOS bootblock is:

The data for partition 1 is:

sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)

start 63, size 41929587 (20473 Meg), flag 80 (active)

beg: cyl 0/ head 1/ sector 1;

end: cyl 561/ head 254/ sector 63

The data for partition 2 is:

<UNUSED>

The data for partition 3 is:

<UNUSED>

The data for partition 4 is:

<UNUSED>

Я выделил цыфру которая нам будет нужна дальше.
Теперь создадим директорию, к которой будем монтировать наш RAID5 (назовем её storage):
# mkdir /storage
Также нам надо создать конфигурационный файл нашего RAID5
# ee /etc/gvinum.conf
заполняем его следующей информацией:

drive raid51 device /dev/da1

drive raid52 device /dev/da2

drive raid53 device /dev/da3

volume raid5

plex org raid5 256k

sd len 20473m drive raid51

sd len 20473m drive raid52

sd len 20473m drive raid53

Дальше зажав клавиши Ctrl + С переходим в режим команд. Для того, чтобы сохранить файл и выйдти пишем exit. Давайте рассмотрим, что мы сделали:
  • drive raid51 – псевдоним физического диска (можно придумать любой)
  • /dev/da1 – сам диск в системе (см. выше)
  • volume raid5 – это название виртуального диска, который и будет образовывать наш RAID5.
  • plex – это набор, который предоставляет полное адресное пространство. Поскольку мы организуем RAID5, мы вводим: org raid5, а размер страйпа будет 256k (рекомендовано документацией).
  • sd – это поддиски. Мы используем 3 диска размером 20 Gb, но размер указываем: 20473m. (та цыфра которую я выделил ранее)
Далее нам надо создать сам RAID5 массив
# gvinum create /etc/gvinum.conf
Создаётся устройство /dev/gvinum/raid5. Далее нам необходимо создать на нем файловую систему:
# newfs /dev/gvinum/raid5
Далее нам надо сделать, чтобы модуль vinum загружался автоматически
# echo geom_vinum_load=»YES» >> /boot/loader.conf
Также нам надо смонтировать наш массив. За точку монтирования берём папку /storage, которую создали в начале
# echo /dev/gvinum/raid5 /storage ufs rw 2 2 >> /etc/fstab
Ну а теперь перегружаем компьютер
# reboot
Всё, RAID5 собран и работает:
# gvinum l

3 drives:

D raid51 State: up /dev/da1 A: 1023/20479 MB (4%)

D raid52 State: up /dev/da2 A: 1023/20479 MB (4%)

D raid53 State: up /dev/da3 A: 1023/20479 MB (4%)

1 volume:

V raid5 State: up Plexes: 1 Size: 38 GB

1 plex:

P raid5.p0 R5 State: up Subdisks: 3 Size: 38 GB

3 subdisks:

S raid5.p0.s0 State: up D: raid51 Size: 19 GB

S raid5.p0.s1 State: up D: raid52 Size: 19 GB

S raid5.p0.s2 State: up D: raid53 Size: 19 GB

(c) cyberycon.com/freebsd-9-1-programmnyj-raid5/

Коментувати

Простий текст

  • Не дозволено жодних HTML теґів.
  • Рядки й абзаци переносяться автоматично.
  • Адреси вебсторінок та адреси електронної пошти автоматично перетворюються у посилання.