batas maksimum inode file sistem ext4 - adakah yang bisa menjelaskan?

16

Baru-baru ini kami memiliki masalah di mana salah satu sistem file ext4 tampaknya tidak dapat menangani jumlah file yang sangat besar more than 6mln in this case, walaupun memiliki cukup ruang. Apakah ini 6mlnnomor maks, sistem file ext4 dapat memiliki ketika diformat dengan semua pengaturan default? Saya mencoba ke Google tetapi tidak mendapatkan jawaban yang pasti. Adakah orang di sini yang bisa menaungi hal ini? Bersulang!!

MacUsers
sumber

Jawaban:

20

Tidak ada default seperti untuk ext4, itu tergantung pada ukuran perangkat dan pilihan yang dipilih pada saat penciptaan. Anda dapat memeriksa batas yang ada menggunakan

tune2fs -l /path/to/device

Sebagai contoh,

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

Sesuai man mkfs.ext4

-i bytes-per-inode

Tentukan rasio byte / inode. mke2fs membuat inode untuk setiap byte bytes-per-inode ruang pada disk. Semakin besar rasio byte-per-inode, semakin sedikit inode yang akan dibuat. Nilai ini umumnya tidak boleh lebih kecil dari ukuran file sistem, karena dalam hal ini lebih banyak inode yang dibuat daripada yang dapat digunakan. Berhati-hatilah karena tidak mungkin memperluas jumlah inode pada sistem file setelah dibuat, jadi berhati-hatilah dalam menentukan nilai yang benar untuk parameter ini.

EightBitTony
sumber
6

Itu tergantung bagaimana Anda memformat sistem file. Dengan menggunakan tune2fs -l <device>Anda dapat menemukan jumlah inode yang dimiliki perangkat Anda, mungkin sekitar 6 juta inode dalam kasus Anda. Setiap file atau direktori menggunakan inode.

Sejauh yang saya tahu, satu-satunya kemungkinan untuk meningkatkan jumlah inode adalah memformat ulang sistem file Anda. The -iparameter untuk mkfsdapat digunakan untuk menentukan byte / inode rasio. Nilai default didefinisikan dalam /etc/mke2fs.conf(pada sistem saya: 16384).

Rasio byte / inode yang lebih besar mendefinisikan lebih sedikit inode, yang lebih kecil satu inode. Nilai default berfungsi dengan baik dalam kebanyakan kasus, tetapi jika Anda memiliki banyak file kecil, Anda mungkin mengalami batas dan mungkin perlu memformat sistem file dengan rasio byte / inode yang lebih kecil.

Oliver
sumber