Как увеличить число инодов (inode) в файловой системе в Linux

Thank you for reading this post, don't forget to subscribe!

Когда созда­ет­ся новая фай­ло­вая систе­ма на дис­ка в Linux, то ядро ​​остав­ля­ет место для inode (индекс­ный дис­крип­тор) во вре­мя пер­во­на­чаль­но­го струк­ту­ри­ро­ва­ния фай­ло­вой систе­мы. Коли­че­ство ино­дов в фай­ло­вой систе­ме напря­мую вли­я­ет на коли­че­ство фай­лов (т.е. мак­си­маль­ное чис­ло ино­дов и сле­до­ва­тель­но, мак­си­маль­ное коли­че­ство фай­лов уста­нав­ли­ва­ет­ся при созда­нии фай­ло­вой системы).

Если все ино­ды в фай­ло­вой систе­ме исчер­па­ны, ядро ​​не может созда­вать новые фай­лы, даже если на дис­ке есть сво­бод­ное место

При созда­нии новой фай­ло­вой систе­мы в раз­де­ле вы може­те исполь­зо­вать опцию -i, что­бы уста­но­вить чис­ло бай­тов на индекс (отно­ше­ние бай­тов на индекс), чем боль­ше отно­ше­ние бай­тов на индекс, тем мень­ше будет создано.

В сле­ду­ю­щем при­ме­ре пока­за­но, как создать тип фай­ло­вой систе­мы EXT4 с неболь­шим соот­но­ше­ни­ем бай­тов на индекс в раз­де­ле 4 ГБ.

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

Вот еще один при­мер с боль­шим отно­ше­ни­ем бай­тов на индекс.

Кро­ме того, вы так­же може­те исполь­зо­вать флаг -T, что­бы ука­зать, как будет исполь­зо­вать­ся фай­ло­вая систе­ма, что­бы mkfs.ext4 мог выбрать опти­маль­ные пара­мет­ры фай­ло­вой систе­мы для это­го исполь­зо­ва­ния, вклю­чая соот­но­ше­ние бай­тов на индекс. Файл кон­фи­гу­ра­ции /etc/mke2fs.conf содер­жит раз­лич­ные под­дер­жи­ва­е­мые типы исполь­зо­ва­ния и мно­гие дру­гие пара­мет­ры конфигурации.

В сле­ду­ю­щих при­ме­рах коман­да сооб­ща­ет, что фай­ло­вая систе­ма будет исполь­зо­вать­ся для созда­ния и/или хра­не­ния дан­ных largefile и боль­шо­го largefile4, кото­рые пред­ла­га­ют более под­хо­дя­щие соот­но­ше­ния: один инод на каж­дые 1 МБ и 4 МБ соответственно.

Что­бы про­ве­рить исполь­зо­ва­ние inode фай­ло­вой систе­мы, выпол­ни­те коман­ду df с пара­мет­ром -i (пара­метр -T пока­зы­ва­ет тип фай­ло­вой системы).