GNU/Linux >> Belajar Linux >  >> Linux

Linux - Tolong, saya kehabisan inode!

Solusi 1:

Untuk menjawab pertanyaan awal, meskipun mungkin terlambat bagi penanya - ya, meningkatkan EXT2/3 pada LVM2 juga akan meningkatkan batas inode.

Baru saja memiliki partisi ukuran 1G dengan batas inode 65k. Setelah

lvextend -L+1G /dev/vg/var
umount /var
resize2fs /dev/vg/var
mount /var

... batas inode saya sekarang 128k.

Solusi 2:

man mke2fs

Anda akan melihat -N untuk jumlah inode

Jadi Anda dapat menentukannya saat memformat partisi baru. Tidak begitu membantu saat ini, ya?

tune2fs, yang menyetel sistem file, tampaknya tidak memiliki cara untuk menambahkan lebih banyak inode.

Tapi mungkin ext3 atau 4 melakukan ini, dan orang lain tahu....?

Jadi sekarang Anda memiliki opsi:cadangan, format ulang partisi, pulihkan.

Solusi 3:

Jika Anda mengetahui bahwa file kecil akan memakan ruang disk Anda, Anda seharusnya menggunakan FS dengan alokasi inode dinamis, seperti ReiserFS atau FS modern baru (XFS, JFS) alih-alih EXT2/3/4 (yang saya anggap Anda gunakan , kamu tidak mengatakan itu).

Migrasi sistem file mungkin merupakan pilihan yang baik dalam situasi Anda.

Solusi 4:

Sebagai sementara, pasang sistem file baru, dan cp/rm/ln-s beberapa hierarki fs Anda di sana. Sekarang Anda memiliki beberapa inode cadangan! Anda tidak dapat mv file di antara kedua fses, jadi hati-hati merusak hal-hal yang perlu dilakukan, tetapi untuk banyak aplikasi hal ini bisa transparan.

Kemudian buat fs baru, sesuai saran Paul, dan pindah ke sana.

Solusi 5:

Ext4 mengalami masalah yang sama, jika Anda membuat partisi kecil dan memiliki banyak file kecil, Anda akan kehabisan inode, dan jika Anda memiliki flex_bg dalam fitur Anda tidak dapat menggunakan tune2fs untuk meningkatkan inode.

Secara pribadi saya akan menggunakan ext4 daripada versi rieserfs apa pun, lakukan saja hal berikut saat memformat:

mkfs.ext4 -I 512 /dev/foo
tune2fs -i0 -c0 -o journal_data_writeback /dev/foo

Memformat dengan cara ini akan memberi Anda 33160 inode pada partisi boot 512M.

Saya mengatakan ini sebagai seseorang yang menggunakan reiserf selama bertahun-tahun, dukungan kernel tidak sebaik ext*, dan sistem file terfragmentasi dari waktu ke waktu dan menjadi lambat.


Linux
  1. Versi Linux Apa yang Saya Jalankan? Inilah Cara Mengetahuinya

  2. Periksa layanan yang berjalan di Linux

  3. Contoh Perintah logname di Linux

  1. Linux menemukan id inti Hyper-threaded

  2. Bagaimana cara mengetahui versi Linux yang saya jalankan?

  3. Ukur Linux IOPS untuk sistem yang sedang berjalan

  1. 4 tips untuk membantu Anda mendapatkan hasil maksimal dari perintah df Linux

  2. Cara Membunuh Proses yang Berjalan di Linux

  3. Bagaimana saya tahu saya menjalankan di dalam layar linux atau tidak?