Sergey
Версия в центоси внутри major release никогда не меняется
Sergey
Sergey
3.10.0 внутри 7.х не меняется
Fedor
@kernelorg привет, извини, бот бестолковый
Fedor
Сегодня попробую снова комбота ввернуть
Vladislav
надо бабушку на четверть ставки посадить, она лучше будет ботов фильтровать
Ivan
Ivan
так на полный день можно чатов 50 взять на обслуживание
Grzegorz
Fedor
?
Ты скинул ссылку на опеннет, он решил, что это спам 😁
Grzegorz
Я ? Вроде ничего не кидал.
Ivan
🤔
Fedor
Smr:)
Олег
Т.е какой-то опеннотовский спам через вирус?)))))
Fedor
Ну опеннет, конечно, несколько потерял в качестве, но это пока не вирус.
Fedor
Fedor
Или это он не тебя 😁
Vlad
Хай! Может подскажете: как настроить чтобы zfs кешил запись в память по максимуму?
У меня, условно, физически винчи выжимают 400 мбайт/с записи. Если я строю на них btrfs или LVM+XFS, то dd пишет в файл со скоростью 1500 мбайт/с, а дальше при размонтировании долго флашит на диск. То есть на самом деле просто буферизует запись где-то в памяти.
А если строю ZFS, то dd пишет под 400 мбайт, зато размонтируется мгновенно. Вот я хочу настроить, чтобы ZFS тоже использовала такой же буфер в памяти, а потом уже в фоне спокойно писала на диски. Как это затюнить?
(на масштабах десятков мегабайт оно уже так и делает, но хочется чтоб условно 30 гигов можно было так закешить на полной скорости)
Сергей
Vlad
да, я этот риск принимаю
Vlad
пробовал ради теста включить рамдиск как SLOG (zpool add rpool log /dev/ram0) - не увеличилась скорость
Ivan
тогда отключайте синхронную запись
Vlad
-o sync=disabled?
Сергей
Vlad
да
Сергей
dd это не совсем правильный способ для измерения производительности. используйте лучше fio
Сергей
почитайте тут, может что-то сможете применить у себя:
http://onreader.mdl.ru/AdvancedZFS/content/Ch08.html
Vlad
спасибо, гляну
Vlad
Vlad
я выкрутил для теста всякие *_dirty_* в максимум:
zfs_dirty_data_max=80gb
zfs_dirty_data_max_percent=100
zfs_dirty_data_sync_percent=100
zfs_txg_timeout=600
И теперь словил такой эффект: начинает кешировать запись на полной скорости, и держится — как и хотел, — а потом бац на отметке 22.5 гигов скорость записи обрубается в 0 (процесс полностью столлится), и zpool iostat показывает, что начинает флашить на диск. Только когда зафлашит всё целиком, продолжает принимает запись от процесса
Vlad
я представляю, должно быть так: буферизует пока хватает буфера, и при этом асинхронно из этого буфера сбрасывает на диск. Если буфер забился — запись ограничивается скоростью сбрасывания на диск
Vlad
а получается, что при дефолтных настройках ZFS всё время норовит ограничить до скорости сбрасывания на диск, а при вот тех — наоборот, максимально отсрачивает сбрасывание (не пишет вообще на диск, пока 22.5 гб не наберётся), а затем вообще ничего не принимает в буфер, пока целиком старый не очистит
Сергей
а sync при этом как установлен?
Vlad
не устанавливал, сейчас попробую с always и disabled
Vlad
sync=always — скорость низкая, сразу пишет на диск
sync=disabled — то же поведение, 22.5 гб насасывает ничего не флаша, а затем столлится и флашит
Vlad
при этом рамы 180гб, т.е. я вообще не понимаю откуда число 22.5 берётся
Vlad
хотя, 180/8...
Сергей
Мне пока в голову ничего не приходит, может @gmelikov чуть позже глянет сообщения и что-то лучшее предложит. Но надо сказать что у вас не совсем "целевое" применение zfs))
Vlad
похоже да :) но я надеюсь таким образом сгладить пики нагрузки — чтобы можно было быстро записать 30 гигов и с ними работать, а они пускай там себе в фоне на диск пишутся
Ivan
Алексей
Вся фигня в dirty percent
Алексей
Я не помню как точно называются параметры, но смысл в том что при достижении максимума грязных данных он начинает только писать до какого-то процента, очищая кэш. всё остальное на паузе. Нужно сравнять эти проценты, тогда такого троттлинга бытт не должно
Алексей
Что-то типа dirty_max и dirty_max_max
Алексей
Я не помню точно, но ковырять надо в эту сторону
George
Хотите стабильных иопс - оставьте по дефолту, хотите покрутить - будьте готовы к 0 иопс просто.
George
там не просто так по дефолту макс 4ГБ сейчас
George
Vlad
А это особенность ZFSа, или у меня что-то криво? Кажется логично чтоб, пока место в буфере есть, скорость была равна скорости складывания в ram, а когда буфер заполнен — скорости складывания на диск. Типа на диск флашится, место в буфере освобождается, новая порция от процесса подгружается
Vlad
Наверняка я просто настройки перекрутил %)
Vlad
Но странно, что в дефолтном сетапе буфер практически нулевой
Fedor
Почему странно. Вообще такое использование идёт вразрез с идеологией фс в плане сохранения целостности данных. RPO выбран так, чтобы приложения чувствовали себя вполне комфортно в условиях даже высоких показателей записи и при сбоях не очень много данных потерялось.
George
А это особенность ZFSа, или у меня что-то криво? Кажется логично чтоб, пока место в буфере есть, скорость была равна скорости складывания в ram, а когда буфер заполнен — скорости складывания на диск. Типа на диск флашится, место в буфере освобождается, новая порция от процесса подгружается
Я скинул вам ссылку как оно работает, если проценты покрутить, то теоретически можно довести до адекватного. Но от 0 иопс в FIO на полную дурь это не спасёт, это синтетика.
Вы учитывайте, что там транзакции, а не "записать потом как ляжет и пофиг"
Fedor
Вот то же самое про транзакции думал добавить
Vlad
а что нужно учитывать про транзакции?
Fedor
Попробуйте с устройством в кеширующем запись режиме поиграться. Пример - у меня на флешах как раз такое поведение в системе.
George
но я не спорю, что есть простор для совершенствования, PRs are welcome :)
Fedor
Ну чот такое. Я не столь углублялся, увы.
Vlad
эх блин, сложно 🤔
Vlad
спасиб, буду пробовать чёто подтвикать, приблизиться к поведению бтрфса/lvm+xfs (сначала скорость рамы по размеру буфера, потом ограничивается скоростью диска)
Алексей
George
George
ибо кажется, что там есть что править для такого кейса
Fedor
Только это одноразовая фс у вас будет, до первого сбоя:) и выключаться будет очень долго
Fedor
если нужно не так много данных одновременно - может, проще взять рамдиск на 30, и синкать его постоянно либо по нотифаям на блины?)
Vlad
это как-то странно :) хочу чтоб за меня это фс делала))
Fedor
нуу. можно написать свою)
Fedor
и будет делать
Fedor
тебе нужна тупая FIFO
Fedor
на запись
Vlad
угу, только ещё и всё остальное что фс делает :)))
Vlad
Vlad
если без принудительного sync-а