Autumn
юзаю zfs без л2арк
George
на сегодняшний день l2arc может вызывать тормоза ? допустим 128 гигов рамы отдано под arc и для пущей скорости решил на ssd/nvme l2arc сделать. хуже не будет ?
Явных проблем на пустом месте давать не должен при достаточном количестве ОЗУ, но надо учитывать что ОЗУ он использует + это всё таки доп логика в ARC. При явной деградации стоит репортить баг с воспроизведением
George
в 2.0 он стал к тому же персистентным
George
основную проблему которую видел у людей - есть нюанс с его выводом из пула, если штатно выводить то репортили о просадке перформанса на время вывода. Лучше оффлайн уводить диск
Ivan
в 2.0 он стал к тому же персистентным
получаестя если часто ребутать хост, то hit ratio для кэша будет сильно расти ? )
George
если кейс позволяет прогреть l2arc, то теоретически да
George
только бенчить стоит не сразу после ребута, в озу асинхронно подгружается мета об l2arc
George
из плюсов - arc емнип тоже сбрасывается теперь туда (если память не изменяет). Пока не тестил
Ivan
и нет проблем с определением того что можно выкинуть ? ведь раздел с кэшем по максимуму заполняется довольно быстро.
George
l2arc_headroom (ulong) How far through the ARC lists to search for L2ARC cacheable content, expressed as a multiplier of l2arc_write_max. ARC persistence across reboots can be achieved with persistent L2ARC by setting this parameter to 0 allowing the full length of ARC lists to be searched for cacheable content. Default value: 2.
George
mru часть как обычно вымываема, mfu относительно стойкий к вымыванию
George
mru можно для l2arc отключить теперь l2arc_mfuonly (int) Controls whether only MFU metadata and data are cached from ARC into L2ARC. This may be desired to avoid wasting space on L2ARC when reading/writing large amounts of data that are not expected to be accessed more than once. The default is 0, meaning both MRU and MFU data and metadata are cached. When turning off ( 0) this feature some MRU buffers will still be present in ARC and eventually cached on L2ARC. If l2arc_noprefetch is set to 0, some prefetched buffers will be cached to L2ARC, and those might later transition to MRU, in which case the l2arc_mru_asize arcstat will not be 0. Regardless of l2arc_noprefetch, some MFU buffers might be evicted from ARC, accessed later on as prefetches and transition to MRU as prefetches. If accessed again they are counted as MRU and the l2arc_mru_asize arcstat will not be 0. The ARC status of L2ARC buffers when they were first cached in L2ARC can be seen in the l2arc_mru_asize, l2arc_mfu_asize and l2arc_prefetch_asize arcstats when importing the pool or onlining a cache device if persistent L2ARC is enabled. The evicted_l2_eligible_mru arcstat does not take into account if this option is enabled as the information provided by the evicted_l2_eligible_* arcstats can be used to decide if toggling this option is appropriate for the current workload. Use 0 for no (default) and 1 for yes.
George
всё в доке https://openzfs.github.io/openzfs-docs/man/5/zfs-module-parameters.5.html?highlight=persistent
George
l2arc хорош чтобы латенси уменьшить чтения, и то не на каждом кейсе поможет
George
стандартная проблема кешей, в общем то
TokaToka
я бы начисто доку от солярки к zfs on linux не применял бы
Однозначно да, но самое главное в этом гайде - фраза «tuning is evil» с посылом «донт ду до ит, бигбой, ю ноу, тюнин итс э дэвилз той, ежжи»)) Где-то в этом же чате происходила беседа, что тюнинг хорош тем, что пока тюнишь - разбираешься, как работает, а потом уже со знанием дела откатываешь все в дефолт, ибо что-то лучше сообразить, чем разрабы и правда сложно.
TokaToka
стандартная проблема кешей, в общем то
Спасибо за детальное разжевывание, многое ясно. У меня много последовательного чтения длинных блоков, так что, предполагаю, 5 процентов хитов оно вывозит только потому, что файлы относительно больше (20-200гб), на мелочи, предположительно, оно бы в районе 0 висело, хех
TokaToka
У меня при интенсивной записи были тормоза, жёсткие совсем тупые и дико отставали
Ммм... думаю, надо конфигурацию пула и паттерн данных понять. Я пока первый раз с трунасом ковырялся пересобрал пул раз 6 наверное, и каждый раз на одних и тех же данных результаты были удивительно разные, из-за особенностей обхода звол и отдельных дисков при записи.
George
Спасибо за детальное разжевывание, многое ясно. У меня много последовательного чтения длинных блоков, так что, предполагаю, 5 процентов хитов оно вывозит только потому, что файлы относительно больше (20-200гб), на мелочи, предположительно, оно бы в районе 0 висело, хех
Есть параметр по которому и последовательное чтение начнёт в l2arc попадать, но этот случай имеет смысл только если к этим данным ещё будет не один раз повторный доступ, иначе сильно вымывается l2arc
TokaToka
Есть параметр по которому и последовательное чтение начнёт в l2arc попадать, но этот случай имеет смысл только если к этим данным ещё будет не один раз повторный доступ, иначе сильно вымывается l2arc
Монтаж тяжелого видео, основная работа как раз с текущим набором данных именно в режиме чтения, новые данные раз в день-два-три небольшими порциями до 1 тб
TokaToka
Так что совет годный, ещё раз покорнейше благодарю
George
вот параметр
George
тоже когда-то его использовал для раздачи видео
central
ВМ, создана на zvol, смотрю через zfs list вижу что диск заполнен на 81 ГБ, если же смотрю изнутри вм то заполнено всего 40, это к zfs относится? или где вообще хвосты искать у этой проблемы?
Ivan
хочешь уменьшить zvol - включи thin provisioning, а внутри вм сделай трим. вм должна быть на virtio scsi диске.
George
- плюс если использовать raidz, то может занимать больше
central
fstrim -av вот такую команду уже посоветовали, сделал, все то же изменений нету
Ivan
fstrim -av вот такую команду уже посоветовали, сделал, все то же изменений нету
если диск virtio scsi, то надо подождать пока zvol прохудится. это не моментальный процесс.
Ivan
если диск вм sata или ide, то чуда не случится
central
если диск virtio scsi, то надо подождать пока zvol прохудится. это не моментальный процесс.
да походу оно, спасибо, а как принято разруливать данную ситацию, добавлять trim в cron или какие то еще есть решения?
Ivan
это лучше, чем указывать дискард в опциях монтирования фс
TokaToka
https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html#l2arc-noprefetch
Супер, читаю и буду смотреть и проверять. Вот все б как вы и в мире давно бы наступил полный пацифизм)
Igor
Добрый день.
Igor
есть зеркальный пул
Igor
Igor
хочу добавить к нему третий в зеркало
Igor
даю
Igor
zpool attach spoolDB ata-MTFDDAK256MAY-1AH12ABHA_14300CE7A6F9-part1 /dev/disk/by-id/ata-SAMSUNG_MZ7LN256HCHP-000H1_S1ZPNXAG703906-part1
Igor
invalid vdev specification use '-f' to override the following errors:
Igor
форсить очень страшно
Igor
вроде ж все верно?
Владимир
а у тебя есть разделы на том диске который ты добавляешь?
Владимир
или он чистый?
Igor
на новый диск сделал так
Igor
# sgdisk <healthy bootable device> -R <new device> # sgdisk -G <new device>
Igor
т.е. скопировал структуру уже работающих
George
форсить очень страшно
я бы искал что не так, оно без форса должно работать
Igor
оно?
Igor
/dev/disk/by-id/ata-SAMSUNG_MZ7LN256HCHP-000H1_S1ZPNXAG703906-part1 contains a filesystem of type 'ntfs'
Igor
диск с под винды... потому боится без форса?
central
если диск virtio scsi, то надо подождать пока zvol прохудится. это не моментальный процесс.
прошло два часа и показатели занятого места у zvol не изменились, контролер нужный, пул создавался как thin, все должно работать, но изменений нету, может ему нужно больше времени или что?
Igor
диск с под винды... потому боится без форса?
Рискнул, с форсом. Да, оно не шло ибо видело остатки тсарой ФС
central
покажи конфиг вм
https://pastebin.com/1NV5LaKN этот?
Ivan
https://pastebin.com/1NV5LaKN этот?
снапшотов нет внутри или снаружи ?
central
внутри, снаружи все по нулям (у zfs два снепшота, но у них по нулям занятое пространство)
Григорий
почему ?
С одной стороны с дискард падает производительность, но не катастрофически. С другой fstrim.timer запускается раз в две недели, кажется. И вот при нём реально падает производительно на время выполнения. Если надо просто держать в порядке свободное место, то fstrim. А если у вас, например, vdo раздел, то однозначно дискард.
Григорий
George
https://github.com/openzfs/zfs/pull/11823
Ivan
https://github.com/openzfs/zfs/pull/11823
блин, сначала подумал ооогоо. а потом посмотрел дату
nikolay
мы ж в xfs чате сегодня)
Ivan
мы ж в xfs чате сегодня)
расскажите как перестать терять данные при потере питания
Fedor
расскажите как перестать терять данные при потере питания
данные не терялись. но расскажите, как проверить ФС без отмонтирования?)