Решил собрать зеркальный RAID под "свеженькую" FreeBSD 9-RELEASE. И разметку решил по умолчанию использовать GPT. В этом случае порядок действий будет отличаться, от создания RAID 1 в случае разделов BSD.
Hardware: два привода SATA, которые определяются системой как ada0 и ada1.
Теперь пошаговое руководство по созданию RAID 1 на разделах GPT и установке на эти разделы операционной системы FreeBSD 9-RELEASE.
# sysctl kern.geom.debugflags=16 |
# kldload /boot/kernel/geom_mirror.ko |
# gmirror label -v -b round-robin gm0 /dev/ada0 |
Немного о опциях:
gmirror label - собственно создание зеркала;
gmirror insert - добавление диска в зеркало;
-v - включение режима отладки;
-b round-robin - режим балансировки;
gm0 - имя зеркала;
/dev/ada0 - диск, с которого будем брать данные для зеркалирования;
/dev/ada1 - диск на который будем выполнять синхронизацию
# gmirror list |
Обратите внимание на общее состояние зеркала - DEGRADED, а также на флаг SYNCHRONIZING. По завершению синхронизации, статус зеркала изменится на COMPLETE.
# exit |
# echo 'geom_mirror_load="YES"' > /boot/loader.conf |
На этом установка системы и настройка gmirror с разметкой GPT заканчивается.
Можно наблюдать при перед началом загрузки системы сообщение "Invalid backup GPT header". Дело в том, что GPT была создана поверх зеркала. Размер провайдера mirror/gm0 на 1 сектор меньше, чем размер диска, так как gmirror забирает последний сектор для хранения своих метаданных. Загрузчик gptboot ничего не знает о программном зеркале и ищет резервный заголовок GPT в конце диска, а там находятся метаданные gmirror
О спасибо! А то сидел вот
О спасибо! А то сидел вот "чесал репу" (сразу недопёрло) как бы собрать gmirror на "девятке" с GPT. В мануале ведь написано что будет после gmirror label: ".. The following procedure is also incompatible with the default installation settings of FreeBSD 9.X which use the new GPT partition scheme. GEOM will overwrite GPT metadata, causing data loss and possibly an unbootable system." Ща попробую!
Я на тестовой машине сначала
Я на тестовой машине сначала получил систему, которая не могла загрузится. Соответственно пришлось "копать" что да как...
Re: Gmirror - програмный RAID 1 и GPT
сначала разметить диск, а потом вставить его в зеркало? умно... ничего не скажешь. и такие люди еще будут кого-то учить...
Re: Gmirror - програмный RAID 1 и GPT
Предложите свой порядок действий...
Re: Gmirror - програмный RAID 1 и GPT
Если это SATA винты и мать от Intel, то скорее всего на матери есть RAID1, а в FreeBSD 9 появился geom_raid, который поддерживает Intel RAID1, нужно только подгрузить этот модуль вместо geom_mirror, и все, установщик увидет это зеркало, как винт, и потом не будет ни каких сообщений об ошибка, а мониторинг точно такой же. Но конечно лучше аппаратный RAID.
Re: Gmirror - програмный RAID 1 и GPT
День добрый!
Проделал всё по Вашему мануалу, после загрузки получаю ошибку
Mounting from ufs:/dev/mirror/gm0p2 failed with error 19
....
mountroot>
Подскажите, как это побороть?
Re: Gmirror - програмный RAID 1 и GPT
Открывайте ветку на форуме, попробуем разобраться...
Re: Gmirror - програмный RAID 1 и GPT
По поводу этой ошибки: Mounting from ufs:/dev/mirror/gm0p2 failed with error 19
Сам затупил...
При создании партиций выбрал Auto, надо было вручную, тогда они создаются корректно. Получилось вот так:
ada0
mirror/gm0 149Gb GPT
mirror/gm0 64kB boot
mirror/gm0 142GB freebsd-ufs
mirror/gm0 4GB freebsd-swap
ada1
......................То же самое
И всё работает! Спасибо за статью.
Re: Gmirror - програмный RAID 1 и GPT
Рад что разобрались...
Удачи.
Re: Gmirror - програмный RAID 1 и GPT
Здравствуйте!
GPT mirror собрал давно, получил казус при нарушении /boot/loader.conf (новая строчка встала сразу после ) т.е. geom_mirror_load="YES"tmpfs_load="YES"
и зеркало не собиралось, когда заметил было поздно :) Пришлось выгонять из зеркала винт со старыми данными, зачищать и синхронизировать снова. Как научить geom_mirror отсылать на почту состояние?
Re: Gmirror - програмный RAID 1 и GPT
Можно использовать утилиты мониторинга, например Nagios. Либо же самостоятельно написать скрипт проверки.
Однако, чтобы не изобретать велосипед, можно просто добавить в файл /etc/periodic.conf (если файла /etc/periodic.conf нету, его необходимо создать - см. /etc/defaults/periodic.conf) опцию daily_status_gmirror_enable="YES".
Re: Gmirror - програмный RAID 1 и GPT
Я извиняюсь, скажите почему в 8 пункт для наглядности не добавили пример:
Пробую настроить уже 3 недели этот софт рейд но все безуспешно... пробовал по многим статьям но везде есть пробелы на которые уже приходится натыкатся в процессе установки, у меня как только я включаю подгрузку модуля gmirror в loader.conf или собираю ядро включив опцию
все система не грузится и выкидывает в mountroot> где я ни с одного из устройств("вывод ?") загрузится тоже не могу.
При этом я raid даже не собирал еще!! просто решил включить этот модуль в поддержку ядра пересобрав ядро или добавив запись в loader.conf, и так и так я получаю нерабочую систему...
Re: Gmirror - програмный RAID 1 и GPT
Советую перепроверить конфиги собранного ядра, с большой долей вероятности там нет устройства с которого грузится система=-) или попробуйте дописать в /boot/loader.conf указанную строку в статье,+проверьте, подкружается ли sysctl kern.geom.debugflags=16 в систему вообще, как обычно бывает, упущено что-то в нумерации дисков еще может быть...