SoftRAID FreeBSD


Собственно в процессе работы возникла необходимость в RAID 1 (зеркало)

Диски в зеркале лучше всего подключать к разным контролерам или даже к разным серверам!

Я думаю смысла пояснять, что такое зеркальный RAID нет, поэтому сразу приступимс

 

 


Подготовка!
Добавляем загрузку модуля поддержки RAID1

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

Разрешаем издеваться над GEOM

# sysctl kern.geom.debugflags=16

Загружаем модуль зеркалирования

#gmirror load

Создаем зеркальный диск gm0

#gmirror label –v -n -b round-robin gm0 /dev/ad0

-n обязательно (отключаем автосинхронизацию) при проблемах с питанием будут запущены два конкурирующих процесса, а именно: проверки диска и ребилда зеркала

Правим fstab

Было
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/da0s1b             none            swap    sw                  0       0
/dev/da0s1a             /                  ufs       rw                  1       1
/dev/da0s1e             /usr              ufs       rw                  2       2
/dev/da0s1d             /var              ufs       rw                  2       2
/dev/acd0               /cdrom          cd9660  ro,noauto        0       0

Стало
# Device                Mountpoint      FStype  Options      Dump    Pass#
#/dev/da0s1b            none            swap    sw               0         0
/dev/mirror/gm0s1a       /               ufs       rw               1         1
/dev/mirror/gm0s1e      /usr            ufs       rw               2         2
/dev/mirror/gm0s1d      /var            ufs       rw               2         2
/dev/acd0                   /cdrom       cd9660 ro,noauto      0        0

SWAP каментить крайне рекомендуется, нам потом создавать новый Swap
Перезагрузка

#reboot

Вставляем второй винт в рейд

#gmirror insert gm0 /dev/da1

Смотрим, что нам говорит модуль

#tail -2 /var/log/messages

Смотрим статус зеркала

#gmirror status

Смотрим устройства в зеркале

#gmirror list

Перестраиваем RAID(заставляем синхронизироваться)

#gmirror rebuild gm0 /dev/da1

 
Возвращаем своп в систему
1. Убедитесь, что в файле настройки ядра присутствует драйвер виртуального диска

device   md   # Memory "disks"

2. Создайте файл подкачки (/usr/swap0):

# dd if=/dev/zero of=/usr/swap0 bs=1024k count=1024

3. Установите подходящие права на (/usr/swap0):

# chmod 0600 /usr/swap0

4. Включите файл подкачки в /etc/rc.conf:

swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.

5. Перегрузите компьютер или для включения подкачки прямо сейчас введите:

# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0

 
Прочесть, прежде чем что-то испортите!!!! Если в процессе создания, что-то не так..(опечатались в fstab)

1.загрузится в single-user mode.
2.По умолчанию «/» маунтится в READ-ONLY, делаем

# mount -w /

3. чтобы заработал простой текстовый редактор ee

# mount -w /usr

4.редактируем как нужно fstab

# ee /etc/fstab

5. CTRL-D — переходим в multiuser-mode

 
Обслуживание и замена
Менять винт

# gmirror forget gm0
# gmirror insert gm0 /dev/ad1
# gmirror rebuild gm0 /dev/ad1

Разборка зеркала
1.останавливаем зеркало

# gmirror stop gm0

2.удаляем метаданные

# gmirror clear /dev/da7 /dev/da2

Ежедневная проверка состояния

echo 'daily_status_gmirror_enable="YES"' >>/etc/periodic.conf

Рекомендации
1. в свое ядро добавить options GEOM_MIRROR
2. удалить geom_mirror_load=YES из loader.conf

В руки попали парочка старых железных raid контролеров

1. Mylex DAC-family RAID management utility\
Он проверяется с помощью утилиты mlxcontrol.
есть хелп, так что разобраться можно в пол пинка
mlxcontrol status итд

2. DPT SmartRAID V, VI and Adaptec SCSI RAID (ADAP2100S)
Для того чтобы он завелся нужно добавить в ядро
options ASR_COMPAT # 4ASR RAID
Потом нужно поставить утилитку:
/usr/ports/sysutils/asr-utils
потом rehash(для любителей csh)
а дальше raidutil -L all -выдаст все что знает)

3.
Во фре определяется как aac, не забываем включать при пересборке ядра.
для мониторинга понадобится утилитка:

cd /usr/ports/sysutils/arcconf
make install clean
rehash

Посмотреть опции можно с помощью команды:
arcconf

если же хотим получить инфу о том что у нас стоит, и что с этим делать:
arcconf GETCONFIG 1 AL

4. Есть еще рейд на интеловской серверной маме
[email protected]:2:3:0: class=0x010400 card=0x05308086 chip=0x04071000 rev=0x02 hdr=0x00
vendor = ‘LSI Logic / Symbios Logic’
device = ‘MegaRAID’
class = mass storage
subclass = RAID
для мониторинга нам понадобится порт:

 cd/usr/ports/sysutils/amrstat 
make install clean

а дальше
amrstat -g

5. И снова интеловский рейд iir
Средств мониторинга гугление не нашло, вернее нашло под 5-ю фрю….
Качаем http://downloadmirror.intel.com/7493/eng/ ,распаковываем это дело (там есть вложенный архив fbsd5/utils/storcon-2.16.6)
Либо ставим compat_5, либо тупо распаковываем архив с бинарниками и ручками создаем недостающие симлинки на библиотеки (новых библиотек оно не хочет)
Вуаля…мониторит.
http://forum.lissyara.su/viewtopic.php?f=8&t=17197&start=50
/usr/lib/
libncurses.so.5
libstdc++.so.4
libc
libm

запускаем storcon

Литература
1. http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/geom-mirror.html
2. http://www.lissyara.su/articles/freebsd/file_system/gmirror/

Комментарии: