George
ну читать больше размера блока он не должен, фактический размер на диске можно посмотреть через zdb
George
при сильном желании
Алексей
больше блока то и не читает, судя по всем)
Алексей
просто он не смотрит что он сжат
George
я смотрю двумя вещами zpool iostat и iotop
в iotop не особо информативно, лучше iostat -x
George
просто он не смотрит что он сжат
не важно, сжатие на другом уровне работает, при вычитке с диска ему пофиг на это, он только фактические размеры использует
Алексей
ну короче iostat -x показывает всё равно что читает в 4 раза больш
Алексей
Алексей
sda, sdb,sdc - разваленный raidz (из него вынут sdD) и на этот sdd всё переливается из raidz
George
sda, sdb,sdc - разваленный raidz (из него вынут sdD) и на этот sdd всё переливается из raidz
а, ну так это ж raidz ресильвер делает. Там же на каждый диск размазывается, при восстановлении так и должно быть
George
это же не миррор :)
Алексей
не делает
Алексей
диск вынут это раз, он в состоянии деградед
Алексей
и он его уже сделал пару дней назад, я специально ждал пока он закончит это два
Алексей
Алексей
вынут хитропопым способом через подсовывание лупа)
George
zpool iostat -r pool 10 покажите 2-3й вывод
Алексей
2-3 вывод почти пустые по отношению к первому 😱
Алексей
George
Алексей
ясно
Алексей
кстати спасибо за команду
Алексей
очень показательно как выглядит средний размер файлов
George
очень показательно как выглядит средний размер файлов
нет, не файлов, а фактически долетевший размер блока в запросе
George
кстати спасибо за команду
там другие ключи интересные есть, посмотрите
George
я правда не понял откуда запись, если вы вроде только читаете
Алексей
если что, она читает на 200-300кб сек
Алексей
т.е. весьма лайтово
Алексей
нет, не файлов, а фактически долетевший размер блока в запросе
тут я не совсем понял что имелось в виду... но какая разница если у меня 512кб запросов 17миллионов, а 4мб запросов 0
Алексей
Но у меня их реально нет)
Алексей
ну это не значит что 4МБ файлов у вас нет, я это имел ввиду
Теперь понятно, спасибо. учитывая что датасет тупо копируется полностью, можно считать эти показатели весьма точными, т.к. перед копированием был ребут
Алексей
ребята, вот как и обещал. честно говоря я обескуражен и одновременно воодушевлён
Алексей
Алексей
вверху с включенным кэшем внизу только с метадатой
Алексей
по-моему, комментарии излишни
Алексей
вывод: не отключайте кэш, если не знаете что вы делаете.
Алексей
да, если что на скриншоте команда zpool iostat pool poold 12
Алексей
zfs_gxt_timeout = 5
Алексей
еще раз всем спасибо 👍
Алексей
вывод: не отключайте кэш, если не знаете что вы делаете.
я это прям себе на лбу выбью большими буквами)
George
спасибо, что поделились!
Алексей
я пытался вам это донести тогда :)
умный учится на чужих ошибках, дурак на своих))
Алексей
блин, как быстро копироваться то стало))))))
Мих
\
Fedor
Ребят, вдруг тут кто есть. Версия 28, имеет ли смысл обновлять?
Sergey
я пытался вам это донести тогда :)
правда все равно очень интересно почему такой эффект и что за этим стоит)
George
Ребят, вдруг тут кто есть. Версия 28, имеет ли смысл обновлять?
cмотря на чём ты и что тебе нужно. в OpenZFS кучу всякого завезти успели. Вот, к примеру, все feature flags из него https://zgrep.org/zfs.html
Fedor
Омниос обновляю. как раз думал и пул обновить
Fedor
у меня правда 30-я LTS
George
правда все равно очень интересно почему такой эффект и что за этим стоит)
ну я написал в какую сторону смотреть надо - с выключенным кешированием данных на большом блоке скорее всего просто успевает он вытесниться из ОЗУ
George
Омниос обновляю. как раз думал и пул обновить
я бы обновлял только если тебе не понадобится импортировать пул из системы, поддерживающей не выше 28й версии.
Sergey
он же должен прочитать и передать, дальше он ему не нужен
Fedor
может вообще её на линукс уведу. она иногда плохо себя ведёт.
George
он же должен прочитать и передать, дальше он ему не нужен
ну запрос то из юзерспейса не на весь блок пришёл, в этом и засада
George
там скрин выше был, что в zfs максимально приходило чтение 512К блоком
Sergey
а, типа приложение читает по 512кбайт
Sergey
но почему это при send/recv так же ведет себя, я скорей за это зацепился
George
может вообще её на линукс уведу. она иногда плохо себя ведёт.
Я на омниос не сидел, сразу с линукса начал, мне линукс весьма удобен, не припомню чтобы кто-то сейчас ругался на ZoL
Fedor
вести о том, что зол стал совсем уж стабильным, появились немного позже инсталляции той.
George
но почему это при send/recv так же ведет себя, я скорей за это зацепился
по дефолту send не as is данные отправляет, а разжимает и размер блока меняет, скорее всего в этом затык был. Ну и никто не отменял того факта, что на блоках больше 1МБ не особо активно тестят, да и проблем с ним не мало может быть именно по причине большого блока
George
т.к. на большом блоке случайный доступ оч дорогой по иопсам получается
George
уже 4 года точно root on ZoL домашний держу, лайк
Fedor
буду опыт иметь ввиду, спасибо) у меня линукс - резервный вариант для зфс.
Олег
root@v8:~# ps axo stat,ppid,pid,comm | grep -w defunct Z 4529 15206 scrub_finish-no <defunct>
Олег
килять можно?)
Sergey
тогда все проясняется
Sergey
а с ходу нет никаких таких приколов для датасетов в которые только recv делается? (бекапы)
Sergey
с primarycache=metadata
George
а, если без флага -L ? т.е. он тоже не принимает во внимание размер блока, а как другие тулзы читает по 128-512к или около того?
да, но мою гипотезу ещё по коду конечно проверить надо. Мб просто не оптимизировали ещё для такого граничного случая)
George
а с ходу нет никаких таких приколов для датасетов в которые только recv делается? (бекапы)
лимит на мету в arc на 100% руками стоит выкрутить, в остальном на не огромном блоке - не припомню больше
Fedor
Кстати, а те оптимизации чтения-записи, их в зол релизный добавили, или они в мастере пока?
Sergey
так что мета на 100% не нужна