Разработка файловой системы - PullRequest
4 голосов
/ 24 ноября 2010

При проектировании файловой системы, которая использует структуру inode для указания файлов / блоков, как фактически определяется количество необходимых inode?

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Некоторые современные файловые системы (XFS для одной) распределяют inode по мере необходимости.Файловые системы без этой функции выбирают основанное на опыте значение относительно размера диска (например, ext2 / 3/4 создает 1 инод на дисковое пространство 4 КБ IIRC), и обычно существует способ настроить это значение при создании файловой системы.

1 голос
/ 24 ноября 2010

В некоторых файловых системах Unix (например, ext * fs), который фактически зависит от системного администратора, который устанавливает относительный параметр при создании файловой системы.

Если в файловой системе будет много маленьких файлов (типичный пример - новостной и почтовый серверы), вам потребуется большое количество inode, поскольку для каждого объекта (файла или каталога) вам нужен inode.

Если, с другой стороны, в файловой системе будут размещаться файлы большего размера (например, видеосервер), вам не нужно столько inode.

Поскольку иноды занимают место, важно обеспечить баланс между производительностью / эффективностью и достаточным количеством инодов для ваших целей. Простой метод состоит в том, чтобы вычислить средний размер файла в активной файловой системе с аналогичными шаблонами использования и использовать это число в качестве базового значения для отношения байтов к индексу на новой FS. Это позволило бы ФС оставаться работоспособным во время заполнения тома, если шаблоны использования не претерпевают существенных изменений.

Если вы на самом деле проектируете новую файловую систему, а не просто создаете том, вам следует рассмотреть идею динамического выделения inode, как и некоторых других общих файловых систем Unix (например, JFS, XFS, Reiserfs). Это сделало бы вашу файловую систему немного более гибкой, хотя обычно считается, что динамические структуры FS значительно затрудняют восстановление после проблем с повреждениями.

...