путевая записка для себя как ставить загрузить с 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