Столкнулся с проблемой реализации подобной связки GPT и gmirror на FreeBSD 9.0.
Методом проб и ошибок получилась вот такая пошаговая инструкция:
0. Загружаемся с диска FreeBSD 9.0 amd64 в режиме LiveCD, система спросит логин, вводим root, а вместо пароля просто жмем Enter.
1. Удаляем все GPT данные с дисков:
3.1 Загрузочный раздел
6.1 Монтируем созданную файловую систему в /mnt
Ссылки по теме:
0. Загружаемся с диска FreeBSD 9.0 amd64 в режиме LiveCD, система спросит логин, вводим root, а вместо пароля просто жмем Enter.
1. Удаляем все GPT данные с дисков:
FreeBSD# gpart destroy -F ada0 FreeBSD# gpart destroy -F ada12. Создаем GPT на 1 диске:
FreeBSD# gpart create -s gpt ada03. Создаем GPT разметку на 1 диске:
3.1 Загрузочный раздел
FreeBSD# gpart add -b 34 -s 94 -t freebsd-boot ada03.2 Раздел подкачки
FreeBSD# gpart add -s 5G -t freebsd-swap ada03.3 Файловую систему UFS
FreeBSD# gpart add -t freebsd-ufs ada03.4 Проверяем все ли так, как мы задумали
FreeBSD# 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 Записываем загрузчик
FreeBSD# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada03.6 Копируем разметку GTP с 1 диска на 2 диск
FreeBSD# gpart backup ada0 | gpart restore -F ada13.7. Проверяем что теперь получилось:
FreeBSD# 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)4. загружаем gmirror:
FreeBSD# gmirror load4.1 Создаем RAID1 для SWAP раздела
FreeBSD# gmirror label -v -b round-robin swap /dev/ada0p24.2 Добавляем 2-ой диск в зеркало:
FreeBSD# gmirror insert swap /dev/ada1p24.3 Создаем RAID1 для UFS раздела:
FreeBSD# gmirror label -v -b round-robin rootfs ada0p34.4 Добавляем 2-ой диск в зеркало:
FreeBSD# gmirror insert rootfs /dev/ada1p34.5 Удалить случайно созданные RAID1 разделы(если вдруг чего-то напутали выше)
FreeBSD# gmirror remove swap ada0p2 ada1p25. Создаем файловые системы на RAID1 разделах
FreeBSD# newfs -m 1 -U /dev/mirror/rootfs6. УСТАНОВКА FreeBSD:
6.1 Монтируем созданную файловую систему в /mnt
FreeBSD# mount /dev/mirror/rootfs /mnt6.2 Устанавливаем FreeBSD 9.0
FreeBSD# cd /usr/freebsd-dist FreeBSD# sh FreeBSD# export DESTDIR=/mnt FreeBSD# for file in base.txz kernel.txz lib32.txz; >do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/}); done6.3 Создаем /etc/fstab для установленной системы:
FreeBSD# 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
FreeBSD# cat > /mnt/boot/loader.conf << __EOF__ > geom_mirror_load="YES" > __EOF__7. Отмонтируем зеркало
FreeBSD# umount /mnt10. все готово, теперь можно перезагружаться и смотреть на результат
Ссылки по теме:
2 комментария:
Годная статья!!!
Огроменнейшее спасибо!!
Два дня потратил, воюя с девяткой на гпт и gmirror. постоянно сваливался на mountroot.
А по Вашим советам получилось наконец то буквально за двадцать минут)
Заберу себе)
Отправить комментарий