Инструменты пользователя

Инструменты сайта


doc:os:freebsd:samba:prepare_zfs_pool_for_samba

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
doc:os:freebsd:samba:prepare_zfs_pool_for_samba [d.m.Y H:i] dbehterevdoc:os:freebsd:samba:prepare_zfs_pool_for_samba [d.m.Y H:i] (текущий) dbehterev
Строка 76: Строка 76:
 </code> </code>
  
-TAG: {{tag> samba FreeBSD}} +====== Выдержки по тюнингу ZFS ====== 
 + 
 +В сети натолкнулся на статью, к сожалению не помню ссылку на автора: 
 + 
 +Система 
 +======================= 
 +  * Case - Supermicro SC733T-645B 
 +  *   MB - Supermicro X7SBA 
 +  *  CPU - Intel Core 2 Duo E8400 
 +  *  RAM - CT2KIT25672AA800, 4GB ECC 
 +  *  RAM - CT2KIT25672AA80E, 4GB ECC 
 +  * Disk - Intel X25-V SSD (ada0, boot) 
 +  * Disk - WD1002FAEX (ada1, ZFS "data" pool) 
 +  * Disk - WD2001FASS (ada2, ZFS "backups" pool) 
 + 
 + 
 + 
 +Samba 
 +======================= 
 + 
 +В smb.conf: 
 + 
 +  [global] 
 +  socket options = TCP_NODELAY SO_SNDBUF=131072 SO_RCVBUF=131072 
 +  use sendfile = no 
 +  min receivefile size = 16384 
 +  aio read size = 16384 
 +  aio write size = 16384 
 +  aio write behind = yes 
 + 
 +ZFS пулы 
 +======================= 
 +  pool: backups 
 + state: ONLINE 
 + scrub: none requested 
 +config: 
 + 
 +        NAME        STATE     READ WRITE CKSUM 
 +        backups     ONLINE               0 
 +          ada2      ONLINE               0 
 + 
 +errors: No known data errors 
 + 
 +  pool: data 
 + state: ONLINE 
 + scrub: none requested 
 +config: 
 + 
 +        NAME        STATE     READ WRITE CKSUM 
 +        data        ONLINE               0 
 +          ada1      ONLINE               0 
 + 
 +errors: No known data errors 
 + 
 + 
 + 
 +Тюнинг ZFS  
 +======================= 
 +Your tunings here are "wild" (meaning all over the place).  Your use 
 +of vfs.zfs.txg.synctime="1" is probably hurting you quite badly, in 
 +addition to your choice to enable prefetching (every ZFS FreeBSD system 
 +I've used has benefit tremendously from having prefetching disabled, 
 +even on systems with 8GB RAM and more).  You do not need to specify 
 +vm.kmem_size_max, so please remove that.  Keeping vm.kmem_size is fine. 
 +Also get rid of your vdev tunings, I'm not sure why you have those. 
 + 
 +My relevant /boot/loader.conf tunings for 8.2-RELEASE (note to readers: 
 +the version of FreeBSD you're running, and build date, matters greatly 
 +here so do not just blindly apply these without thinking first): 
 + 
 +  # We use Samba built with AIO support; we need this module! 
 +  aio_load="yes" 
 + 
 +  # Increase vm.kmem_size to allow for ZFS ARC to utilise more memory. 
 +  vm.kmem_size="8192M" 
 +  vfs.zfs.arc_max="6144M" 
 + 
 +  # Disable ZFS prefetching 
 +  # http://southbrain.com/south/2008/04/the-nightmare-comes-slowly-zfs.html 
 +  # Increases overall speed of ZFS, but when disk flushing/writes occur, 
 +  # system is less responsive (due to extreme disk I/O). 
 +  # NOTE: Systems with 8GB of RAM or more have prefetch enabled by 
 +  # default. 
 +  vfs.zfs.prefetch_disable="1" 
 + 
 +  # Decrease ZFS txg timeout value from 30 (default) to 5 seconds.  This 
 +  # should increase throughput and decrease the "bursty" stalls that 
 +  # happen during immense I/O with ZFS. 
 +  # http://lists.freebsd.org/pipermail/freebsd-fs/2009-December/007343.html 
 +  # http://lists.freebsd.org/pipermail/freebsd-fs/2009-December/007355.html 
 +  vfs.zfs.txg.timeout="5" 
 + 
 + 
 + 
 +sysctl tunings 
 +======================= 
 +Please note that the below kern.maxvnodes tuning is based on my system 
 +usage, and yours may vary, so you can remove or comment out this option 
 +if you wish.  The same goes for vfs.ufs.dirhash_maxmem.  As for 
 +vfs.zfs.txg.write_limit_override, I strongly suggest you keep this 
 +commented out for starters; it effectively "rate limits" ZFS I/O, and 
 +this smooths out overall performance (otherwise I was seeing what 
 +appeared to be incredible network transfer speed, then the system would 
 +churn hard for quite some time on physical I/O, then fast network speed, 
 +physical I/O, etc... very "bursty", which I didn't want). 
 + 
 +  # Increase send/receive buffer maximums from 256KB to 16MB. 
 +  # FreeBSD 7.x and later will auto-tune the size, but only up to the max. 
 +  net.inet.tcp.sendbuf_max=16777216 
 +  net.inet.tcp.recvbuf_max=16777216 
 + 
 +  # Double send/receive TCP datagram memory allocation.  This defines the 
 +  # amount of memory taken up by default *per socket*. 
 +  net.inet.tcp.sendspace=65536 
 +  net.inet.tcp.recvspace=131072 
 + 
 +  # dirhash_maxmem defaults to 2097152 (2048KB).  dirhash_mem has reached 
 +  # this limit a few times, so we should increase dirhash_maxmem to 
 +  # something like 16MB (16384*1024). 
 +  vfs.ufs.dirhash_maxmem=16777216 
 + 
 +  # 
 +  # ZFS tuning parameters 
 +  # NOTE: Be sure to see /boot/loader.conf for additional tunings 
 +  # 
 + 
 +  # Increase number of vnodes; we've seen vfs.numvnodes reach 115,000 
 +  # at times.  Default max is a little over 200,000.  Playing it safe... 
 +  kern.maxvnodes=250000 
 + 
 +  # Set TXG write limit to a lower threshold.  This helps "level out" 
 +  # the throughput rate (see "zpool iostat").  A value of 256MB works well 
 +  # for systems with 4GB of RAM, while 1GB works well for us w/ 8GB on 
 +  # disks which have 64MB cache. 
 +  vfs.zfs.txg.write_limit_override=1073741824 
 + 
 + 
 +TAG: {{tag> samba FreeBSD ZFS}}  
 + 
/var/www/wiki.itcall.ru/data/attic/doc/os/freebsd/samba/prepare_zfs_pool_for_samba.1349550933.txt.gz · Последнее изменение: d.m.Y H:i (внешнее изменение)