inode problemleri ve disk full hatası

inode, bir dosyanın ismi ve gerçek verisi hariç geri kalan herşeyi tutar.

Inode(index-node):

Normalde ismi index nodes ama tembellikten genelde inode(dügüm) seklinde yazılır.
Inode, dosya sistemi üzerinde bulunan dosyanın özelliklerini(sahibi, izinleri, erişimleri, erişim tarihi..),dosyayı oluşturan blokların listesini ve bu blokların diskteki adresini tutan bir veri yapısıdır.Her dosya için bir tane inode vardır. Ama birden fazla dosya tek bir
inode ta işaret edebilir (link).

Kısaca inode; dosyanın adi hariç dosya ile ilgili tüm bilgiler tutmaktadır. Bu bilgiler; 

  • Dosya sahibi(user id)

  •  Dosya sahibinin grubu(group id)

  •  Dosyanın oluşturulma tarihi(creat time)

  •  Dosyaya en son erişim tarihi (acces time)

  •  Dosyadaki en son değişiklik tarihi(modification time)

  •  Dosyanın boyutu(size)

  •  Dosyaya yapılan link sayısı (link count)

  •  Dosya tipi (normal dosya, dizin,link...) (Type)

  • Dosyaya erişim hakları (Permissions)

  • Disk blok adreslerini tutan 15 elemanlı dizi.

    Dosya sistemindeki her dosya için bir tane i-node numarası vardır. Bir dosya sistemindeki Inode larin sayısı, dosya sisteminin boyutuna ve her bir inode için ne kadar disk alanı ayırtılacağına bağlğdğr. Ön tanğmlı olarak her 2K(2048 byte) disk için bir inode atanır. Bu değer(2KB), dosya sistemi oluşturulurken sistem yöneticisi tarafından değiştirilebilir.

inode problemleri ve disk full hatası

  Sistemdeki boş alanı kontrol ediyoruz:

df

  inode problemleri ve disk full hatası

Mevcut inodeleri kontrol ediyoruz.

df -i

  inode problemleri ve disk full hatası

Eğer yukardaki gibi 100% bir değer görürseniz sisteminizden "No space left on device" şeklinde bir  hata alırsınız.

  Aşağıdaki komutlar yardımı ile şüphendiğiniz klasörlerin inode durumlarını kontrol edebilirsiniz. "/*" kısmını mesala "/root/*" yapmanızı öneririm.

for i in /*; do echo $i; find $i |wc -l; done
#veya
for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort

inode problemleri ve disk full hatası

yukarıdaki listeye göre /root klasörü fazlaca inode bulundurmakta 1.5 milyondan fazla...

   Biraz detaylara inince

for i in /root/Maildir/*; do echo $i; find $i |wc -l; done

inode problemleri ve disk full hatası

1,5 milyondan fazla yeni mail gelmiş, silelim...

sudo rm -rf /home/Maildir/new

 Aynı şekilde root altındaki Maildir da dolu olabilir.

sudo rm -rf /root/Maildir/new

 

Bazen yukardaki komut bellek yetersizliğinden ötürü işlevini yapmayabilir, o zaman:

/root/Maildir# find . -type f -delete

 

  Şimdi sistemin inode durumuna bakarsak eğer:

df -i

  inode problemleri ve disk full hatası

 

Kaynaklar

 

 

 

Yorumunuzu Ekleyin

Yükleniyor...