Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> настройка —> зеркальный RAID1 на ОС FreeBSD

Программный RAID1 на FreeBSD постредством утилиты gmirror.

Автор: texnotronic.


Однажды в моей компании появились два двольно мощных сервера (назначение которым было хостингг и биллинг в основном). Осмотрев новые "игрушки" сразу стало очевидно что не смотря на свою навороченность эти два монстра совершенно не умели работать с RAID. Конечно же, была возможность купить аппаратные RAID контроллеры, но, я решил все же пойти по другому пути - программному, ибо он гораздо надежние, синхронизация томов размеро 320 гб прошла ~30мин.

Итак,  начнем. В корпусе стоят два винта ёмостью 320 гб. Определились они при установке системы как ad4 и ad6. При установке системы форматируем оба винта под UFS, загрузчик оставляем стандартный и устанавливаем его на ad4. Далее ad4 разбиваем на слайсы и далее согласно идивидуальным требованиям производим установку ОС. После установки делаем необходимые постнастройки и перезагружаемся.

После перезагрузки системы, с правами root заваливаемся в систему, в консоли набираем команду:

sysctl.geom.debugflags=16

Далее создаем устройство gm0 которое собственно и буде являться RAID1-массивом и подключаем к нему жесткий диск ad4:

gmirror -v -b round-robin gm0 /dev/ad4

Добавляем модуль ядра gmirro в автозагрузку:

echo geom_mirror_load=YES >> /boot/loader.conf

Следующий этап настройки трбут ОСОБОГО ВНИМАНИЯ!!!:

в /etc/fstab меняем все устройтва начинающиеся с /dev/ad4XXX на /dev/mirror/gm0XXX, будьте крайне внимательны, не повторяйте самой распространенной ошибки, которая меня тоже не обошла стороной, я забыл после /dev/ указать mirror!

Далее набираем reboot и смотрим на поведение загрузки. Если все нормально прошло переходим к следующему этапу. Включаем в зеркало второй жесткий диск равного объема, /dev/ad6.

Так же, с правами root набираем команду:

gmirror insert gm0 /dev/ad6

Тут есть ряд замечаний, во первых, этот диск не должен быть разделен на слайсы, во вторых, его размер должен точно соответствовать главному диску, допустимо чтобы он был немного больше, но не меньше! В противном случае команда включения этого диска не отработает и выдаст сообщение о тот что диск слишком мал по отношению к основному диску. В случае если второй диск, подключаемый к зеркалу будет немного или на много больше, диск являющийся основным и имеющий меньший размер будет приоритетным. Т.е. на втором диске будет занят под зеркало размер равный объему первого диска, все остальное пространство будет бессмысленно пуствать. Именно по этому рационально все же ставить диски одинакового размера.

Предположим что с объемами дисков у вас все в порядке и комаднда gmirror insert отработала нормально, для наблюдением за процессом синхронизации томов периодически набирайте команду:

gmirror status или gmirror list

После того как синхранизация томов успешна завершена, можете проверить работоспособность вашего RAID1. Для этого выключаете машину, отключаете один из дисков, затем пробуете не меняя при этом никаких настроек в BIOS загрузиться, если все прошло нормально, снова выключаете машину, возвращаете тключенный диск на место и отключаете второй, в случае успешной загрузки считаем настройку аппаратного RAID1 оконченной.

И на последок. В случае выхода одного из дисков в зеркале, например ad6 извлекаем его (при выключенной машине) заменяем на новый, соответствующего размера или больший и выполняем следующие команды:

gmirror forget gm0
gmirror insert gm0 /dev/ad6



размещено: 2009-04-10,
последнее обновление: 2009-04-10,
автор: texnotronic


titan, 2009-04-10 в 20:44:53

Очень полезная статья.
Добавлю.
Програмная реализая рейд системы не сможет заменить хардовый рейд контроллер. Их для это и разработали и довели до ума за последние 10 лет.
Не вводи в заблуждение людей фразами "ибо он гораздо надежние".

wlad, 2009-04-13 в 13:17:09

Статья очень вредная. Ибо написана с ошибками. Причем не только орфографическими.
P.S. http://www.lissyara.su/?id=1272 - вот это полезная статья.

Kot_Off, 2009-04-15 в 16:38:56

В чем ошибки?

xone, 2009-04-15 в 16:57:57

Не вижу отличий от http://www.lissyara.su/?id=1272 кроме уточнений про использования дисков разного размера

ymsssg, 2009-04-16 в 11:11:17

to Kot_Off
попробуйте выполнить команду: sysctl.geom.debugflags=16

Kot_Off, 2009-04-16 в 16:24:49

Сегодня впервые собирал софтрэйд на фре. Собственно настроил  все по статье http://www.lissyara.su/?id=1272.  Все понятно и классно расписано. Текущей статье незачет. Она не полная и вводит в заблуждение команда sysctl.geom.debugflags=16, как написано выше.

x-r00t, 2009-05-04 в 20:20:30

наверное имели ввиду:
sysctl kern.geom.debugflags=16
и
gmirror label -v -b round-robin gm0 /dev/ad4
("label" пропустили)

omolota, 2009-05-24 в 21:27:52

Автору следовало бы последовать совету x-r00t и исправить статью

pr28331, 2009-06-01 в 17:43:22

описано все классно,  но теперь на этом сайте буду читать статьи начиная с комментариев:) всем кто пишет по делу в каментах респект! особенно X-r00t

adre, 2010-03-29 в 4:39:14

Где-то уже видел -)

MobileSfinks, 2010-04-15 в 15:45:45

напоролся сразу на косяк с sysctl и полез в каменты.
по статье http://www.lissyara.su/articles/freebsd/file_system/gmirror/ сделал всё сразу в течении 5 минут - РЕСПЕКТ Лису. А данная статья не доработана. Думаю её лучше вообще убрать т.к. по вышеуказанной ссылке всё что в этой статье и так есть.  

kir, 2010-04-16 в 17:42:47

Есть один прикольный момент - конвертация живой системы в gmirror не пойдет если он вкомпилен в ядро. Надо действительно загружать модуль. Проверял. Потом можно и в ядро добавить

MetiS1977, 2010-07-24 в 12:01:54

Очень даже нормальная статья. Просто не стОит забывать о манах для внесения точностей.
PS: Ненавижу людей, которые тупо переносят конфы без разбору, а потом жалуются на авторов.

ttys, 2010-12-08 в 23:09:31

Следующий этап настройки трбут ОСОБОГО ВНИМАНИЯ!!!:

krz, 2011-03-08 в 11:04:39

to Metis1977 ненависть плохая штука, как и эта статья.
Лучше ТУПО читать маны, а эту статью удалить!

irvis, 2011-05-03 в 16:58:32

to MetiS1977, с ужасом представляю орфографический словарь под твоим началом. Статьи пишут для передачи опыта, а не ошибок.

Alekcandr, 2013-01-09 в 23:28:29

на гмироре под фряхой 6.2 у меня был аптайм полтора года! Да, в здании был генератор и т.п.
А вот всякие хамы по факту мерзкие, жалкие люди.

CTOPMbI4, 2013-08-19 в 11:38:22

в случае успешной загрузки считаем настройку аппаратного RAID1 оконченной
погодите тут же программный рейд

mobilesfinks, 2013-08-19 в 12:02:44

Товарищ ошибся чуток. Бывает.

gmax007, 2013-08-25 в 2:17:27

"я забыл после /dev/ указать mirror!" И я тоже. Правда дело было на виртуалке, предварительно райда была сделана полная копия машины. естественно продолжил работу с копии. Наверно надо на форуме писать, решил здесь, хотел спросить - как вылечил косяк такой. не монтируется же не хрена



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0354 секунд
Из них PHP: 23%; SQL: 77%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 26434