AM
диски Samsung PM9A3 1.92 U.2
Vladislav
Там буквально написано, что не так
AM
/dev/nvme3n1 S64GNS0T900421 SAMSUNG MZQL21T9HCJR-00A07 1 3.45 GB / 1.92 TB 4 KiB + 0 B GDC5602Q /dev/nvme4n1 S64GNS0T900419 SAMSUNG MZQL21T9HCJR-00A07 1 3.45 GB / 1.92 TB 4 KiB + 0 B GDC5602Q
AM
cat /sys/class/block/nvme3n1/queue/physical_block_size 32768
Станислав
Ого, интересно. Не знал, что у этих накопителей такой размер сектора. Типо ashift нужен 15
AM
почему такой блок странный, я сам не ожидал такое увидеть
Vladislav
Потому что это блок ячеек памяти
AM
ну т.е. он автоматом не правильно выставил ashift?
Станислав
ну т.е. он автоматом не правильно выставил ashift?
Рекомендую в будущем самому задавать на каждый созданный vdev. Многих проблем избежите
Animal
братва подзабыл. завтра планирую махнуть обычный м2 сата диск на ь2-нвме. на ь2-сата есть небольной пул с ashift=12. Есть ли смысл пересоздать этот пул на nvme с ashift=13 или пофиг можно оставить 12 и просто расширить размер пула (нвме побольше объема тек диска).
Vladislav
Хорошо, откуда взялось число 13?
Animal
хз.. )) давно видел на реддите про ашифт=13 для ссд/нвме... мол 13 на будущее...
Animal
но что там за будущее я уже не помню..мол под новые типы накопителей с более крупным размером сектора или чот типа того
Animal
просто сейчас обычный диск ссд в формате м2 скорость чт/зап грубо считаем 500. а нвме 2500..2000. норм ли будет оставить 12 ? просто мне так будет проще. тупо ДД с сата-нвме и просто расширить раздел с пулом.
Animal
пул под хранилку фоток с телефона + немного видосов тоже с труб. - там типа некстклауд на пару не особо активных юзеров .
Vladislav
Первое, ты не увидишь большого прироста по скорости Второе, https://www.reddit.com/r/zfs/comments/aq913n/anyone_know_what_the_physical_sector_size_ashift/eghtntx/
Animal
сложно. там кроме зфса обычное екст4 с парой образов под пару ВМ + еще чето...
Animal
зачем? - что бы быстрее был отклик некста и пр (там когда пречьюшки создает или пачку фото сбросить на 10..20гб за раз....
Maksim
а сколько оперативки? оно ж всё (в смысле фоточки) в arc кэш поместится небось
Animal
64оперативки. кеш ограничен параметром модуля ядра.
Maksim
а сеть какая?
Animal
простая. 1гбит
Animal
можно сделать 2 (агрегацией) но то между машиной и роутером (роутер может агрегацию)
Animal
остальные клиенты вмассе 1гбит или по вифи в локалке или из внешки к некстклауду.. там уже менее гигабита (тариф провайдера - ограничение)
Animal
+ надеюсь ВМ ки снвме будут пошустрее грузить. и да.. кусочек от нвме мб под L2ARC кеш для пула на обчных ротационных дисках выделить...
Animal
вощем че? оставить 12 и не переживать или есть смысл замутить с 13 ?
Art
Первое, ты не увидишь большого прироста по скорости Второе, https://www.reddit.com/r/zfs/comments/aq913n/anyone_know_what_the_physical_sector_size_ashift/eghtntx/
Вот не первый раз уже вижу мнение, что нет смысла в ашифте больше 12, якобы почти все ССД заточены что с ними будут работать как с 4к-устройствами
Vladislav
Вторая часть с ссылкой на реддит вполне говорит, что зависит от памяти SSD
Vladislav
и Самсунговские это 8к
Art
Первое, ты не увидишь большого прироста по скорости Второе, https://www.reddit.com/r/zfs/comments/aq913n/anyone_know_what_the_physical_sector_size_ashift/eghtntx/
Да, я про реддит, точнее про это: That said, I suggest going with ashift=12 because SSD controllers, FTL (flash transition layer) and page indirection table are all optimized for industry-standard 4K accesses.
Vladislav
Можно будет побенчить надосуге
Art
Вторая часть с ссылкой на реддит вполне говорит, что зависит от памяти SSD
то есть вроде как получается что на самом деле нам даже не нужно мучаться, и пытаться интерпретировать/сопоставлять внутреннее устройство флэш-накопителей с традиционными понятными HDD По итогу на выходе все ССД они заточены на 4к, кроме специальных, у которых желательный блок указан в спеках
Art
Можно будет побенчить надосуге
вот это было бы славно) удивительно, но внятного тестирования по этому вопросу кажется никто ещё не провёл
Animal
1тб хочу поставить. нашел на него такую спеку типа. указано что 4К сектор вроде как. Наверное можно оставить 12 ашифт?
Art
1тб хочу поставить. нашел на него такую спеку типа. указано что 4К сектор вроде как. Наверное можно оставить 12 ашифт?
ну, вообще это только результаты тестов производительности приведены. Тесты в 4к это промышленный стандарт мелкоблочной нагрузки
George
ashift выше 13 ставить смысла нет. 9 можно ставить если хочется сэкономить на мелочах с помощью сжатия или на raidz. В остальных случаях - дефолт == размер блока диска. Недавно даже патч был ограничивающий авторазмер до 14 чтоли, а то кому то попался ссд говорящий по ошибке о 256к секторе)))
George
т.е. в моем случае с /sys/class/block/nvme3n1/queue/physical_block_size 32768. Также нет смысла ставить ashift больше чем 13?
99% нет, если хочется перебдеть - можно побенчить разные размеры блока, если он в самом деле такой большой то перформанс меньших блоков по iops будет не лучше. Ну или попытаться найти в инете инфу о диске
AM
99% нет, если хочется перебдеть - можно побенчить разные размеры блока, если он в самом деле такой большой то перформанс меньших блоков по iops будет не лучше. Ну или попытаться найти в инете инфу о диске
Уже провел некоторые тесты с ashift 15, надо будет зафиксировать результат, переделать zvol на 13, и сравнить. Изначально было 13, но смутило предупреждение в zpool status. А по диску инфы не нахожу с ZFS. Еще я отформатировал его в 4к через nvme-cli, изначально он был 512.
AM
Вернул форматирование в дефолт nvme format --lbaf=0 -f /dev/nvme4n1 (512) и блок стал 4096
AM
cat /sys/class/block/nvme4n1/queue/physical_block_size 4096
AM
Может баг прошивки? Неверно сообщает
хз, прошивка вроде последняя
Станислав
хз, прошивка вроде последняя
~# nvme list Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- /dev/nvme0n1 S436NC0T801907 SAMSUNG MZ1LB1T9HALS-00007 1 30,48 GB / 1,88 TB 4 KiB + 0 B EDA7602Q /dev/nvme1n1 S5XANA0R534394 MZ1LB1T9HBLS-000FB 1 50,47 GB / 1,88 TB 4 KiB + 0 B EDW73F2Q ~# cat /sys/class/block/nvme0n1/queue/physical_block_size 4096
Станислав
На самом деле думаю, что вообще без разницы
AM
В целом потестил, разницы в производительности между ashift 13 и 15 нет, только погрешность, это при 4k формате (physical_block_size 32768). А вот с 512 и physical_block_size 4096 все похуже получается.
AM
с ashift 13 только грозное сообщение в zpool status )
Станислав
13
По феншую, если физический сектор 4096, ashift должен быть 12
Станислав
А для 512 сектора вообще ашифт=9
AM
Да, в курсе попробую и с ним протестить, но думаю что разницы не будет между ними.
Станислав
Да, в курсе попробую и с ним протестить, но думаю что разницы не будет между ними.
И было бы неплохо конкретные значение увидеть. Всем интересно, какая реально разница)
AM
В конце тестов попробую все оформить и выложить )
Art
Да, имел ввиду переделать пул, сори за не точность.
я на самом деле из контекста так и понял, но решил уточнить на всякий, меня зфс и спустя три года активного использования не перестаёт удивлять)
Art
с ashift 13 только грозное сообщение в zpool status )
а как он там примерно ругался?
AM
а как он там примерно ругался?
чуть выше вчера вечером выкладывал zpool status: # zpool status pool: nvme-pool state: ONLINE status: One or more devices are configured to use a non-native block size. Expect reduced performance. action: Replace affected devices with devices that support the configured block size, or migrate data to a properly configured pool.
AM
а ссылки на pastebin ссылки здесь не разрешаются?
Fedor
видимо, вы тут недавно
Fedor
по ссылочке доступно сообщение
AM
понял, ну ок, хотел результаты тестов скинуть
Fedor
понял, ну ок, хотел результаты тестов скинуть
В итоге результаты получились такие, если кому интересно, то велком: ZFS Mirror ZFS (/ashift 15/zvolblock 16/lz4/nvme format 4k) https://pastebin.com/yUB0muNT ZFS (ashift 13/zvolblock 16/lz4/nvme format 4k) https://pastebin.com/BdQNqDuj ZFS (ashift 13/zvolblock 16/compression=off/nvme format 4k) https://pastebin.com/WJWThwqA ZFS (ashift 13/zvolblock 16/lz4/nvme format 512/) https://pastebin.com/4Bw2FHbq MD (Mirror) + LVM-Thin (nvme format 512) https://pastebin.com/ZULrdNqB Железо: CPU: AMD EPYC 7302P RAM: 128GB NVME: Samsung PM9A3 U.2 1.92TB - 2 шт. OS: Proxmox 7.4-4 VM: Rocky Linux 9.2 (fio)
Fedor
переносы поехали 🙁
AM
Форматирование уехало, да.
AM
Ну ладно, пусть хоть так будет
Vladislav
В итоге результаты получились такие, если кому интересно, то велком: ZFS Mirror ZFS (/ashift 15/zvolblock 16/lz4/nvme format 4k) https://pastebin.com/yUB0muNT ZFS (ashift 13/zvolblock 16/lz4/nvme format 4k) https://pastebin.com/BdQNqDuj ZFS (ashift 13/zvolblock 16/compression=off/nvme format 4k) https://pastebin.com/WJWThwqA ZFS (ashift 13/zvolblock 16/lz4/nvme format 512/) https://pastebin.com/4Bw2FHbq MD (Mirror) + LVM-Thin (nvme format 512) https://pastebin.com/ZULrdNqB Железо: CPU: AMD EPYC 7302P RAM: 128GB NVME: Samsung PM9A3 U.2 1.92TB - 2 шт. OS: Proxmox 7.4-4 VM: Rocky Linux 9.2 (fio)
Maksim
TLDR потом кто-нибудь расскажите, пожалуйста)
Sergey
ну типа 8KB/4KB на блок - почти не отличаются (8K ~= 3% лучше), а 512B предсказуемо гораздо хуже
Sergey
верно ли я понял, что размер сектора у девайса 8K?
AM
верно ли я понял, что размер сектора у девайса 8K?
С завода по дефолту он ID 0, physical_block_size - 4096, если переключить на 4k (Id 1), то physical_block_size становится 32k Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 1 - 4096 0 0
AM
А есть ли предпосылки для улучшения производительности ZFS с NVMe? Может была какая нибудь информация от разработчиков?
central
вроде в 3.0 должно выйти
central
где то выше можно тесты найти с этим патчем