Если FreeBSD 9, сразу обновляемся
# freebsd-update fetch
# freebsd-update install
# freebsd-update upgrade -r 9.1-RELEASE
# freebsd-update install
# shutdown -r now
# freebsd-update install
———————————————————————————
———————————————————————————
pkg_add
Если pkg_add -r не работает:
setenv PACKAGESITE http://ftp6.ru.freebsd.org/pub/FreeBSD/ports/amd64/packages-9.1-release/Latest/
———————————————————————————
———————————————————————————
Если FreeBSD 9.1
Обновляем порты:
первый раз:
portsnap fetch && portsnap extract
для обновления после:
portsnap fetch && portsnap update
Если поломались базы то так:
rm -rf /var/db/portsnap
mkdir /var/db/portsnap
portsnap fetch extract
Ставим что нужно сразу:
Для обновлений исходников SVN
cd /usr/ports/devel/subversion
make install clean
для удобства утилита screen
cd /usr/ports/sysutils/screen
make install clean
cd /usr/ports/shells/bash
make install clean
cd /usr/ports/editors/vim-lite/
make install clean
———————————————————————————
———————————————————————————
SVN
Загружаем что нужно:
#svn checkout svn://svn.FreeBSD.org/doc/head /usr/doc
#svn checkout svn://svn.FreeBSD.org/ports/head /usr/ports
svn co svn://svn.freebsd.org/base/releng/9.1/ /usr/src
Для обновления в будущем:
#svn up /usr/doc
#svn up /usr/ports
svn up /usr/src
———————————————————————————
———————————————————————————
Ядро
Кнфиг ядра для 64 битных систем тут:
/usr/src/sys/amd64/conf
Собираем:
cd /usr/src/
rm -R /usr/obj/*
make clean && make clean
make -sj4 buildkernel KERNCONF=NGEN
Устанавливаем:
make installkernel KERNCONF=NGEN
init 6
———————————————————————————
———————————————————————————
Мир
cd /usr/src/
rm -R /usr/obj/*
make cleandir && make cleandir
make -sj4 buildworld
make installworld
mergemaster
reboot
cd /usr/src/
make delete-old
———————————————————————————
———————————————————————————
ZFS
/boot/loader.conf vm.kmem_size="330M" vm.kmem_size_max="330M" vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"
echo 'zfs_enable="YES"' >> /etc/rc.conf /etc/rc.d/zfs start
Так можно сделать если мало дисков, но чтобы избежать путаницы лучше метить диски с помощью GPT
zpool create storage raidz ada1 ada2 ada3
gpart destroy -F ada1 gpart destroy -F ada2 gpart destroy -F ada3 gpart create -s gpt ada1 gpart create -s gpt ada2 gpart create -s gpt ada3 gpart add -t freebsd-zfs -a 4k -l hdd01 ada1 gpart add -t freebsd-zfs -a 4k -l hdd02 ada2 gpart add -t freebsd-zfs -a 4k -l hdd03 ada3 Смотрим результат: gpart show -l => 34 976773101 ada1 GPT (465G) 34 6 - free - (3.0k) 40 976773088 1 hdd01 (465G) 976773128 7 - free - (3.5k) => 34 976773101 ada2 GPT (465G) 34 6 - free - (3.0k) 40 976773088 1 hdd02 (465G) 976773128 7 - free - (3.5k) => 34 976773101 ada3 GPT (465G) 34 6 - free - (3.0k) 40 976773088 1 hdd03 (465G) 976773128 7 - free - (3.5k)
zpool create storage raidz /dev/gpt/hdd01 /dev/gpt/hdd02 /dev/gpt/hdd03
Смотрим результат
zpool status -v pool: storage state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 gpt/hdd01 ONLINE 0 0 0 gpt/hdd02 ONLINE 0 0 0 gpt/hdd03 ONLINE 0 0 0
Дальше создаем что нужно:
zfs create storage/data zfs set compression=gzip storage/data zfs create -V 880G storage/data/iscsi
Для работы с ZFS так же можно установить:
cd /usr/ports/sysutils/zfs-stats make install clean; rehash zfs-stats -a
Для мониторинга скорости:
zpool iostat -v storage 5 20
———————————————————————————
———————————————————————————
ISCSI Таргет
cd /usr/ports/net/istgt/ make install clean
echo 'istgt_enable="YES"' >> /etc/rc.conf
vi /usr/local/etc/istgt/auth.conf
[AuthGroup1] Comment "Auth Group1" Auth "iqn.2013.local.dim:itpc4508" "1234567890QWEasd"
Права доступа:
chmod 600 /usr/local/etc/istgt/auth.conf
vi /usr/local/etc/istgt/istgtcontrol.conf
[Global] Timeout 30 AuthMethod CHAP Auth "dim" "123QWEasd" Host 172.28.74.91 Port 3261 TargetName "iqn.2013-04.local.dim:itpc4508" Lun 0 Flags ro Size auto
vi /usr/local/etc/istgt/istgt.conf
[Global] NodeBase "iqn.2013-04.local.dim" PidFile "/var/run/istgt.pid" AuthFile "/usr/local/etc/istgt/auth.conf" Timeout 30 NopInInterval 20 MaxR2T 32 MaxSessions 16 MaxConnections 8 FirstBurstLength 65536 MaxBurstLength 262144 MaxRecvDataSegmentLength 262144 MaxOutstandingR2T 16 DefaultTime2Wait 2 DefaultTime2Retain 60 [UnitControl] AuthMethod None Portal UC1 172.28.74.91:3261 Netmask 255.0.0.0 [PortalGroup1] Portal DA1 172.28.74.91:3260 [InitiatorGroup1] InitiatorName "ALL" Netmask 172.28.74.0/24 [LogicalUnit1] TargetName "itpc4508" TargetAlias "ZFS itpc4508" Mapping PortalGroup1 InitiatorGroup1 AuthMethod CHAP AuthGroup AuthGroup1 UseDigest Auto ReadOnly No UnitType Disk UnitOnline yes BlockLength 512 QueueDepth 32 LUN0 Storage /dev/zvol/storage/data/iscsi auto
/usr/local/etc/rc.d/istgt restart
vi /etc/syslog.conf
local7.* /var/log/istgt.log
/etc/rc.d/syslogd restart