George
Если оно заведомо несжимаемое, то и не пропускать нечего. У самого один том под файлопомойку без сжатия - там чутка фильмов, музыки, фотки и isoшки. Просто нет смысла даже включать
вообще смысл есть, - сжатие асинхронное, т.е. на скорость синхронной записи не влияет, производится на записи txg - если в файле больше 1 блока, то без сжатия последний блок всегда равен полному. Со сжатием фактическое место займётся - мелкие сжимаемые файлы наверняка будут
sexst
А если размер блока 1M? Тоже нет смысла?
Сами данные с высокой энтропией из коробки. Такое не жмется примитивными алгоритмами
George
ну и lz4 умеет пропускать несжимаемое
George
lz4 всего на 10-20% медленнее на них чем memcpy
George
Но медленнее
диск всё равно медленнее))
Vladislav
Но медленнее
memcpy! У тебя не массив из 1000 nvme pcie 5.0
sexst
Но дело вкуса, окей
George
так что пока у вас не пара nvme промышленных, то об lz4 можно не беспокоиться
sexst
диск всё равно медленнее))
Вам бы только воздух греть 😁
Vladislav
sexst
memcpy! У тебя не массив из 1000 nvme pcie 5.0
Это не значит что оно медленнее для моего случая. Это значит что оно всё равно что-то лишнее жрёт просто так. Мне места хватает, мне одну крутилку отвернуть не лень
sexst
Вам разрешаю не откручивать😁
Кот Матроскин
lz4 всего на 10-20% медленнее на них чем memcpy
А gzip у меня проц в панику в водит, что консоль падает при сжатии, а потом и сетевая шара.
sexst
Не, ну lz4 реально реактивный на фоне gzip
sexst
?
Если оно медленнее, оно вводит накладные расходы. Может и мизер, но вводит.
sexst
Тебе жалко 10-20 циклов CPU?
В целом нет. Но мне и одну крутилку отвернуть, повторюсь, не жалко
George
Вам бы только воздух греть 😁
а тут важно какое железо, сэкономить на тепле получится только если железо свежее и есть время простоя :)
George
главное не говорить что для метадаты lz4 сейчас всегда включен)
sexst
?
У меня есть том с несжимаемыми большими файлами, я у него унаследованный от пула lz4 отключил точечно. Мне не лень.
sexst
Можно не отключать если лень
George
конечно же дело вкуса, но compression=on (lz4) не просто так стало по дефолту с 2.1
Vladislav
Это не дедуп, который убивает производительность
sexst
sexst
Они в других лежат
sexst
Там сжатие есть
sexst
А вход 100Г?
😁 А вход 10г. Это домашний nas на 4 nvme диска, блин)
sexst
На проде мне тактов не жалко, они казённые
sexst
И я стараюсь не трогать крутилки в сторону от дефолта если нет необходимости. Пушто это я потом помню что нужно вот тут покрутить и потереть. А другие вообще zfs от zog не отличают
Vladislav
😁 А вход 10г. Это домашний nas на 4 nvme диска, блин)
)) Некоторые дефолтные настройки стоит оставить дефолтными
sexst
)) Некоторые дефолтные настройки стоит оставить дефолтными
Да. Но я знаю что кручу и зачем. И чем оно чревато
George
По умолчанию что ли?
да, и просто так это не отключается
Кот Матроскин
да, и просто так это не отключается
Для этого есть настройка вообще?
George
емнип нет, только код править
George
ибо смысла не жать нет
Georg🎞️🎥
Это не дедуп, который убивает производительность
При любом колличестве оперативы кстати ?
Δαρθ
Просто по факту есть ли смысл в lz4 для файлопомойки с бекапами, фильмами, сериалами и прочими почти не сжимаемыми данными?
по какойто мне неясной причине при откл сжатии сабж начиает хвосты файлов класть в целые блоки (если блок мегабайт - минус полмега на каждый файл) но не делает этого со сжатием даже если дата несжимаемая так что сжатие всегда имеет смысл включать даже на файлах с рандомом
Кот Матроскин
ибо смысла не жать нет
Ну мета то понятно, ну раз оно жмётся по дефолту, а жать архивы и видео смысла нет, тогда отрубаем lz4 для NASа с бекапами)
Vladislav
При любом колличестве оперативы кстати ?
Проблема в дополнительном количестве операций с памятью, нежеле и в её размере
Δαρθ
Ну у меня блок 128k, а файлы в основном как минимум несколько mb.
128к это шоб на гигабайтных файлах поьольше места для "меты" в унитаз спускать?
Кот Матроскин
128к это шоб на гигабайтных файлах поьольше места для "меты" в унитаз спускать?
И шо делать??? Как и говорили, выкручивать блок на 1M и включать LZ4?
Δαρθ
128к и меньше это для дрочителей файлов типа баз данных
Δαρθ
или хз, зволов с виртуалками
Кот Матроскин
128к и меньше это для дрочителей файлов типа баз данных
Ну lz4 тоже как бы это работа CPU в тепло)
Δαρθ
Ну lz4 тоже как бы это работа CPU в тепло)
и хрен бы с цпу и теплом, не?
Кот Матроскин
и хрен бы с цпу и теплом, не?
Дома то не хрен, жарко ему будет и электричество мотает.
Δαρθ
Дома то не хрен, жарко ему будет и электричество мотает.
постоянно крутящийся винт всяко больше намотает в день чем гигабайт записи с сжатием
Δαρθ
Он не постоянно крутится)
ааа... решил поубивать винт постоянными раскруками? )
Кот Матроскин
ааа... решил поубивать винт постоянными раскруками? )
Это бекап сервер и файловая помойка.
Кот Матроскин
100 Gb на 1 Tb крупных файлов для метаданных это не слишком ли? 🤔 При размере блока 1M и lz4.
Кот Матроскин
Ты в Европе живёшь?
В бобростане, тут всё дорого...
Ahiles
Добрый день уважаемый чат, я здесь новенький. К вам привела моя вчерашняя ошибка по удалению датасета. Имется такой конфиг: Linux 6.8.4-2-pve zfs-2.2.3-pve2 zfs-kmod-2.2.3-pve2 такой пул root@SuperMicro:~# zpool status pool33 -v pool: pool33 state: ONLINE scan: scrub canceled on Fri May 10 17:24:46 2024 config: NAME STATE READ WRITE CKSUM pool33 ONLINE 0 0 0 wwn-0x5000cca291c005a5 ONLINE 0 0 0 special mirror-1 ONLINE 0 0 0 wwn-0x5000cca050596014-part12 ONLINE 0 0 0 wwn-0x5000cca050546ee0-part12 ONLINE 0 0 0 errors: No known data errors в пуле был единственный датасет который я по ошибке удалил. После удаления я выполнил следующую последовательность команд: zpool history -il pool33 2024-05-09.18:13:02 [txg:1008385] snapshot pool33/subvol-119-disk-0@now (384) [on SuperMicro] 2024-05-09.18:13:02 (26ms) ioctl snapshot input: snaps: pool33/subvol-119-disk-0@now props: [user 0 (root) on SuperMicro:linux] 2024-05-09.18:13:02 zfs snapshot pool33/subvol-119-disk-0@now [user 0 (root) on SuperMicro:linux] 2024-05-10.12:35:39 [txg:1021307] scan setup func=1 mintxg=0 maxtxg=1021307 [on SuperMicro] 2024-05-10.12:35:41 (2509ms) ioctl scrub input: scan_type: 1 scan_command: 0 [user 0 (root) on SuperMicro:linux] 2024-05-10.12:35:41 zpool scrub pool33 [user 0 (root) on SuperMicro:linux] 2024-05-10.17:15:50 [txg:1022972] destroy pool33/subvol-119-disk-0@now (384) [on SuperMicro] 2024-05-10.17:15:51 (1382ms) ioctl destroy_snaps input: snaps: pool33/subvol-119-disk-0@now [user 0 (root) on SuperMicro:linux] 2024-05-10.17:15:52 [txg:1022974] destroy pool33/subvol-119-disk-0 (26010) (bptree, mintxg=1) [on SuperMicro] 2024-05-10.17:15:55 zfs destroy -r pool33/subvol-119-disk-0 [user 0 (root) on SuperMicro:linux] zpool export pool33 zpool import -T 1022973 pool33 cannot import 'pool33': one or more devices is currently unavailable Также я пробовал: zpool import 3918504051630602103 -d /dev/disk/by-id/wwn-0x5000cca291c005a5 -d /dev/disk/by-id/wwn-0x5000cca050596014-part12 -d /dev/disk/by-id/wwn-0x5000cca050546ee0-part12 -T 1022973 cannot import 'pool33': one or more devices is currently unavailable Если просто импортировать пул - он успешно импортируется Надеюсь я что-то упускаю и есть способ восстановить датасет
Vladislav
где-то читал что в линуксах запись на смонтированную раму медленнее, чем на nvme.
Я тут пока поднимал знания по vfs.zfs.dirty_data_max_percent наткнулся на это сообщение Так вот у tempfs скорость запись что-то 1.4 ГБ/с
Wild_Wind
Кстати, фрагментация на zfs это норма или с ней надо что-то делать? На одном из пуллов: fragmentation 58%
Ivan
пора завести сайт вроде linuxatemyram, только про фрагментацию
Vladislav
)))))))
Free
На одном из серверов заметил значительную нагрузку на CPU от arc_prune и arc_evict. Порой до 100% доходит. В интернетах один из советов (помимо глобального - разобраться, кто может чрезмерные запросы на память запрашивать) - установить zfs_arc_max равным zfs_arc_mix - вроде тогда ARC prune вообще отключается: if needed, set zfs_arc_min the same as zfs_arc_max (basically disabling ARC prune). Но у меня они установлены равными (8GB при общем объеме 64GB). От чего еще может ARC prune возбуждаться? PS И вообще чрезмерной нагрузки на память нет, раз есть запас не используемой: root@S04:~# free -m total used free shared buff/cache available Mem: 64230 60560 2663 4 1715 3669 Swap: 976 973 3
Кот Матроскин
Олежа кажется не прошёл проверку)
Добрый день! Планирую поднимать ZFS (ZoL) на сервере в качестве Root'а. Гипервизор KVM, Oracle Cloud. Ядро всегда свежее, возможна компиляция под себя. Конфигурация: 24 GB RAM, 4 vCPU (AARCH64, Ampere Altra), 50GB (boot volume) + 200GB на Block Volume c динамической/фиксированной регулировкой IOPS. Нагрузка: nginx/h2o, крупная база rocksdb как часть хоумсервера Matrix. В дальнейшем планируется подъем крупной базы postgre для нового сайта. Подскажите пожалуйста, какие опции выбрать при создании пула с учетом данного конфига и перспективы: датасеты, ashift, arc и прочее? Насколько оправдано объединение Boot Volume + Block Volume и какие Best Practice стоит использовать в таком кейсе? Упор идет на performance. Буду благодарен за любой совет. Опыта работы с ZFS практически нет - был в планах, но т.к. сейчас разворачиваю новую инфраструктуру, хочется перейти сразу, чтобы позднее не переносить все снова. Все накопители в KVM на Oracle Cloud, HDD RAID нет. Предоставлю все необходимые данные, если этого недостаточно. Спасибо!
central
Добрый день! Планирую поднимать ZFS (ZoL) на сервере в качестве Root'а. Гипервизор KVM, Oracle Cloud. Ядро всегда свежее, возможна компиляция под себя. Конфигурация: 24 GB RAM, 4 vCPU (AARCH64, Ampere Altra), 50GB (boot volume) + 200GB на Block Volume c динамической/фиксированной регулировкой IOPS. Нагрузка: nginx/h2o, крупная база rocksdb как часть хоумсервера Matrix. В дальнейшем планируется подъем крупной базы postgre для нового сайта. Подскажите пожалуйста, какие опции выбрать при создании пула с учетом данного конфига и перспективы: датасеты, ashift, arc и прочее? Насколько оправдано объединение Boot Volume + Block Volume и какие Best Practice стоит использовать в таком кейсе? Упор идет на performance. Буду благодарен за любой совет. Опыта работы с ZFS практически нет - был в планах, но т.к. сейчас разворачиваю новую инфраструктуру, хочется перейти сразу, чтобы позднее не переносить все снова. Все накопители в KVM на Oracle Cloud, HDD RAID нет. Предоставлю все необходимые данные, если этого недостаточно. Спасибо!
Это что за такой nvme который на самом деле блочное хранилище ещё и с настраиваемым iops?
Vladislav
Добрый день! Планирую поднимать ZFS (ZoL) на сервере в качестве Root'а. Гипервизор KVM, Oracle Cloud. Ядро всегда свежее, возможна компиляция под себя. Конфигурация: 24 GB RAM, 4 vCPU (AARCH64, Ampere Altra), 50GB (boot volume) + 200GB на Block Volume c динамической/фиксированной регулировкой IOPS. Нагрузка: nginx/h2o, крупная база rocksdb как часть хоумсервера Matrix. В дальнейшем планируется подъем крупной базы postgre для нового сайта. Подскажите пожалуйста, какие опции выбрать при создании пула с учетом данного конфига и перспективы: датасеты, ashift, arc и прочее? Насколько оправдано объединение Boot Volume + Block Volume и какие Best Practice стоит использовать в таком кейсе? Упор идет на performance. Буду благодарен за любой совет. Опыта работы с ZFS практически нет - был в планах, но т.к. сейчас разворачиваю новую инфраструктуру, хочется перейти сразу, чтобы позднее не переносить все снова. Все накопители в KVM на Oracle Cloud, HDD RAID нет. Предоставлю все необходимые данные, если этого недостаточно. Спасибо!
Если у KVM включён writeback, то не надо туда ZFS
Ivan
Добрый день! Планирую поднимать ZFS (ZoL) на сервере в качестве Root'а. Гипервизор KVM, Oracle Cloud. Ядро всегда свежее, возможна компиляция под себя. Конфигурация: 24 GB RAM, 4 vCPU (AARCH64, Ampere Altra), 50GB (boot volume) + 200GB на Block Volume c динамической/фиксированной регулировкой IOPS. Нагрузка: nginx/h2o, крупная база rocksdb как часть хоумсервера Matrix. В дальнейшем планируется подъем крупной базы postgre для нового сайта. Подскажите пожалуйста, какие опции выбрать при создании пула с учетом данного конфига и перспективы: датасеты, ashift, arc и прочее? Насколько оправдано объединение Boot Volume + Block Volume и какие Best Practice стоит использовать в таком кейсе? Упор идет на performance. Буду благодарен за любой совет. Опыта работы с ZFS практически нет - был в планах, но т.к. сейчас разворачиваю новую инфраструктуру, хочется перейти сразу, чтобы позднее не переносить все снова. Все накопители в KVM на Oracle Cloud, HDD RAID нет. Предоставлю все необходимые данные, если этого недостаточно. Спасибо!
вы хотите zfs внутри вм на одном диске ?