Телефон: +7 (499) 703-5166   Поддержка: support@serverclub.com   Твиттер: @serverclub

Установка freebsd 9.3 на zfs с програмным raid6 из 4-х дисков

Главная > О нас > Новости
О чем ?
Заголовок уже рассказал нам о чем пойдет речь, остается лишь добавить, что это будет не полноценное how-to, а скорее заметка, памятка.
Представляем вашему вниманию скрипт автоматизирующий процесс установки. Остальные моменты достаточно освещены в других статьях, не будем повторяться.

Итак, скрипт:


sysctl kern.geom.debugflags=0x10
kldload zfs
gpart destroy -F /dev/ada0
gpart destroy -F /dev/ada1
gpart destroy -F /dev/ada2
gpart destroy -F /dev/ada3
gpart create -s GPT /dev/ada0
gpart create -s GPT /dev/ada1
gpart create -s GPT /dev/ada2
gpart create -s GPT /dev/ada3

gpart add -b 34 -s 64k -t freebsd-boot /dev/ada0
gpart add -b 34 -s 64k -t freebsd-boot /dev/ada1
gpart add -b 34 -s 64k -t freebsd-boot /dev/ada2
gpart add -b 34 -s 64k -t freebsd-boot /dev/ada3

gpart add -t freebsd-zfs -l disk0 /dev/ada0
gpart add -t freebsd-zfs -l disk1 /dev/ada1
gpart add -t freebsd-zfs -l disk2 /dev/ada2
gpart add -t freebsd-zfs -l disk3 /dev/ada3

gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 /dev/ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 /dev/ada1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 /dev/ada2
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 /dev/ada3

zpool create -m /mnt zroot raidz2 /dev/gpt/disk0 /dev/gpt/disk1 /dev/gpt/disk2 /dev/gpt/disk3
zfs set checksum=fletcher4 zroot
zfs set atime=off zroot
zpool set bootfs=zroot zroot
zfs set mountpoint=/mnt zroot
zpool export zroot
zpool import -o cachefile=/tmp/zpool.cache zroot
zfs create zroot/usr
zfs create zroot/usr/home
zfs create zroot/var
zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp
zfs create -o compression=lzjb -o setuid=off zroot/usr/ports
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles
zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log
zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
zfs create -V 16G zroot/swap
zfs set org.freebsd:swap=on zroot/swap
zfs set checksum=off zroot/swap
chmod 1777 /mnt/tmp
chmod 1777 /mnt/var/tmp
cd /mnt ; ln -s usr/home home
echo "install ..."
sleep 1
mkdir /usr/freebsd-dist
cd /usr/freebsd-dist
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/src.txz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/base.txz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/kernel.txz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/9.3-RELEASE/lib32.txz
cat base.txz | tar --unlink -xvpJf - -C /mnt
cat kernel.txz | tar --unlink -xvpJf - -C /mnt
cat lib32.txz | tar --unlink -xvpJf - -C /mnt
cat src.txz | tar --unlink -xvpJf - -C /mnt
echo "install ok"
sleep 1

cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
echo '#vm.kmem_size="512M"' >> /mnt/boot/loader.conf
touch /mnt/etc/fstab
zfs set readonly=on zroot/var/empty
zfs umount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var

reboot


Для удобства можно его wget'нуть - http://blog.serverclub.ru/install_freebsd_zfs.sh

Возникнут вопросы, милости просим в комментарии.
Оригинал читайте на http://blog.serverclub.ru/page/ustanovka-freebsd-93-na-zfs-s-programnym-raid6-iz-4-h-diskov
Вход
Регистрация
Напоминание пароля
Условия соглашения
Согласится
Нужна помощь?

Письмо отправлено! Наш менеджер свяжется с Вами в ближайшее время

OK