nikolay
>а вот потеря slog чревата более серьезными проблемами. тем же чревата, что и без него - потеря данных с него (за последние Х секунд)
я помню что пул как минимум перейдет в degraded и могут быть проблемы с доступностью. в 0.7.4 такое ловил даже. в итоге пришлось переносить все данные и пересобирать пул, resilvering не помогал
George
так это же всю файловую систему и порушит, разве нет?
нет, просто последние 5 секунд записи теряете
George
я помню что пул как минимум перейдет в degraded и могут быть проблемы с доступностью. в 0.7.4 такое ловил даже. в итоге пришлось переносить все данные и пересобирать пул, resilvering не помогал
только если баг, в процессе работы вылет slog не должен влиять, а при импорте - явно скажет и не даст импортнуть, пока флаг не укажешь
Василий
нет, просто последние 5 секунд записи теряете
Если умирает слог? Там точно только 5 секунд?
George
Если умирает слог? Там точно только 5 секунд?
txg_timeout там максимально, по дефолту он 5 секунд, т.е. по дефолту ДО 5 секунд
nikolay
Если умирает слог? Там точно только 5 секунд?
это время накопления и сброса txg
Василий
уже обсуждали, те же WAL у бд
Вот я все равно не уверен, что кеши сбрасываются последовательно, а не в произвольном порядке
George
txg_timeout там максимально, по дефолту он 5 секунд, т.е. по дефолту ДО 5 секунд
https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html?highlight=txg_timeout#zfs-txg-timeout
nikolay
Разве проблемы при утере SLOG не в прошлом?
не знаю, я не изобретаю велосипед и зеркалю его в 100% случаев там где собираю.
Dmitry
А оно же само всё это включает, когда подсовываешь ему logs ? или надо как то настроить
Сергей
Народ, что-то вы меня путаете...
в чём именно сомневаетесь? SLOG - это ускорение для синхронной записи.
Сергей
А оно же само всё это включает, когда подсовываешь ему logs ? или надо как то настроить
если в пуле появляется SLOG, то синхронная запись (fsync в ПО) выполняется через него
Сергей
у датасета может быть свойство sync=disabled, в таком случае ZFS "обманывает" прикладное ПО и сообщает что запись (в случае fsync) произошла, хотя на самом деле данные ещё могут быть не записаны
Alexander
если в пуле появляется SLOG, то синхронная запись (fsync в ПО) выполняется через него
Причем после экспорта пула слог вроды бы никто даже никогда и не читает?
Alexander
Т.е. по сути SLOG - это подстелить "соломки" для падения, но очень скоростной "соломки".
Dmitry
если в пуле появляется SLOG, то синхронная запись (fsync в ПО) выполняется через него
А если я не меняю этот sync, в таком случен оно просто работает чуть быстрее/надежнее?
Alexander
он нужен только при импорте
Если не было экспорта?
Сергей
Т.е. по сути SLOG - это подстелить "соломки" для падения, но очень скоростной "соломки".
это ускорение для стандартной соломки. Т.е. устройство SLOG должно быть более быстрым (в части latency) чем основные vdev
George
Если не было экспорта?
ага, если zil предыдущий ещё не записался
Art
@gmelikov @koliama @gjabu2_2 @sgolod Парни, я всегда полагал, что SLOG-девайс даёт следующее: 0) Пропускает через себя всю запись в пул, и далее: 1) Немного поднимает синхронную запись или 2) Обезопашивает асинхронную запись Это так или нет?) Не разрушайте мой мир)
George
async запись всегда только на пул пишется
George
как и всё то, что в zil влетело, оно тоже в async режиме будет включено в TXG
Alexander
это ускорение для стандартной соломки. Т.е. устройство SLOG должно быть более быстрым (в части latency) чем основные vdev
Это понятно, что для ускорения. Даже если SLOG сравним по скорости с vdevs, все равно он высвободит их от лишних синхронных записей.
George
Нет
да, от синхронных высвободит
George
= больше иопсов на асинхронную сгруппированную запись
Alexander
Нет
Почему нет?
Василий
Почему нет?
Потому что потом он все это будет переносить на основной пул
Alexander
Потому что потом он все это будет переносить на основной пул
Это уже потом через 5 секунд и там другая картина будет и самая главное, что одновременно в пул не будет записи 2x данных, а только 1x
LordMerlin
Ну раз уж началось))) Есть 2 ССД Интел. Будем на гипервизоре менять по плану, а то там уже 12% осталось жизни. Сейчас там зеркало на мдадм, стоит ли делать зеркало на зфс?
Василий
Но вообще надо тестировать
Alexander
Два раза будешь писать одно и тоже. Просто в разные места
Ну так пропускная то способность vdevs не резиновая.
Art
Асинк это память
я сейчас читаю, что если выставить sync=always, то пойдёт асинхронка всё же через SLOG девайс
George
Два раза будешь писать одно и тоже. Просто в разные места
ну самый простой пример, когда один блок записали синхронно раз 100, эти 100 записей на vdev приедут как одна
George
продолжать можно за аггрегацию записи, в zfs рандомная запись становится практически последовательной
George
(в txg)
Василий
я сейчас читаю, что если выставить sync=always, то пойдёт асинхронка всё же через SLOG девайс
Так речь про а асинк режим, а олвейз это очень даже синхронный. Только слог другой
Alexander
я сейчас читаю, что если выставить sync=always, то пойдёт асинхронка всё же через SLOG девайс
Так SLOG - это уже 100% синхронно. always - это вероятно про обман приложения (только наоборот по отношению к disabled) ? Т.е. приложение просило FS сделать одно, а FS сделала другое, но отчиталась как будто сделала то, что ожидали от нее.
Василий
ну самый простой пример, когда один блок записали синхронно раз 100, эти 100 записей на vdev приедут как одна
Надо пробовать, но мне кажется что особой разницы не будет. Везде пишут что должен быть быстрее основного
George
К сожалению все портит фрагментация :(
на любой фс забивать полностью не стоит
Alexander
Надо пробовать, но мне кажется что особой разницы не будет. Везде пишут что должен быть быстрее основного
Это желательно конечно, тем более, что относительно малый но быстрый SLOG приобрести легче.
Alexander
За себя поставил или за пул? :)))
Василий
За себя поставил или за пул? :)))
За здравие и за упокой
Alexander
Ну пулу то ниче не будет, только потеряться может поболее, чем 5 сек.
Alexander
По крайне мере в современных версиях ZFS.
Василий
Ты на проде?
И там тоже. А что делать, если говно железо и денег нет. Просто руководству написал, что или медленно или денег или рискнем
Василий
Просто все продублировано
Alexander
Большой L2 ARC.
Василий
Иопсы с 400 выросли до 15000
Василий
Но все равно тормоза по сравнению с всан
Alexander
А что в качестве SLOG?
Василий
А что в качестве SLOG?
Асинк, какой слог))
Alexander
Было раньше, что такая разница. У меня разница была всего процентов 20.
Alexander
У тебя 30 раз !
Василий
У тебя 30 раз !
Так по 4кб в памяти, чего бы ей не вырасти
Alexander
При том, что нагрузка у меня была СУБД, т.е. предельно рандомная.
Василий
Собсно все уперлось, скорей всего в размер памяти и скорость сети
Alexander
Но при этом L2ARC был размером 170GB при объеме базы около 500ГБ.
Василий
Alexander
И какой процент чтения с него шёл?
Не помню уже hit rate, где-то в записях. Но без L2 вообще еле еле шевелилась база.