Выложен перевод (http://dreamcatcher.ru/docs/freebsd-raid.html) вышедшей несколько дней назад статьи Дрю Лавинь "Using Software RAID-1 with FreeBSD (http://www.onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html)", в которой рассмотрены вопросы создания программного массива RAID 1, используя технологию gmirror (http://www.freebsd.org/cgi/man.cgi?query=gmirror).URL: http://dreamcatcher.ru/docs/freebsd-raid.html
Новость: http://www.opennet.me/opennews/art.shtml?num=6433
The initial g indicates that each of these programs takes advantage of GEOM. перевелось как Начальная g указывает на то, что данные утилиты обманывают GEOM.целая система обманщиков и мошенников
Скажи, как правильно и я с удовольствием исправлю.
пользуются возможностями, которые предоставляет GEOM
Ок, спасибо :)
и еще, ошибка в изначальной статье с (g)mirror перешла и в перевод. просто mirror нету, есть gmirror
Тогда уже:
пользуются преимуществами GEOM.
а не "возможностями"
Огромное спасибо автору и переводчику!Получил большое удовольствие, прочитав статью и опробовав создание RAID на VmWare
http://ezine.daemonnews.org/200502/diskmirror.html
Эх если б еще в одной статье было собрана информация как поведет себя система если сдох один из дисков зеркала, что будет в логах, как лучше настроить оповещение, можно ли нагорячую(разумеется если диски, скажем САТА, из которых не пойдет дымок от горячего передергивания) менять сбойный накопитель... и тд вобщем как потом с этим зеркалом жить дальше.В целом впечатление от статьи хорошее.
если просто по какой-то причине произойдет рассинхронизация (например, в результате сбоя питания), то status quo будет восстановлен автоматически, а если винт вылетит совсем, то понадобится ручное вмешательство. Вся информация по состоянию зеркал при запуске системы и изменения в процессе работы отражаются в логах ядра. Это, кстати, упомянуто в статье, правда, уосвенно. Добавление/синхронизация тоже описаны, так что не понимаю суть претензии.
Кстати
echo geom_mirror_load="YES" > /boot/loader.conf
в этом виде делать не рекомендую (лично у меня /boot/loader.conf обычно не пуст уже в первые дни функионирования системы), лучше уж
echo geom_mirror_load="YES" >> /boot/loader.conf
Выключил VmWare, отключил второй HDD.
Включил - FreeBSD загрузилась нормально, на потерю второго винта никак не отреагировала (ругани не заметил).Выключил. Цепанул второй диск, как рос раньше.
Появились надписи при загрузке:
provider ad2 detected
rebuilding provider ad2После этого система нормально загрузилась, gstat показывает 2 диска в RAID-е, gmirror status показывает, что второй диск синхронизируется с первым.
Усе ок.
Кстати если делать наоборот (отключить первый диск) ничего не изменяется - все точно также :)
Отличная статья - большой респект автору
Все выглядит довольно просто. Почти так же просто, как использование mdadm в Линукс.
провел эксперимент на двух одинаковых sata дисках. все сделал как в статье, при синхронизации до 4% - сказал "reboot" - после перезагрузки синхронизации продолжилась.более интересное - дальше выключил машину нормально (freebsd "reboot") - и диски _поменял_ на sata-шлейфах - включил компьютер - нормально загрузилась freebsd - и началась (или продолжилась с прерванного места - это я не отследил) синхронизация дисков.
завтра займусь отключением питания и sata-шлейфов "на ходу".
>завтра займусь отключением питания и sata-шлейфов "на ходу".Интересно - обязательно напиши, каков был результат.
А то у меня под рукой нет SATA дисков, как нет и материнок, с поддержкой SATA :)
>>завтра займусь отключением питания и sata-шлейфов "на ходу".продолжение.
выдергивание из SATA винчестера шнура питания или данных (без разницы) - приводит к тому что ядро секунд через 5 пишет, что диска больше нет, отключен. из зеркала он исчезает. добавляется обратно как написано в man gmirror:
gmirror gorget gm0
gmirror insert gm0 /dev/ad6второй интересный эксперимент - переход 5.4 -> 6.0 (cvsup до 6.0 и т.д)
во время синхронизации iostat показывал для ad4/ad6 (два одинаковых диска)
на 5.4 - ~12MB/s
на 6.0 - ~40MB/sи процентики синхронизации побежали конечно быстрее! :)
кстати синхронизируются диски (если например reboot сделать) с прерванного места.
замечательно! :)))
Есть одна грабля с обновлением ядра. Если вы сделали запись загрузки модуля geom_mirror в loader.conf, и после этого хотите добавить options GEOM_MIRROR в ядро, то не забудьте убрать загрузку модуля из loader.conf, иначе машина не грузится. У меня она застревала на определении SCSI устройств, после которого должна идти сборка зеркала.
при каждой перезагрузке машины начинается синхронизация винтов каждый раз - что за фигня?
>при каждой перезагрузке машины начинается синхронизация винтов каждый раз - что за
>фигня?у меня такого не было, но я игрался всего неделю. при каких условиях у тебя это происходит?
>при каждой перезагрузке машины начинается синхронизация винтов каждый раз - что за
>фигня?А после создания рейда ты дождался полной синхронизации? Это длится достаточно долго.
конечно дождался.
Два винта по 160 гигов каждый.SATA
Около 10 часов шла синхронизация,потом оба диска ACTIVE. Ошибок нет,все работает.Как только машинку перегружаешь - тот или другой винт начинают по новой синхронизироваться, опять около 10 часов,и так каждый раз.
Вот лог при перезапуске системы:
kernel: ad4: 152627MB <ST3160023AS/3.05> 10101/16/63] at ata2-master SATA150
kernel: ad6: 152627MB <ST3160023AS/3.05> [310101/16/63] at ata3-master SATA150
kernel: GEOM_MIRROR: Device gm0 created (id=2511090461).
kernel: GEOM_MIRROR: Device gm0: provider ad4 detected.
kernel: GEOM_MIRROR: Device gm0: provider ad6 detected.
kernel: GEOM_MIRROR: Device gm0: provider ad6 activated.
kernel: GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.
kernel: GEOM_MIRROR: Device gm0: rebuilding provider ad4.Затем спустя 12 часов:
kernel: GEOM_MIRROR: Device gm0: rebuilding provider ad4 finished.
kernel: GEOM_MIRROR: Device gm0: provider ad4 activated.После следующей перегрузки все сначала.
У меня такая проблема. Два абсолютно идентичных винта SATA по 80 Гб определяются как ad4 и ad6. Установка RAID происходит нормально до того момента, как начинаю вставлять в зеркало второй винт. При попытке выполнить команду gmirror insert gm0 /dev/ad6 появляется сообщение "Provider ad6 too small". В чем причина, помогите!!!
Проверь физический размер дисков:
fdisk /dev/ad4
fdisk /dev/ad6
Скорее всего размеры дисков разные (CxHxS), причем, как видно ad6<ad4