gmirror - Зеркалирование (Mirroring) - FreeBSD
Установка FreeBSD на RAID1 (gmirror).
Конфигурация маршрутизатора: Два идентичных Что такое IDE интегрированная среда разработки? Список 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 (клавиша А - автоматически разбивает диск):
/ 1 Гб (1024 MB) swap 1 Гб (1024 MB) /var 30 GB (30720MB) /tmp 1 Гб (1024 MB) /usr - 116 GB все остальное
Выбираем набор Developer, подтверждаем установку набора портов. Выбираем установку с CD/DVD, подтверждаем форматирование HDD и далее устанавливаем систему. После установки пароля для root в обычном случае установка операционной системы закончена - можно перегружаться и настраивать систему далее. Но нам нужно установить RAID1, поэтому на этом этапе НЕ ПЕРЕГРУЖАЕМСЯ.
- Настройка RAID1 - Зеркалирование
После установки пароля для root НЕ ПЕРЕГРУЖАЕМСЯ. Нажимаем Alt-F4 для перехода в режим командной строки.
# tcsh - можно, например csh - главное чтобы оболочка была предустановлена (см. файл /etc/shells) и поддерживала историю команд. ns #
Создаем устройство /dev/mirror/gm и связываем его с устройством, в моем случае /dev/ad0:
ns # gmirror label -v -b round-robin gm0 /dev/ad0 где -v включает режим отладки -b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм) gm0 - имя первого зеркала GEOM /dev/ad0 - указывает на HDD, содержащий данные для зеркалирования
Однако, если вы попробуете выполнить эту команду сейчас, то будете разочарованы:
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, извлекаем установочный диск и выходим из утилиты установки. Перегружаемся.
Синхронизация дисков
Единственное, что мы еще не сделали, так это не синхронизировали диски. Это случится автоматически, как только вы вставите второй диск в зеркало:
ns # gmirror insert gm0 /dev/ad2 GEOM_MIRROR: Device gm0: provider ad2 detected. GEOM_MIRROR: Device gm0: rebuilding provider ad2.
Посмотреть на текущий статус массива можно так
ns # gmirror status Name Status Components mirror/gm0 DEGRADED ad0 ad2 (3%)
где в скобках указан процент синхронизированных данных. После окончания синхронизации данных dmesg выведет
GEOM_MIRROR: Device gm0: rebuilding provider ad2 finished. GEOM_MIRROR: Device gm0: provider ad2 activated.
и статус массива поменяется на рабочий
ns # gmirror status Name Status Components mirror/gm0 COMPLETE ad0 ad2
Мониторинг gmirror
FreeBSD: gmirror (RAID1) - Зеркалирование (Mirroring)
> man 8 gmirror > ls /dev/mirror/ gm0 gm0s1 gm0s1a gm0s1b gm0s1c gm0s1d gm0s1e gm0s1f
/dev/mirror/gm0 - программный RAID, созданный утилитой gmirror
> gmirror status Name Status Components mirror/gm0 COMPLETE ad0 ad2
Настроим мониторинг RAID, при помощи скриптов идущих вместе с ОС FreeBSD:
> ls /etc/periodic/daily/
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 вместе с остальными отчетами.
> ee /etc/periodic.conf # 406.status-gmirror daily_status_gmirror_enable="YES" # Check gmirror(8)
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах