наши услуги

спецпредложения

Главная » БЛОГ » FreeBSD » Установка FreeBSD 8.2 на ZFS с использованием GPT

Комментарии (5) Автор:

путевая записка для себя как ставить загрузить с DVD образа, другие не подходят, захожу в консоль Fixit (CD/DVD) SATA диск определился как ad4 создаю на нем основной раздел:

# gpart create -s GPT ad4
ad4 created
# gpart show ad4
=>       34  312581741  ad4  GPT  (149G)
         34  312581741       - free -  (149G)
создаю загрузочный раздел
# gpart add -s 128k -t freebsd-boot ad4 
ad4p1 added
# gpart show ad4
=>       34  312581741  ad4  GPT  (149G)
         34        256    1  freebsd-boot  (128K)
        290  312581485       - free -  (149G)
создаю своп важный момент: задать нужно метку -l swap0 это для отвязки от имени диска в системе. тогда его можно переставлять у какие угодно порты, fstab править не придется.
# gpart add -s 4G -t freebsd-swap -l swap0 ad4
ad4p2 added
# gpart show ad4
=>       34  312581741  ad4  GPT  (149G)
         34        256    1  freebsd-boot  (128K)
        290    4194304    2  freebsd-swap  (4.0G)
    8388898  304192877       - free -  (145G)

остальное отдаю под ZFS пул, важный момент: задать нужно метку -l disс0 это для отвязки от имени диска в системе. тогда его можно переставлять у какие угодно порты, fstab править не придется.
# gpart add -t freebsd-zfs -l disс0 ad4
ad4p3 added
# gpart show ad4
=>       34  312581741  ad4  GPT  (149G)
         34        256    1  freebsd-boot  (128K)
        290    4194304    2  freebsd-swap  (2.0G)
    8388898  304192877    3  freebsd-zfs  (145G)
устанавливаю загрузчик. если дисков несколько и мы планируем использовать их в ZFS рейде тогда загрузчик ставить нужно для каджого из дисков.
Fixit# gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 ad4
bootcode written to ad4
подгружаю модули ядра
Fixit# kldload /mnt2/boot/kernel/opensolaris.ko
Fixit# kldload /mnt2/boot/kernel/zfs.ko
создаю ZFS пул с именем zroot
Fixit# mkdir /boot/zfs
Fixit# zpool create zroot /dev/gpt/disc0
Fixit# zpool set bootfs=zroot zroot
Включаем алгоритм fletcher4:
Fixit# zfs set checksum=fletcher4 zroot
Создаем необходимые разделы:
Fixit# zfs create -o compression=gzip -o exec=on -o setuid=off zroot/tmp 
Fixit# chmod 1777 /zroot/tmp
Fixit# zfs create zroot/usr
Fixit# zfs create zroot/usr/home
Fixit# cd /zroot
Fixit# ln -s /usr/home home
Fixit# zfs create zroot/var
установка системы: происходит вручную :) TODO: оформить скриптом для себя весь процесс.
Fixit# cd /dist/8.2-RC1/
Fixit# export DESTDIR=/zroot
Fixit# cd base
Fixit# ./install.sh
Fixit# cd ../catpages
Fixit# ./install.sh
Fixit# cd ../dict
Fixit# ./install.sh
Fixit# cd ../doc
Fixit# ./install.sh
Fixit# cd ../info
Fixit# ./install.sh
Fixit# cd ../kernels
Fixit# ./install.sh generic
Fixit# cd ../manpages
Fixit# ./install.sh
Fixit# cd ../src
Fixit# ./install.sh all

----- для amd64 ------
Fixit# cd ../lib32
Fixit# ./install.sh
----------------------
Fixit# cd /zroot/boot
Fixit# cp -Rlp GENERIC/* /zroot/boot/kernel/
Делаем chroot в систему и правим конфиги:
Fixit# chroot /zroot
Fixit# echo 'zfs_enable="YES"' > /etc/rc.conf
Fixit# echo 'hostname="test.mydomain.local"' >> /etc/rc.conf
при маленьком количестве оперативы у меня 512М система вылетала в паник с сообщением kmem_map too small и я добавил строки про vm.kmem... если оперативы много можно не писать.
Fixit# echo 'zfs_load="YES"' > /boot/loader.conf
Fixit# echo 'vfs.root.mountfrom="zfs:zroot"' >> /boot/loader.conf
Fixit# echo 'vfs.zfs.prefetch_disable=1' >> /boot/loader.conf
Fixit# echo 'vm.kmem_size="330M"' >> /boot/loader.conf
Fixit# echo 'vm.kmem_size_max="330M"' >> /boot/loader.conf
Fixit# echo 'vfs.zfs.arc_max="40M"' >> /boot/loader.conf
Fixit# echo 'vfs.zfs.vdev.cache.size="5M"' >> /boot/loader.conf
Fixit# echo 'loader_logo="beastie"' >> /boot/loader.conf
Устанавливаем пароль суперпользователя, временную зону и выходим из чрута:
Fixit# passwd
Fixit# tzsetup
Fixit# cd /etc/mail
Fixit# make aliases
Fixit# exit
Fixit# cp /boot/zfs/zpool.cache /zroot/boot/zfs/zpool.cache
Редактируем /etc/fstab если жестких дисков несколько и label для свапов разные их нужно все указать в fstab
Fixit# cat << EOF > /zroot/etc/fstab
 # Device                       Mountpoint              FStype  Options         Dump    Pass#
 /dev/gpt/swap0                 none                    swap    sw              0       0
 EOF
Экспортируем LD_LIBRARY_PATH:
Fixit# export LD_LIBRARY_PATH=/mnt2/lib
Размонтируем все разделы zfs и изменим их точки монтирования:
Fixit# zfs umount -a
Fixit# zfs set mountpoint=legacy zroot
Fixit# zfs set mountpoint=/tmp zroot/tmp
Fixit# zfs set mountpoint=/usr zroot/usr
Fixit# zfs set mountpoint=/var zroot/var
Теперь выходим из Fixit и sysinstall. Перезаргужаемся с жесткого диска и смотрим:
#mount

#zfs list

#zpool status
источники: wiki.bsdportal.ru wiki.opennet.ru
продажа серверов бу
FREEhost.com.ua - качественный хостинг и регистрация доменов во всех зонах
Украинский хостинг - UNIX хостинг & ASP хостинг

Write a comment

  • Required fields are marked with *.

If you have trouble reading the code, click on the code itself to generate a new random code.
 
новичек
Posts: 5
Comment
проблема при первой же перезагрузке
Reply #5 on : Птн Апрель 08, 2011, 04:31:26
сделал все по инструкции (перед этим потренировался на вертуалке - там все гуд), на компе при первой же перезагрузке вываливается сообщение can't load 'kernel'. и как дальше? что делать??? /диск SATA/ прошу подробно описать мои дальнейшие действия для ликвидации сие недоразумения.
с наилучшими пожеланиями в ваш адрес.

Posts: 2
Comment
пропустили мне кажется пункт
Reply #4 on : Птн Апрель 08, 2011, 11:37:15
из хауту по поводу копирования /boot
а теперь наверное у вас просто не установлено ядро.

если на виртуалке все сработало значит метод работает.

что делать? ну например такое:
Загрузится с установочного диска,
воспользоватся
"Fixit Repair mode with CDROM/DVD/floppy or start shell "
смонтировать корень установленной оси в /mnt
Cкопировать директорию kernel в /mnt/boot/

или переустановить все заново.
новичек
Posts: 5
Comment
роблема при первой же перезагрузке
Reply #3 on : Вск Апрель 10, 2011, 09:47:08
переустанавливал с нуля, постоянно проверяя все действия и результат. все проходит, ядро устанавливается куда надо /boot/kernel/, все файлы на месте, пул перед переносом экспортировал и импортировал. результат тот же "can't load kernel". на вертуалке (сразу не обратил внимания) срабатывает раз на второй тех же действий по переустановке без формата виртуального диска (просто убиваю разделы гпартом, потом вновь создаю и по инструкции вновь - только потом кернел откуда-то находился и система бутилась).
есть специалист адекватно окажущий помощь или только будет холевар без конкретных пошаговых описаний действий? или религия не позволяет помочь новичку? (земля круглая парни, вам тоже когда-нибудь начнут отказывать в помощи в момент, когда вы сами не сможете разрулить ситуацию самостоятельно...)

Posts: 2
Comment
Re: проблема при первой же перезагрузке
Reply #2 on : Вск Апрель 10, 2011, 18:27:57
Интересная у вас позиция уважаемый.
Начнем с того, что тут никто вам ничего не должен.

Материалы публикуются как есть, а использование на свой риск. Конкретно эта заметка - 100% рабочая и писалась мной настраивая очередной серв. внизу первоисточники.

Специалисты есть, а пошаговых руководств? куда уж пошаговей то?

Не получается самостоятельно? Привозите железку и платите - все настроим.
Alex
Posts: 5
Comment
Отличная статья!!!
Reply #1 on : Чтв Апрель 14, 2011, 11:58:55
Автору огромное спасибо за проделанную работу. Всё завелось с пол оборота на реальной железке...