Головна FreeBSD Програмний RAID1 в FreeBSD 8.2

Програмний RAID1 в FreeBSD 8.2

Програмний RAID1 в FreeBSD 8.2
Програмний RAID1 в FreeBSD 8.2

Для того щоб зібрати софт-рейд в FreeBSD, потрібно 2 і більше ідентичних жорстких диска (краще брати від одного виробника).

Отож, маємо 2 диски, система розпізнала їх як ad10 та ad12. По замовчуванню система не дасть нам нічого записати в MBR, тому нам необхідно тимчасово вимкнути ця систему безпеки командою:

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

Тепер можемо створювати рейд-масив "дзеркало":

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

Створені дзеркала поміщаються в "/dev/mirror" і мають назву gm з номером (gm0, gm1...).

Всі "дзеркала" в системі керуються модулем gmirror, тож нам потрібно його завантажити або вкомпілювати в ядро (options GEOM_MIRROR)

# gmirror load

або для ядра

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

Ядро, звісно ж, після цієї процедури необхідно перезібрати.


Що ж, модуль завантажено, дзеркало створено, пора перевірити чи система наше дзеркало бачить:

# ls /dev/mirror
gm0     gm0s1   gm0s1a  gm0s1b  gm0s1d  gm0s1e  gm0s1f

Все чудово, проте "дзеркало" поки складається тільки з одного диска, а це зовсім не "дзеркало" виходить, тож додамо ще один диск. Як пам'ятаємо, система розпізнала мій другий вінчестер як ad12, тож пишемо команду:

# gmirror insert gm0 /dev/ad12

після чого geom розпочне синхронізацію дисків.


Поки система займається створенням копії нашого основного диску, ми підредагуємо /etc/fstab, оскільки назва загрузочного пристрою в нас змінилась.

# vim /etc/fstab

Заміняємо старі /dev/adX на нові /dev/mirror/gm0. Тільки не забуваємо що новий шлях містить mirror! Інакше при завантаженні система не знайде з чого грузитись!


Для перевірки стану "дзеркала" можна використати:

# gmirror status
Name    Status  Components
mirror/gm0  DEGRADED  ad10
ad12 (20%)

або

# gmirror list
Geom name: gm0
State: COMPLETE
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 1292398990
Providers:
1. Name: mirror/gm0
Mediasize: 320072932864 (298G)
Sectorsize: 512
Mode: r5w5e14
Consumers:
1. Name: ad10
Mediasize: 320072933376 (298G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 2183162714
2. Name: ad12
Mediasize: 320072933376 (298G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Priority: 0
Flags: DIRTY
GenID: 0
SyncID: 1
ID: 4069705096

Для заміни одного з дисків "дзеркала" потрібно "забути" старий диск і додати новий:

# gmirror forget gm0
# gmirror insert gm0 /dev/ad12

Навантаження на диски дивимось стандартною утиліткою gstat.


Всім бобра, і поменше поломок!

perm_identity event

Коментарі