Руководство FreeBSD | ||
---|---|---|
Пред. | Глава 18. GEOM: Модульная инфраструктура преобразования дисковых запросов | След. |
Зеркалирование (Mirroring) -- технология, применяемая как в корпоративной среде, так и на домашних компьютерах. Она позволяет создавать резервные копии ''на лету''. Зеркалирование, по сути, означает, что диск A является копией диска B. Или, возможно, диск C+D является копией диска A+B. Вне зависимости от конфигурации, основной аспект -- дублирование информации. Позже, эта информация может быть с легкостью восстановлена или сохранена как резервная копия без остановки системы, или даже физически помещена в хранилище данных.
Перед началом, убедитесь, что у вас есть два физических диска равной емкости. Далее в этом примере подразумевается, что это диски прямого доступа (direct access, da(4)) с интерфейсом SCSI.
Начните с установки FreeBSD на первый диск с двумя разделами. Один из этих разделов должен быть раздел swap, равный двум размерам RAM, а все остальное место отведено под корневую файловую систему (/). Возможно также иметь отдельные разделы и для остальных точек монтирования, но так как это в несколько раз увеличивает количество манипуляций с bsdlabel(8) и fdisk(8), то в данной главе мы остановимся на более простом варианте.
После установки перезагрузитесь и дождитесь окончания инициализации системы, затем войдите как суперпользователь root.
Создайте устройство /dev/mirror/gm и свяжите его с устройством /dev/da1:
# gmirror label -vnb round-robin gm0 /dev/da1
В ответ вы должны получить сообщение:
Metadata value stored on /dev/da1. Done.
Инициализируйте GEOM; эта команда загрузит модуль ядра /boot/kernel/geom_mirror.ko:
# gmirror load
Замечание: Эта команда создаст устройства gm0, gm0s1, gm0s1a и gm0s1c в каталоге /dev/mirror.
Установите стандартную разметку fdisk и загрузчик на новое устройство gm0:
# fdisk -vBI /dev/mirror/gm0
Теперь установите стандартную разметку bsdlabel:
# bsdlabel -wB /dev/mirror/gm0s1
Замечание: Если у вас несколько слайсов или разделов, параметры двух предыдущих команд должны быть другими. Среди них должны быть указаны размеры слайсов и разделов.
Используйте newfs(8), чтобы создать файловую систему на устройстве gm0s1a:
# newfs -U /dev/mirror/gm0s1a
Это заставит систему проассоциировать устройства, и это хорошо. Проверьте, не было ли сообщений об ошибках, и смонтируйте устройство в каталог /mnt:
# mount /dev/mirror/gm0s1a /mnt
Теперь переместите все данные с загрузочного диска на только что созданную файловую систему. Для этого используйте dump(8) и restore(8); в некоторых случаях можно использовать dd(1).
# dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)
Проделайте это со всеми файловыми системами. Просто подставьте нужную файловую систему в предыдущую команду.
Теперь отредактируйте /mnt/etc/fstab и закомментируйте swap файл [1]. Измените информацию о других файловых системах, размещенных на диске, как показано в примере:
# Device Mountpoint FStype Options Dump Pass# #/dev/da0s2b none swap sw 0 0 /dev/mirror/gm0s1a / ufs rw 1 1
Создайте файл boot.config на обоих разделах: созданном и существующем. С помощью этого файла BIOS сможет загрузить правильный диск:
# echo "1:da(1,a)/boot/loader" > /boot.config
# echo "1:da(1,a)/boot/loader" > /mnt/boot.config
Замечание: Мы поместили этот файл в оба корневых раздела на тот случай, если по каким-либо причинам система не сможет загрузиться с нового раздела. В таком случае загрузка со старого все еще будет возможна.
Включите загрузку модуля geom_mirror.ko при старте системы, выполнив следующую команду:
# echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf
Перезагрузитесь:
# shutdown -r now
Если все было сделано правильно, система загрузится с gm0s1a. Если же что-то пойдёт не так, обратитесь к секции ''Решение проблем''.
Теперь добавьте диск da0 к устройству gm0:
# gmirror configure -a gm0 # gmirror insert gm0 /dev/da0
Ключ -a
даст утилите команду gmirror(8)
использовать автоматическую синхронизацию, то есть автоматически дублировать запись на
диски. Страница справки разъясняет, как перестраивать и заменять диски, Будьте
внимательны, вместо gm0 там использовано обозначение data.
Если система прекращает загрузку и выдает строку:
ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot>
Перезагрузите компьютер кнопкой питания или кнопкой ''Reset''. В загрузочном меню выберите опцию (6). Это приведёт к тому, что система выдаст приглашение loader(8). Загрузите модуль ядра вручную:
OK? load geom_mirror OK? boot
Если это сработало, модуль ядра по какой-либо причине не загрузился правильно. Добавьте строку
options GEOM_MIRROR
в файл конфигурации ядра, пересоберите и переустановите ядро. Это должно устранить проблему.
[1] |
Следует заметить, что после комментирования записи о разделе подкачки в файле fstab вам, скорее всего, потребуется разрешить подкачку каким-либо другим способом. Обратитесь к Разд. 11.14 за дополнительной информацией. |
Пред. | Начало | След. |
RAID0 - Создание дисковой последовательности (Striping) | Уровень выше | Сетевые устройства GEOM Gate |
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.