Tune2fs позволяет изменить размер inode по умолчанию (128 байт на ext3, 256 байтов на ext4) практически на любой, но он должен быть степенью двойки. Каковы причины изменения размера inode по умолчанию?
Вот написано, что это можно сделать, чтобы иметь возможность хранить атрибуты ACL внутри inodes. Что еще можно хранить внутри inodes?
Есть ли причина увеличивать размер inode на современных дисках большой емкости (2 ТБ и более)?
Я думаю, что по умолчанию текущие версии mkfs.ext2 / 3/4 по умолчанию имеют размер inode 256 байт (см. /Etc/mke2fs.conf). Этот IIRC включает наносекундные временные метки с ext4, и, как вы говорите, более расширенные атрибуты подходят для inode. Такими расширенными атрибутами являются, например, ACL, метки SELinux, некоторые специфические метки Samba.
Большие inodes, конечно, тратят немного места, и по мере того, как вы их увеличиваете, вы довольно быстро попадаете на территорию с уменьшающейся отдачей. Стандартные 256 байтов, вероятно, являются хорошим компромиссом для большинства ситуаций.
Grub не работает с размером inode 256, поэтому я использую 128.
С опцией ext4 inline_data (новая в Linux 3.8) появилась новая веская причина для увеличения размера inode: с учетом этой опции содержимое файла может храниться в inode файла (если файл достаточно мал). Это позволяет избежать одной операции поиска. Я пока не видел реальных тестов для этого.