Устанавливаем FreeBSD на один из дисков в обычном режиме и перезагружаемся в свежеустановленную систему. Ну или используем уже имеющуюся работающую систему.
Сразу хочу отметить, что что при установки системы зеркалирование у меня заработало только когда я при разметки диска использовал формат разделов bsd. Возможно оно работает и с mbr, но с gpt у меня ничего не получилось.
Для начала включим отладку и откроем тем самым доступ к устройству.
# sysctl kern.geom.debugflags=17(Если этого не сделать, тол создать массив не удастся)
Теперь создадим зеркало:
# gmirror label -vb round-robin gm0 /dev/da0
Система должна сообщить нам об успешном сохранении метаданных
Metadata value stored on /dev/da0. Done.
Загрузим драйвер gmirror
# gmirror load
И сделаем так, чтобы loader загружал драйвер при старте системы
# echo 'geom_mirror_load="YES"' >> /boot/loader.conf
Теперь переходим к правке /etc/fstab, для того, чтобы наши файловые системы монтировались не с диска, а с устройства gm0.
# vi /etc/fstab
Приводим его к следующему виду:
# Device Mountpoint FStype Options Dump Pass# /dev/mirror/gm0p1 none swap sw 0 0 /dev/mirror/gm0p2 / ufs rw 1 1 /dev/acd0 /cdrom cd9660 ro,noauto 0 0
То есть нужно заменить строки содержащие "/dev/da0" на "/dev/mirror/gm0".
Так же нужно помнить, какой тип разделов используется на диске. Мой /etc/fstab для bsd.
Теперь самая интересная часть. Перезагружаем систему.
Если вы всё сделали верно, то система должна загрузиться нормально, если же вы где-то допустили ошибку, то загружаемся с установочного диска, монтируем корневой раздел и либо правим fstab либо возвращаем первоначальный вариант.
И так, мы загрузились. Вставляем второй диск в зеркало, командой:
# gmirror insert gm0 /dev/da1
И тут же можем наблюдать процесс синхронизации зеркал командой
# gmirror status
По завершению синхронизации мы должны увидеть вот такую картину
Name Status Components mirror/gm0 COMPLETE da0 da1
Теперь можно смоделировать сбой одного из дисков. Выключаем систему, и вынимаем один из дисков и ставим чистый или же затираем его начало нулями или дампом из /dev/urandom.
# dd if=/dev/zero of=/dev/da0
После этого система система не загрузится. Выбираем в BIOS, загрузку со второго диска, загружаем систему и выбрасываем сбойный диск из массива командой:
# gmirror forget gm0
И добавляем новый диск в массив:
# gmirror insert gm0 /dev/da0
Дожидаемся окончания процесса синхронизации, перезагружаемся и выбираем в BIOS наш первичный диск.
Теперь сбой жёсткого диска нам не страшен.
Комментариев нет:
Отправить комментарий