Инструменты пользователя

Инструменты сайта


gmirror

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

gmirror [2018/12/27 14:00] (текущий)
Строка 1: Строка 1:
 +====== gmirror - Зеркалирование (Mirroring) - FreeBSD ======
 +  * [[http://​www.opennet.ru/​base/​sys/​freebsd_gmirror_raid1.txt.html|Использование программного RAID-1 (gmirror) в FreeBSD]]
 +
 +Установка FreeBSD на RAID1 (gmirror).
 +
 +Конфигурация маршрутизатора:​
 +Два идентичных [[IDE]] диска на отдельных кабелях и контроллерах,​ обозначенных как /dev/ad0 и /dev/ad2. Оба винчестера Primary Master для своего контроллера.
 +  * **Установка**
 +Инсталлируем [[FreeBSD]] 7.2 Release c CD-ROM в режиме Standard. В меню Select Drives, должны быть видны оба HDD ad0 и ad2. Выбираем ad0, чтобы инсталлировать систему на Primary Master контроллера IDE1. С помощью утилиты [[fdisk]] удаляем любые существующие разделы и выбераем "Use entire disk". На вопрос о меню загрузки,​ выбираем "​Standard MBR". В редакторе меток диска (Disklabel Editor) создаем разделы на ad0 (клавиша А - автоматически разбивает диск):
 +<​code>​
 +/      1 Гб (1024 MB)
 +swap   1 Гб  (1024 MB)
 +/var   30 GB (30720MB)
 +/tmp   1 Гб (1024 MB)
 +/usr - 116 GB все остальное ​
 +</​code>​
 +Выбираем набор Developer, подтверждаем установку набора портов. Выбираем установку с CD/DVD, подтверждаем форматирование HDD и далее устанавливаем систему.
 +После установки пароля для root в обычном случае установка операционной системы закончена - можно перегружаться и настраивать систему далее. Но нам нужно установить RAID1, поэтому на этом этапе **НЕ ПЕРЕГРУЖАЕМСЯ**.
 +  * **Настройка RAID1 - Зеркалирование**
 +После установки пароля для root **НЕ ПЕРЕГРУЖАЕМСЯ**.
 +Нажимаем Alt-F4 для перехода в режим командной строки.
 +<​code>​
 +# tcsh - можно, например csh - главное чтобы оболочка была предустановлена (см. файл /​etc/​shells) и  поддерживала историю команд.
 +ns #
 +</​code>​
 +Создаем устройство /​dev/​mirror/​gm и связываем его с устройством,​ в моем случае /dev/ad0:
 +<​code>​
 +ns # gmirror label -v -b round-robin gm0 /dev/ad0
 +
 +где ​
 +-v включает режим отладки
 +-b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм)
 +gm0 - имя первого зеркала GEOM
 +/dev/ad0 - указывает на HDD, содержащий данные для зеркалирования
 +</​code>​
 +Однако,​ если вы попробуете выполнить эту команду сейчас,​ то будете разочарованы:​
 +
 +       ns # gmirror label -v -b round-robin gm0 /dev/ad0
 +       ​Can'​t store metadata on /dev/ad0: Operation not permitted
 +Это особенность защиты,​ которая указывает,​ что диск в настоящее время установлен для записи и поэтому недоступен. Однако,​ вы можете обойти эту проблему цыпленка-и-яйца и временно вынудить gmirror обойти эту меру, чтобы создать зеркалирование/​дуплекс,​ устанавливая sysctl MIB:
 +        ns # sysctl kern.geom.debugflags=16
 +        kern.geom.debugflags:​ 0 -> 16
 +
 +
 +После перезагрузки этот параметр снова примет значение "​0"​. А теперь выполним:​
 +
 +        ns # gmirror label -v -b round-robin gm0 /dev/ad0
 +        Metadata value stored on /dev/ad0
 +**Все, теперь у нас есть RAID 1.**
 +
 +Редактируем два файла. Первый из них loader.conf в настоящее время пуст:
 +
 +        ns # echo geom_mirror_load="​YES"​ > /​boot/​loader.conf
 +
 +
 +Поскольку в файле /etc/fstab у нас уже содержатся некие данные,​ то лучше сделать его резервную копию.
 +
 +        ns # cp /etc/fstab /​etc/​fstab.orig
 +        ns # ee /etc/fstab
 +Необходимо отредактировать каждую строку содержащую ad, заменив ad на gm и вставить mirror после /dev . Например,​ /dev/ad0s1a трансформируется в /​dev/​mirror/​gm0s1a.
 +Сохраняем файл /etc/fstab. Нажимаем Alt-F1, извлекаем установочный диск и выходим из утилиты установки. Перегружаемся.
 +
 +**Синхронизация дисков**
 +
 +Единственное,​ что мы еще не сделали,​ так это не синхронизировали диски. Это случится автоматически,​ как только вы вставите второй диск в зеркало:​
 +<​code>​
 +ns # gmirror insert gm0 /dev/ad2
 +GEOM_MIRROR:​ Device gm0: provider ad2 detected.
 +GEOM_MIRROR:​ Device gm0: rebuilding provider ad2.
 +</​code>​
 +Посмотреть на текущий статус массива можно так
 +<​code>​
 +ns #  gmirror status
 +Name    Status ​ Components
 +mirror/​gm0 ​ DEGRADED ​ ad0
 +                      ad2 (3%)
 +</​code>​
 +где в скобках указан процент синхронизированных данных.
 +После окончания синхронизации данных dmesg выведет
 +<​code>​
 +GEOM_MIRROR:​ Device gm0: rebuilding provider ad2 finished.
 +GEOM_MIRROR:​ Device gm0: provider ad2 activated.
 +</​code>​
 +и статус массива поменяется на рабочий
 +<​code>​
 +ns # gmirror status
 +Name    Status ​ Components
 +mirror/​gm0 ​ COMPLETE ​ ad0
 +                      ad2
 +</​code>​
 +
 +====== Мониторинг gmirror ======
 +[[http://​www.freebsd.org.ua/​doc/​ru_RU.KOI8-R/​books/​handbook/​geom-mirror.html|FreeBSD:​ gmirror (RAID1) - Зеркалирование (Mirroring)]]
 +
 +<​code>​
 +> man 8 gmirror
 +> ls /​dev/​mirror/​
 +gm0 gm0s1 gm0s1a gm0s1b gm0s1c gm0s1d gm0s1e gm0s1f
 +</​code>​
 +/​dev/​mirror/​gm0 ​ - программный RAID, созданный утилитой gmirror
 +<​code>​
 +> gmirror status
 +      Name    Status ​ Components
 +mirror/​gm0 ​ COMPLETE ​ ad0
 +                      ad2
 +</​code>​
 +Настроим мониторинг RAID, при помощи скриптов идущих вместе с ОС FreeBSD:
 +<​code>​
 +> ls /​etc/​periodic/​daily/​
 +</​code>​
 +100.clean-disks 150.clean-hoststat 330.news 407.status-graid3 440.status-mailq 500.queuerun
 +110.clean-tmps 200.backup-passwd 400.status-disks 408.status-gstripe 450.status-security 999.local
 +120.clean-preserve 210.backup-aliases 404.status-zfs 409.status-gconcat 460.status-mail-rejects
 +130.clean-msgs 300.calendar 405.status-ata-raid 420.status-network 470.status-named
 +140.clean-rwho 310.accounting **406.status-gmirror** 430.status-rwho 480.status-ntpd
 +
 +
 +Разрешаем запуск скрипта 406.status-gmirror,​ установив YES в файле /​etc/​defaults/​periodic.conf или создать новый файл /​etc/​periodic.conf,​ который отменит настройки по умолчанию. Теперь один раз в день будет проверяться состояние RAID и высылаться на EMail вместе с остальными отчетами.
 +<​code>​
 +> ee /​etc/​periodic.conf
 +# 406.status-gmirror
 +daily_status_gmirror_enable="​YES" ​                      # Check gmirror(8)
 +</​code>​
 +
  
gmirror.txt · Последние изменения: 2018/12/27 14:00 (внешнее изменение)