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

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


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
Строка 75: Строка 75:
 zpool import -R /mnt_new -f zfspool zpool import -R /mnt_new -f zfspool
 </code> </code>
 +
 +====== Выдержки по тюнингу 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.1349550829.txt.gz · Последнее изменение: d.m.Y H:i (внешнее изменение)