Настройка ZFS под iSCSI хранилище (размеры блоков, кластеров и т.д.)

kind.kelpy

Dabbler
Joined
Nov 17, 2020
Messages
14
Прошу помощи сообщества, поскольку мои познания в файловых системах не столь глубоки. Прежде чем задать вопрос было изучено достаточно материала в различных форумах, включая и этот, но единого не было найдено. Это вопрос скорее к практикам имеющим достаточный опыт эксплуатации TrueNAS.
Задача - хранилище, которое будет состоять исключительно из блочных устройств и раздаваться по ISCSI в среде MS Windows. Часть устройств планируется под архивы медиа данных (видео, фото), часть под системы резервного копирования серверов. Эмпирическим путём был получен удовлетворительный результат на установках по умолчанию: размер блока zvol - 16K, размер кластера тома NTFS для цели этого устройства - 4K. Но на таких настройках падают скорость при записи небольших файлов. Очень хочется найти баланс между стабильной скоростью запись/чтение и избежать излишней фрагментации. Запись предполагается линейная, чтение произвольное.
Система: TrueNAS-12.0-STABLE, 8 GB RAM, 4 x 4 GB HDD в RAID-Z.
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
Запись многих мелкий файлов на блочное хранилище может оказаться не очень линейной. Иначе не было бы никакой разницы крупные файлы или мелкие. Все в руках NTFS что работает поверх.

16КБ блок zvol поверх 4x RAIDZ -- это на нижней границе здравого смысла с точки зрения эффективности использования места. Может статься что выигрыш по месту по сравнению с зеркалом будет минимальный, а скорость много ниже. Такие мелкие блоки надо хранить на зеркале и только. RAIDZ должен начинаться хотя бы с 32КБ, а если он широкий, то 64КБ и больше. TrueNAS кстати должен это автоматически учитывать при создании zvol.

С точки зрения скорости -- крупные блоки ускоряют большие последовательные операции, мелкие -- мелкие и случайные, особенно случайную запись.
 

kind.kelpy

Dabbler
Joined
Nov 17, 2020
Messages
14
TrueNAS кстати должен это автоматически учитывать при создании zvol.

Не учитывал. Что на RAID-Z, что на RAID-Z2 предлагает одинаковый размер 16К. Может это связано с размером сектора HDD? Мой сообщает системе, что у него 512 байт...
За рекомендацию спасибо, эмпирические исследования видимо продолжаться ))) По результатам отпишусь. Мне кажется - эта тема интересна многим начинающим.
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
При секторе 512 RAIDZ теоретически должен иметь иметь существенно лучшую плотность хранения мелких блоков, вот только во избежание проблем с 512e дисками TrueNAS насильно устанавливает ashift в 12, что равнозначно 4КБ сектору диска.
 

CrashX

Explorer
Joined
Apr 16, 2013
Messages
63
в свое время остановился на
4к секторах, диски тоже с поддержкой 4к
коммутатор jimbo frame 4k+служебная информация
сетевые карты MTU 4к
и конечно же FS 4k

сейчас уже подходил с другой позиции
под каждую задачу выбирал best practices
для SQL делал упор из выбранного размера блока в SQL
64кб для гостевой ФС и размер записи (x4) 256кб для ZFS

но это частные случаи
 

Maksim Shulga

Dabbler
Joined
Feb 28, 2020
Messages
45
16КБ блок zvol поверх - это на нижней границе здравого смысла с точки зрения эффективности использования места. Может статься что выигрыш по месту по сравнению с зеркалом будет минимальный, а скорость много ниже. Такие мелкие блоки надо хранить на зеркале и только. RAIDZ должен начинаться хотя бы с 32КБ, а если он широкий, то 64КБ и больше
а тут уже и у меня есть вопросы консультационного характера

у меня есть система
16КБ блок zvol поверх 4x RAIDZ
у меня есть такие системы:
1) без шифрования, RAID-Z2 с NFS без zVol - архивы вирт. машин ESX через Veeam
2) c шифрованием, RAID-Z с NFS без zVol - архивы вирт. машин ESX через Veeam + архивы SQL (большие, размеры 25-55 Гб)
3) c шифрованием, RAID-Z* SSD iSCSI через zVol - исключительно размещение файлов БД SQL Server
* этот вариант из 3х SATA SSD 960Gb

везде где мной создавался zVol размер блока предлагался по-умолчанию и был принят 16Kb
если это не есть оптимально, можно узнать где есть рекомендации по оптимальности/оптимизации, может ссылку какую ? именно по True/FreeNAS

а по созданию пулов, я сейчас разницу посмотрел, по-умолчанию отличия были
- 64Kb record size на RAID-Z HDDx4 (4Tb x4)
- 128Kb record size на RAID-Z SSDx3 (960Gb x3)
но логика мне пока не ясна... буду признателен за информацию
 
Top