rubuntu (rubuntu) wrote,
rubuntu
rubuntu

Category:

Тюнинг ZFS

Вообще говоря для ZFS рекомендуется более 8Гб оперативной памяти, чтобы она смогла себя раскрыть.
Но приходится настраивать ZFS на машинах с маленьким объемом оперативной памяти например с 1Гб и даже меньше. Минимальный объем который необходим для работы ZFS это 512Мб. Здесь я хочу привести несколько советов по тюнингу ZFS.
Что может быть если этого не сделать? Предположим Вы настроили ZFS на сервере с 1Гб оперативной памяти. Все загрузилось, но когда вы начинаете интенсивно работать с диском, система вдруг падает в kernel panic.
Чтобы этого не случилось необходимо дописать ряд параметров в /boot/loader.conf

vm.kmem_size_max="384M"
vm.kmem_size="384M"
vfs.zfs.arc_max="40M"
vfs.zfs.prefetch_disable=1

vm.kmem_size, vm.kmem_size_max - участок памяти используемый ядром для выделения памяти, например, при использовании malloc. Размер этой памяти виртуальный, но постарайтесь сделать его меньшим вашей оперативной памяти.
vfs.zfs.arc_max. Вообще ARC это то где  хранятся кешированные данные пулов (pool). Работа с этим параметров сказывается на производительности, но в случае если у нас памяти мало, то этот параметр можно уменьшить.
vfs.zfs.prefetch_disable=1 - отключение режима prefetch.  Режим prefetch - режим, когда система "угадывает" что будет прочитано и заранее читает, что может значительно ускорить работу файловой системы. На amd64 при памяти менее 4Гб он отключается автоматически.
Некоторые советуют отключить ZIL добавлением vfs.zfs.zil_disable="1". Не делайте этого! Отключение ZIL может помочь только в редких случаях, в большинстве случаев он приведет к резкой потере производительности.

Так же добавлю, что лучше для работы с ZFS иметь не менее 1Гб оперативной памяти и использовать amd64.
Для более глубокого тюнинга рекомендую ZFS Evil Tuning Guide


Tags: freebsd, zfs, тюнинг
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments