Як я можу створити розділ EXT4 з надзвичайно великою кількістю входів?


15

Про індекси

В Ubuntu кожен файл і каталог є так званими inode. Ви можете використовувати df -iдля перевірки кількості використовуваних входів та доступних для всіх змонтованих файлових систем.

Питання

Якщо ви створюєте новий розділ EXT4, він використовує за замовчуванням кількість входів, що в нормальних умовах повинно бути достатнім. Однак якщо ви запускаєте систему, яка виробляє мільйони невеликих файлів, як вам потрібно створити новий розділ EXT4 з надзвичайно великою кількістю вкладень? Який максимум?

Коментарі

  • НЕ МОЖЕТЕ змінювати кількість доступних входів ПІСЛЯ створення розділу EXT4


@Rinzwind Це не те саме питання, оскільки воно лише запитує, як знайти велику кількість невеликих файлів ... це не пояснює, як відформатувати новий розділ EXT4 з надмірно великою кількістю входів. Я знову відкрию своє запитання.
bzero

Як я можу відключити цей верхній банер із зазначенням, що на це питання вже можна було відповісти? Це вже інше питання.
bzero

Відповіді:


12

Використовуючи, mkfs -t ext4 -N iNumberOfINodes /dev/XdYде iNumberOfINodesє 32-бітове число, тому максимально можлива кількість входів у будь-якій файловій системі ext2 / 3/4 становить 2 ^ 32-1, або 4,294,967,295 (~ 4 млрд).


5
Чи є відомі недоліки продуктивності при налаштуванні 4 000 000 000 iNodes?
bzero

1
насправді це не так: mkfs.ext4: занадто багато inodes (4294967296), вкажіть <2 ^ 32 inodes
dalore

Помилка @dalore відсторонь: 2 ^ 32-1 ... Дякую за зворотній зв'язок, відповідь адаптована ... :-)
Fabby

Зауважте, я також спробував це, але отримав ще одну помилку, яка не була дуже інформативною щодо того, яке число прийнято.
dalore

ви пробували 2 ^ 31 ???
Fabby

3

Див. Головну сторінку для mkfs.ext4.

man mkfs.ext4

Опція -Nдозволяє встановити кількість входів, створених у файловій системі, а опція -Iдозволяє збільшити їх розмір (щоб вони могли обробляти більш розширені атрибути файлів). Налаштуйте відповідно до вашої ситуації під час створення файлової системи.


Дякую, так -N використовується під час створення, тоді як -l можна використовувати для регулювання кількості входів ПІСЛЯ створення розділу? Я зараз детальніше ознайомлюся зі сторінками чоловіка ...
bzero

-IЗмінює розмір кожного дескриптора в байтах під час створення. Це не дозволить збільшити доступну кількість їх у існуючих файлових системах.
Двоє

"allows you to increase their size (so they can handle more files)"Збільшення розміру inode не означає, що ви можете обробляти більше файлів, чим більше коефіцієнт байтів на ввід, тим менше буде створено кількість входів, тобто менше файлів можна обробляти.
ZN13

1

Це завжди компроміс між inode та розміром блоку. 32-розрядний - це макс, але фактичний макс залежить від розміру вашого диска / файлової системи, поділеного на розмір блоку. Кожен файл містить як мінімум один блок. Ви також можете вказати розмір групи, який визначає кількість блоків на один вузол. (тобто байти / inode)

Все, що визначатиме кількість входів, які ви можете виділити для певного розміру диска та розміру блоку.

Це також компроміс між продуктивністю та потужністю файлу. Менший розмір блоку означає, що великі файли будуть фрагментовані та вимагатимуть більше операцій вводу-виводу для завантаження файлу.

Якщо ви збираєтеся налаштувати, вам потрібно прочитати або в іншому випадку ви отримаєте файлову систему, абсолютно непридатну для того, що ви думали, що хочете.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.