Подтвердить что ты не робот

Как хранить один миллиард файлов на ext4?

Я создал только около 8 миллионов файлов, тогда в /dev/sdb 1 не было свободного inode.

[[email protected] images]$ df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdb1            8483456 8483456       0  100% /home

Кто-то говорит, что может указать индекс inode при форматировании раздела.

например. mkfs.ext4 -N 1000000000.

Я попытался, но получил ошибку:

* "inode_size (256) * inodes_count (1000000000) слишком большой... укажите более высокий индекс inode_ratio (-i) или нижний индекс inode (-N).". *

Какое значение имеет значение inode_ratio? Я слышал, что значение minode inode_ratio равно 1024 для ext4.

Можно ли хранить один миллиард файлов на одном разделе? Как? И кто-то говорит, что это будет очень медленно.

4b9b3361

Ответ 1

При создании файловой системы ext4 вы можете указать тип использования:

mkfs.ext4 -T usage-type /dev/something

Доступные типы использования перечислены в /etc/mke 2fs.conf. Основное различие между типами использования - это отношение inode. Нижний отношение inode, тем больше вы можете создавать файлы в вашем файле система.

Тип использования в mke2fs.conf, который выделяет наибольшее количество inodes в файловой системе - "новости". С этим типом использования на 1 TB жесткий диск, ext4 создает 244 миллиона инодов.

# tune2fs -l /dev/sdb1 | grep -i "inode count"
Inode count:              244219904
# sgdisk --print /dev/sdb
Disk /dev/sdb: 1953525168 sectors, 931.5 GiB

Это означает, что для создания ext4 потребуется более 4 ТБ файловой системы с "-Tnews", которая может содержать 1 миллиард дескрипторы.