Приобрел NAS с 2-гиговым винтом, не долго думая залил туда свой рабочий каталог с исходниками. Когда сравнил размер, сколько он занимал на моем рабочем винте и сколько он стал занимать на новом — пришел в ужас — примерно в 2-3 раза больше. Стал копать, в чем проблема — оказалось, что если на рабочем винте размер блока был 4096, то на новом NAS он оказался аж 65536.
Собственно, возникает вопрос — а какой размер блока оптимален? Я храню и исходники с относительно маленькими файлами, и фильмы — т.е. разброс достаточно большой, а вот как посчитать, что выгоднее? Может есть какие готовые решения?
Оно самое. Остановился на размере блока в 8к и «хранить исходники в tar/zip без сжатия».
Эксперименты с xfs в моем случае, к сожалению, привели к тому, что все слетело, пришлось переразбивать и ставить все с нуля, а поскольку уже тошнит от этого процесса, то решил эксперименты прекратить.
Размер потерь на место — это приблизительно 1/2 * размер блока (для некоторых FS — фрагмента блока, как в UFS) * кол-во файлов (+папок) + оверхед FS * кол-во блоков.
Исходя из первого слагаемого — блоки надо делать как можно меньше, а из второго — как можно больше (тогда блоков будет меньше).
Первое слагаемое можно оценить непосредственно (`df -i` в помощь), второе — оценить, сравнив полное место согласно выводу команды df с собствено размером диска (раздела), обычно разница порядка несколько процентов. В идеале оба слагаемых должны быть приблизительно равны.
На самом деле размер блока имеет смысл, когда винт с 4096 сектором, про WD есть статьи про пролемы связанные с этим
Если винт обычный 512 сектором, то пусть будет по умолчанию (кажись 1024), если с 4096 физическим сектором, то и размер блока лучше сделать таким же, от этого напрямую зависит производительность.