victor_sudakov: (Default)
[personal profile] victor_sudakov
Опытные люди рекомендуют оставлять на zpool не менее 10% свободного места под собственные нужды zfs (20% при объеме пула до 1Т). Т.к. ключа " -m minfree" в zfs не предусмотрено, самый простой способ этого достичь (пример для терабайтного пула):

zfs create -o mountpoint=none -o reservation=100G tank/empty

Если правилом пренебречь, то при заполнении пула можно ждать резкого снижения производительности FS, больших задержек при удалении (!) файлов и т.п.

Если с пула предполагается в основном только чтение, то можно и не резервировать столько места. Лично я столкнулся с проблемами с производительностью именно при удалении файлов большого размера с заполненного пула (FreeBSD 10.2 amd64, ОЗУ 4 Гб).

Date: 2015-10-21 04:30 am (UTC)
From: [identity profile] prochital.blogspot.co.uk
А ты уверен, что теперь производительность не упадет еще раньше? Зарезервировав 100G, ты еще больше уменьшил объем места для внутренних операций zfs.

Date: 2015-10-21 06:50 am (UTC)
From: [identity profile] prochital.blogspot.co.uk
С идеологией все понятно, но было не совсем понятно, каким образом зарезервированное пространство обеспечивает место для служебных нужд. Но я тут покопался и выяснил, что замедление-то происходит вовсе не из-за нехватки места под housekeeping. Все проще и забавнее :) Оказывается, поскольку в zfs нет битмапов, в которых отмечаются свободные и занятые блоки, там используются AVL-деревья (metaslabs). Выбор свободных блоков в деревьях обычно выполняется по стратегии "первый попавшийся". Но когда занято 80% или более места на дисках, zfs переключается в стратегию "best fit", а для этого требуется прочитать с *диска* *все* деревья.

Поэтому есть способ обеспечить нормальную производительность zfs при высокой занятости дисков. Нужно переместить все metaslabs с диска в RAM:
echo "set zfs:metaslab_df_free_pct=4" >> /etc/system

Объяснения тут: http://serverfault.com/questions/511154/zfs-performance-do-i-need-to-keep-free-space-in-a-pool-or-a-file-system
Решение тут: http://everycity.co.uk/alasdair/2010/07/zfs-runs-really-slowly-when-free-disk-usage-goes-above-80/

Profile

victor_sudakov: (Default)
Виктор Судаков

November 2025

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 13th, 2026 11:52 am
Powered by Dreamwidth Studios