Bagaimana saya bisa membuat partisi EXT4 dengan jumlah inode ekstra besar?

15

Tentang inode

Di Ubuntu, setiap file dan direktori disebut inode. Anda dapat menggunakan df -iuntuk memeriksa jumlah inode yang digunakan dan tersedia untuk semua sistem file yang terpasang.

Pertanyaan

Jika Anda membuat partisi EXT4 baru, ia menggunakan jumlah inode default, yang dalam kondisi normal harus cukup. Namun, jika Anda menjalankan sistem yang menghasilkan jutaan file kecil, bagaimana Anda perlu membuat partisi EXT4 baru dengan jumlah inode ekstra besar? Apa yang maksimal?

Komentar

  • Anda TIDAK dapat mengubah jumlah inode yang tersedia SETELAH partisi EXT4 telah dibuat
bzero
sumber
@Rinzwind Itu bukan pertanyaan yang sama karena hanya menanyakan bagaimana menemukan sejumlah besar file kecil ... itu tidak menjelaskan bagaimana memformat partisi EXT4 baru dengan jumlah inode ekstra besar. Saya akan membuka kembali pertanyaan saya.
bzero
Bagaimana saya bisa menonaktifkan spanduk teratas yang mengatakan bahwa pertanyaan ini mungkin sudah dijawab? Ini pertanyaan yang berbeda.
bzero

Jawaban:

12

Menggunakan mkfs -t ext4 -N iNumberOfINodes /dev/XdYmana iNumberOfINodesadalah angka 32-bit sehingga jumlah inode maksimum yang dimungkinkan pada sistem file ext2 / 3/4 adalah 2 ^ 32-1, atau 4.294.967.295 (~ 4 miliar).

Fabby
sumber
5
Apakah ada kelemahan kinerja yang diketahui saat mengonfigurasi 4.000.000.000 iNodes?
bzero
1
sebenarnya ini bukan: mkfs.ext4: terlalu banyak inode (4294967296), sebutkan <2 ^ 32 inode
dalore
@dalore off-by-one error: 2 ^ 32-1 ... Terima kasih atas umpan baliknya, jawabannya disesuaikan ... :-)
Fabby
Catatan saya juga mencoba itu, tetapi mendapat kesalahan lain yang tidak terlalu informatif mengenai nomor apa yang diterima.
dalore
Sudahkah Anda mencoba 2 ^ 31 ???
Fabby
3

Lihat halaman manual untuk mkfs.ext4.

man mkfs.ext4

Opsi -Nmemungkinkan Anda untuk mengatur jumlah inode yang dibuat dalam sistem file, dan opsi -Imemungkinkan Anda meningkatkan ukurannya (sehingga mereka dapat menangani atribut file yang lebih luas). Sesuaikan agar sesuai dengan situasi Anda saat Anda membuat sistem file.

ubfan1
sumber
Terima kasih, jadi -N digunakan pada waktu pembuatan sedangkan -l dapat digunakan untuk mengatur jumlah inode SETELAH partisi telah dibuat? Saya akan melihat lebih dekat pada halaman manual sekarang ...
bzero
The -Iperubahan ukuran masing-masing inode dalam bytes pada waktu penciptaan. Itu tidak akan memungkinkan Anda untuk menambah jumlah mereka pada sistem file yang ada.
TwoD
"allows you to increase their size (so they can handle more files)"Meningkatkan ukuran inode tidak berarti Anda dapat menangani lebih banyak file, semakin besar rasio byte-per-inode, semakin sedikit inode yang akan dibuat, artinya semakin sedikit file yang dapat ditangani.
ZN13
1

Itu selalu merupakan pertukaran antara inode dan ukuran blok. 32-bit adalah maks, tetapi maks sebenarnya tergantung pada ukuran disk / sistem file Anda dibagi dengan ukuran blok. Setiap file minimal satu blok. Anda juga dapat menentukan ukuran grup yang menentukan berapa banyak blok per inode. (mis. byte / inode)

Semua itu akan menentukan jumlah inode yang dapat Anda alokasikan untuk ukuran disk dan ukuran blok tertentu.

Ini juga merupakan trade off antara kinerja versus kapasitas file. Ukuran blok yang lebih kecil berarti file besar akan terfragmentasi dan membutuhkan lebih banyak operasi I / O untuk memuat file.

Jika Anda ingin menyesuaikan Anda perlu membaca atau Anda berakhir dengan sistem file yang sama sekali tidak cocok untuk apa yang Anda pikir Anda inginkan.

Ellison Chan
sumber