Столкнулся с проблемой реализации подобной связки GPT и gmirror
на FreeBSD 9.0.
Методом проб и ошибок получилась вот такая пошаговая инструкция:
- Загружаемся с диска FreeBSD 9.0
amd64
в режиме LiveCD, система спросит логин, вводимroot
, а вместо пароля просто жмем Enter. - Удаляем все GPT данные с дисков:
gpart destroy -F ada0
gpart destroy -F ada1
- Создаем GPT на
1
диске:bash gpart create -s gpt ada0
- Создаем GPT разметку на
1
диске: 3.1 Загрузочный раздел
gpart add -b 34 -s 94 -t freebsd-boot ada0
3.2 Раздел подкачки
gpart add -s 5G -t freebsd-swap ada0
3.3 Файловую систему UFS
gpart add -t freebsd-ufs ada0
3.4 Проверяем все ли так, как мы задумали
gpart show
=> 34 2930277101 ada0 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
3.5 Записываем загрузчик
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
3.6 Копируем разметку GTP с 1
диска на 2
диск
gpart backup ada0 | gpart restore -F ada1
3.7. Проверяем что теперь получилось:
gpart show
=> 34 2930277101 ada0 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
=> 34 2930277101 ada1 GPT (1.4T)
34 94 1 freebsd-boot (47k)
128 2097152 2 freebsd-swap (1.0G)
2097280 2928179855 3 freebsd-ufs (1.4T)
- загружаем
gmirror
:
gmirror load
4.1 Создаем RAID1 для SWAP раздела
gmirror label -v -b round-robin swap /dev/ada0p2
4.2 Добавляем 2
-ой диск в зеркало:
gmirror insert swap /dev/ada1p2
4.3 Создаем RAID1 для UFS раздела:
gmirror label -v -b round-robin rootfs ada0p3
4.4 Добавляем 2
-ой диск в зеркало:
gmirror insert rootfs /dev/ada1p3
4.5 Удалить случайно созданные RAID1 разделы(если вдруг чего-то напутали выше)
gmirror remove swap ada0p2 ada1p2
- Создаем файловые системы на RAID1 разделах
newfs -m 1 -U /dev/mirror/rootfs
- УСТАНОВКА FreeBSD:
6.1 Монтируем созданную файловую систему в
/mnt
mount /dev/mirror/rootfs /mnt
6.2 Устанавливаем FreeBSD 9.0
cd /usr/freebsd-dist
sh
export DESTDIR=/mnt
for file in base.txz kernel.txz lib32.txz; do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/}); done
6.3 Создаем /etc/fstab
для установленной системы:
cat > /mnt/etc/fstab <<-__EOF__
#dev #mount #fs #opts #dump #pass
/dev/mirror/rootfs / ufs rw 1 1
/dev/mirror/swap none swap sw 0 0
__EOF__
6.4 Создаем /boot/loader.conf
cat > /mnt/boot/loader.conf <<-__EOF__
geom_mirror_load="YES"
__EOF__
- Отмонтируем зеркало
umount /mnt
- все готово, теперь можно перезагружаться и смотреть на результат
Ссылки по теме: http://forums.freebsd.org/showthread.php?t=29098 HOWTO: Install FreeBSD 9.0 RELEASE (Root on UFS + ZFS, RAID1) http://bu7cher.blogspot.com/2011/03/freebsd-gmirror-gpt-ufs.html Варианты загрузки FreeBSD: gmirror + GPT + UFS http://www.lissyara.su/articles/freebsd/file_system/gmirror/ Использование gmirror для создания программного зеркалирования дисков http://forums.freebsd.org/showthread.php?t=28348 [Solved] No gmirror in 9.0, now what? http://www.wonkity.com/~wblock/docs/html/gmirror.html gmirror With Disk Partitions http://blather.michaelwlucas.com/archives/1071 mirroring FreeBSD-9 disks with GPT
Comments
comments powered by Disqus