Хотелось бы уточнить собранную инфу и опробованную опытом
Если я правильно понял в ZFS может быть:
Pool с файловыми системами
ZIL (Intent Log) - транзакционный лог, обычно расположен в пуле
SLOG - транзакционный лог, вынесенный из пула на отдельное устройство
ARC - кэш чтения в RAM
L2ARC - дополнительный кэш чтения на отдельном устройстве типа быстрого SSD или RAMdrive?
ZFS всегда пишет последовательно и в Pool и в ZIL, верно?
но если одновременно туда и туда, то может получиться random write, поэтому чтобы убрать лишнее ерзанье головок ZIL перемещают из Pool в отдельный SLOG верно?
Какой размер блока, записываемый ZFS на устройства? равный record size?
какая у винтов пропускная способность на последовательные МЕЛКИЕ блоки, например 4К, 128К ?
В ZFS вообще не бывает random write данных? может быть только метаданных? Метаданные нельзя хранить на отдельном от данных устройстве (mirror dev1 dev2 ...)? Поэтому размещение ZIL на SSD SLOG почти не дает видимого прироста?
Т.е. применить SSD в ZFS для повышения производительности записи random write (I)OPs почти невозможно?
При использовании части SSD под пул, имеет ли смысл часть этих SSD отдавать под SLOG или L2ARC? Или они насыщены операциями в пуле и будут только тормозить работу других пулов, находясь в SLOG и L2ARC этих других пулов?
Может ли SSD повысить скорость чтения, если его добавить в кэш чтения L2ARC?
Вообще для ZFS наверно лучше добавлять только устройство целиком под определенную функцию (SLOG, L2ARC, и т.п.)?