doc:os:freebsd:samba:prepare_zfs_pool_for_samba
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
doc:os:freebsd:samba:prepare_zfs_pool_for_samba [d.m.Y H:i] – dbehterev | doc: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 | ||
</ | </ | ||
+ | |||
+ | ====== Выдержки по тюнингу ZFS ====== | ||
+ | |||
+ | В сети натолкнулся на статью, | ||
+ | |||
+ | Система | ||
+ | ======================= | ||
+ | * Case - Supermicro SC733T-645B | ||
+ | * MB - Supermicro X7SBA | ||
+ | * CPU - Intel Core 2 Duo E8400 | ||
+ | * RAM - CT2KIT25672AA800, | ||
+ | * RAM - CT2KIT25672AA80E, | ||
+ | * Disk - Intel X25-V SSD (ada0, boot) | ||
+ | * Disk - WD1002FAEX (ada1, ZFS " | ||
+ | * Disk - WD2001FASS (ada2, ZFS " | ||
+ | |||
+ | |||
+ | |||
+ | 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 | ||
+ | | ||
+ | | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | backups | ||
+ | ada2 ONLINE | ||
+ | |||
+ | errors: No known data errors | ||
+ | |||
+ | pool: data | ||
+ | | ||
+ | | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | data ONLINE | ||
+ | ada1 ONLINE | ||
+ | |||
+ | errors: No known data errors | ||
+ | |||
+ | |||
+ | |||
+ | Тюнинг ZFS | ||
+ | ======================= | ||
+ | Your tunings here are " | ||
+ | of vfs.zfs.txg.synctime=" | ||
+ | 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). | ||
+ | vm.kmem_size_max, | ||
+ | Also get rid of your vdev tunings, I'm not sure why you have those. | ||
+ | |||
+ | My relevant / | ||
+ | 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=" | ||
+ | |||
+ | # Increase vm.kmem_size to allow for ZFS ARC to utilise more memory. | ||
+ | vm.kmem_size=" | ||
+ | vfs.zfs.arc_max=" | ||
+ | |||
+ | # Disable ZFS prefetching | ||
+ | # http:// | ||
+ | # Increases overall speed of ZFS, but when disk flushing/ | ||
+ | # 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=" | ||
+ | |||
+ | # Decrease ZFS txg timeout value from 30 (default) to 5 seconds. | ||
+ | # should increase throughput and decrease the " | ||
+ | # happen during immense I/O with ZFS. | ||
+ | # http:// | ||
+ | # http:// | ||
+ | vfs.zfs.txg.timeout=" | ||
+ | |||
+ | |||
+ | |||
+ | 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. | ||
+ | vfs.zfs.txg.write_limit_override, | ||
+ | commented out for starters; it effectively "rate limits" | ||
+ | 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 " | ||
+ | |||
+ | # Increase send/ | ||
+ | # 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/ | ||
+ | # 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). | ||
+ | # 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 / | ||
+ | # | ||
+ | |||
+ | # Increase number of vnodes; we've seen vfs.numvnodes reach 115,000 | ||
+ | # at times. | ||
+ | kern.maxvnodes=250000 | ||
+ | |||
+ | # Set TXG write limit to a lower threshold. | ||
+ | # the throughput rate (see "zpool iostat" | ||
+ | # 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 (внешнее изменение)