Andrey
Посмотрите iotop -oP
самая верхняя строка - это чтение из кэша (Total DISK READ )
следующая - это непосредственное чтение с дисков(Actual DISK READ)
м б у вас на серваке, где хорошая скорость данные просто из разогретого кэша читаются?
Nikolay
Nikolay
Сделал fio на впс1:
fio --directory=/mega/temp/fio --name=syncread --ioengine=libaio --iodepth=8 --rw=read --bs=64K --size=1G --numjobs=4 --group_reporting --time_based --runtime=60
90Мб/с выдаёт. Иопсы ровно падают. Т.е. с пулом всё ок получается ?
central
Nikolay
central
Вопрос был сформулирован не про особенности конфигурирования хранилище для виртуалок
Nikolay
Nikolay
Всё, это я затупил
Nikolay
Nikolay
я перепутла сервера, точнее его местоположение. Думал что там оптика 🫣
Nikolay
Всем спасибо!
Vladislav
Vladislav
Vladislav
Очень такая символичная фраза
Vladislav
Vladislav
Никакого то бишь
Вас же это не остановило
Михаил
давайте без офтопа и не понятного тролинга.
Есть вопрос , если есть люди готовые подсказать ответ или натолкнуть на дельную мысль то это было бы супер
Как мне кажется первичную диагностику и полноту описания вопроса я смог соблюсти.
Vladislav
Vladislav
И побалуйтесь с префетчом
Михаил
И побалуйтесь с префетчом
мысль дельная , но к сожалению вижу что префеч включен (кстати по дефолту) но больше настроек которые бы удержали кеш в памяти при обновлении блока особых не вижу
и как бы префеч это ускорение чтения а мне надо обновлять кеш по мере записи блоков на диски ещё до момента когда эти блоки понадобятся на чтение
Vladislav
Михаил
L2 нет я же написал
Михаил
L2 это запись на диски а не в память , а у меня нет диска SSD в этом сервере :(
Vladislav
L2 нет я же написал
А следовало бы включить на купленный л2
Логически объясните мне
У Вас есть 128гб оперативы.
Вы считали меты и данных на 80гб
Она положилась в кэш.
Вы начали считать новые данные.
Кэш заполнился до 120гб
Каким образом он должен удерживать блоки которые считались час назад в кэше, если у него уже новые блоки поступают?
Михаил
конечно есть дурацкая идея пустиьт с минимальным приоритетом по кругу time find /srv/backups/ -type f >/dev/null ,но это автогеном так сказать
Vladislav
Если Вам важна мета, то либо купите 2 ssd для меты, либо 1 ссд для л2арк
Михаил
Vladislav
Михаил
у меня 32 из которых 25 отдано в кеш
Михаил
но кеш не нарастает в памяти
Vladislav
Поставьте min size тогда
Михаил
поставил память оно отело , кеш метадаты вымывается потому что при обновлении файлов он експайрится а не обновляется
Vladislav
И почитайте мэн
https://manpages.ubuntu.com/manpages/jammy/man5/zfs-module-parameters.5.html
central
Vladislav
https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html
И тут, первые ссылки в Гугле по запросу
Zfs arc expiry
Тоже стоит почитать
Михаил
А бекапов на сколько терабайт?
ну прям сейчас Backups-Storage1 44T 544G 43T 2% /mnt/storage/Backups-Storage1
но мне не надо кешить данные бекапов . и они по факту и не кешатся (по статистике arc_summary ) , и чтение большими блоками меня по скорости устраивает
central
central
У вас один бекап поди весит больше всего arc-а
Михаил
Maksim
zfs set primarycache=metadata ?
Михаил
https://paste.chodorenko.of.by/?6c39a541955731f6#AgzRGkDg5afLfkBtkmhBCwQSVZ1LbrNovszY4TQAdzfn
посмотите на вывод arc_summary, он даже близко не юзает выделенные 25 гигов
Михаил
zfs set primarycache=metadata ?
вот прям в этом чтате мне сказали так не делать когда боролись с проблемой чтения . и я прочувствовал правдивость этих слов как говорится на себе.
В результате такого параметра отключается многопоточное чтение с дисков и префеч и я ощущал большую проблему с чтением файлов со стора , возможно тогда была какая то версия с багом , но как только включил кешить всё моментально всё потелело.
Михаил
кажется я понял что мне надо
zfs_arc_meta_min
Минимально допустимый размер в байтах, который могут потреблять буферы метаданных в ARC. Это значение по умолчанию равно 0, что отключает нижний предел объема выделенных метаданных ARC.
При удалении данных из ARC, если значение metadata_sizeменьше, чем arc_meta_minтогда, данные удаляются вместо метаданных.
Vladislav
Станислав
Станислав
George
Станислав
Михаил
я так понял когда планируется 2,2 никто не знает
Михаил
https://github.com/openzfs/zfs/pull/14359#issuecomment-1476339176
Илья
Парни подскажите как делать волумы с 4к блоками, в стоке слишком дорого по месту получаются
Vladislav
Vladislav
По какому месту?
Илья
Если создать пулл, а потом волум с 4к блоксайз, то 1 тб превращается в 8)
Илья
Это для примера
Fedor
1 тб чего в 8 тб чего превращается?
мелких файлов в занимаемое пространство?
Станислав
Vladislav
Илья
Волумы с 4к дают большие накладные расходы по выравниванию в пуле, так понятней?
Vladislav
У Вас везде ФС 4кб блоками оперируют
Ivan
ща окажется что снапшоты место заняли
Илья
Илья
[root@003 ~]# zfs create -V 1T pool0/vvol1
[root@003 ~]# zfs create -b 4k -V 1T pool0/vvol2
[root@003 ~]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
pool0 9.07T 54.7T 767K /pool0
pool0/vvol1 1.01T 55.8T 447K -
pool0/vvol2 8.06T 62.8T 447K -
[root@SPSAN-60H-23-003 ~]#
Илья
Это наглядный пример)
Илья
он уже 16k в 2.11
Vladislav
George
он уже 16k в 2.11
неа
root@minime:~# zfs create -V 1G -s rpool/test
root@minime:~# zfs get volblocksize rpool/test
NAME PROPERTY VALUE SOURCE
rpool/test volblocksize 8K default
root@minime:~# zfs -V
zfs-2.1.11-1
zfs-kmod-2.1.11-1
Илья
запусти zdb скажи сколько ashift у тебя для rpool?
George
Илья
а что за тип пула зеркало?
░▒▓
Илья
и сделай пул без ключа s и пришли сколько пул занимет места zfs get used rpool/test
George
George