Мы сталкиваемся с ограничением числа инодов на нашем файловом сервере, и я провожу эксперимент по сокращению числа инодов. Как я могу узнать, сколько inode использует каталог? Я читал, что ядро Linux не создает индекс для софт-ссылок длиной до 60 байт, а хранит эту символическую ссылку в самом каталоге. Таким образом, я пытаюсь сократить длину символьных ссылок до 60 байт, а затем посмотреть, уменьшает ли это число инодов.

РЕДАКТИРОВАТЬ: (не может поставить новые строки в комментариях ... )@Caliban Что я предлагаю создает 1 символическую ссылку на родительский каталог , а затем , имеющие все другие символические ссылки указывают через этого родителя реж например , оригинальные ссылки:

a -> /LONG_PATH/a
b -> /LONG_PATH/b
c -> /LONG_PATH/c

с символической ссылкой каталога

__parent_dir -> /LONG_PATH
a -> parent_dir/a
b -> parent_dir/b
c -> parent_dir/c

1 ответ1

1

Индекс для каждого файла и каталога, это правило. И о части, где символические ссылки меньше 60 байтов хранятся в самом каталоге inode ... Я тоже считаю, что это неправильно.

По сути, когда символьная ссылка имеет длину менее 60 байтов, она фактически сохраняется в своем собственном иноде (то есть отдельно от инода каталога), и блок данных не создается. Таким образом, он ускоряет чтение символических ссылок менее чем на 60 байтов, поскольку блок данных не нужно читать, что приводит к более быстрым операциям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .