Blogchevron_rightSunucu Yönetimichevron_rightInode Limitleri Nedir ve Sunucu Yönetiminde Neden Bu Kadar Önemli?

Inode Limitleri Nedir ve Sunucu Yönetiminde Neden Bu Kadar Önemli?

S
Serversium
calendar_today7 Mayıs 2026
schedule5 dk okuma
Inode Limitleri Nedir ve Sunucu Yönetiminde Neden Bu Kadar Önemli?

Inode Limitleri Nedir ve Sunucu Yönetiminde Neden Bu Kadar Önemli?

Sunucu yönetimiyle ilgilenen birçok teknik uzman, "disk dolu görünmüyor ancak dosya yazamıyorum" sorunuyla karşılaşmıştır. Bu durumun arkasında yatan temel neden, inode limitleridir. İnode (düğüm), Unix tabanlı dosya sistemlerinde her dosya ve klasörün meta verilerini saklayan bir veri yapısıdır. Cloud sunucu altyapılarında bu kavramın anlaşılması, sistem yöneticileri için kritik bir yetkinliktir.

Inode'un Teknik Yapısı ve Çalışma Prensibi

Her dosya sisteminde sabit sayıda inode bulunur ve bu sayı dosya sistemi oluşturulduğunda belirlenir. Bir inode şu bilgileri içerir:

  • Dosya boyutu ve izinleri
  • Oluşturulma, değiştirilme ve son erişim tarihleri
  • Dosyanın fizik konumu (disk blokları)
  • Sahip kullanıcı ve grup kimlikleri
  • Sabit bağlantı (hard link) sayısı

Bir dosya oluşturulduğunda, dosya sisteminin kullanılabilir inode'larından biri bu dosyaya atanır. Disk dolu olmasa bile, tüm inode'lar tüketildiğinde yeni dosya oluşturulamaz. Bu durum, özellikle küçük dosyaların çok sayıda bulunduğu sunucularda sıkça karşılaşılan bir sorundur.

Disk Dolu Görünse de Dosya Yazamama Sorunu

Bu paradoksal durum birçok sistem yöneticisini şaşırtmaktadır. df -h komutu çalıştırıldığında disk kullanımı %70-80 görünürken, yeni dosya oluşturmaya çalışıldığında "No space left on device" hatası alınabilir. Bu durumun temel nedenleri şunlardır:

Inode Tüketimine Yol Açan Senaryolar

  1. E-posta sunucuları: Her e-posta ayrı bir dosya olarak saklanır ve binlerce e-posta birikimi anında inode tüketimine neden olur.
  2. Log dosyaları: Sürekli büyüyen log dosyaları ve her gün oluşturulan yeni log dosyaları inode sayısını hızla azaltır.
  3. Önbellek (cache) dosyaları: Sistem önbellekleri ve oturum dosyaları zamanla birikir.
  4. Yedekleme dosyaları: Sık yedekleme alınan sunucularda yedek dosyaları inode'ları tüketebilir.
  5. Küçük dosya birikimi: Her biri birkaç byte olan çok sayıda dosya (örneğin, oturum dosyaları, geçici dosyalar).

İnode ve Disk Alanı Arasındaki Fark

Disk alanı ile inode limitleri arasındaki temel fark şudur: Disk alanı dosyaların içerdiği veri miktarını ölçerken, inode sayısı dosya sayısını sınırlar. Swap alanı yönetimi gibi konular da benzer şekilde sunucu performansı için kritik öneme sahiptir.

Özellik Disk Alanı Inode Limiti
Ölçüm Birimi Bayt (B, KB, MB, GB) Adet (Dosya sayısı)
Tükenme Belirtisi "No space left on device" "No inodes left on device"
Kontrol Komutu df -h df -i
Çözüm Yöntemi Disk temizliği veya genişletme Dosya temizleme veya inode artırma

Inode Kullanımını Kontrol Etme Yöntemleri

Temel Komutlar ve Çıktı Analizi

Sunucunuzdaki inode kullanımını kontrol etmek için aşağıdaki komutları kullanabilirsiniz:

# Tüm dosya sistemlerinin inode durumunu görüntüleme
df -i

# Belirli bir dizinde kaç dosya olduğunu sayma
find /home -type f | wc -l

# En fazla dosya içeren dizinleri listeleme
find / -type d -exec sh -c 'echo "$(ls -1 "$1" | wc -l) $1"' _ {} \; | sort -rn | head -20

# Inode kullanan süreçleri bulma
lsof +c 0 | awk 'NR==1 || $2 ~ /^[0-9]+$/ {print $2,$3}' | sort -u | head -20

Bu komutlar, inode tüketiminin hangi dizinlerden kaynaklandığını belirlemenize yardımcı olur. Özellikle sunucu güvenliği açısından, bilinmeyen süreçlerin inode kullanımını kontrol etmek önemlidir.

Inode Doluluk Oranını Anlama

df -i komutunun çıktısı genellikle şu sütunları içerir:

  • Filesystem: Dosya sistemi adı
  • Inodes: Toplam inode sayısı
  • IUsed: Kullanılan inode sayısı
  • IFree: Boş inode sayısı
  • IUse%: Kullanım yüzdesi
  • Mounted on: Bağlama noktası

Kullanım oranı %80'i aştığında uyarı mekanizmaları kurulması önerilir. %90'ı aştığında ise acil müdahale gerekir.

Inode Limit Sorunlarını Çözme Yöntemleri

1. Geçici ve Önbellek Dosyalarını Temizleme

En yaygın çözüm, gereksiz dosyaları silmektir. Özellikle aşağıdaki dizinler temizlik için öncelikli hedefler olmalıdır:

# Geçici dosyaları temizleme
rm -rf /tmp/*

# Sistem önbelleğini temizleme
sync && echo 3 > /proc/sys/vm/drop_caches

# Eski log dosyalarını arşivleyip temizleme
find /var/log -type f -name "*.log" -mtime +30 -exec gzip {} \;

2. Postfix/Exim E-posta Kuyruklarını Temizleme

E-posta sunucusu çalıştıran sunucularda, kuyruğda bekleyen e-postalar binlerce inode tüketebilir:

# Postfix kuyruğunu temizleme
postsuper -d ALL

# Exim kuyruğunu temizleme
exim -bp | exiqgrep -i | xargs exim -Mrm

3. Eski Çekirdek Dosyalarını (Core Dumps) Kaldırma

Uygulama çökmeleri sonucu oluşan core dump dosyaları önemli miktarda inode tüketebilir:

# Core dump dosyalarını bulma ve silme
find / -name "core" -type f -size +1M -delete

# Core dump oluşturmayı devre dışı bırakma
ulimit -c 0

4. Dosya Sistemini Yeniden Oluşturma

Kalıcı çözüm için dosya sistemini yeniden oluştururken daha fazla inode ayırabilirsiniz:

# Yeni dosya sistemi oluştururken inode sayısını artırma
mkfs.ext4 -N 4000000 /dev/sdX

# Mevcut dosya sisteminde inode sayısını artırma (e2fsprogs)
resize2fs -T /dev/sdX

Bu işlemler için SSH key ve 2FA güvenliği konusunda gerekli önlemleri aldığınızdan emin olunmalıdır.

Inode Tüketimini Önleme Stratejileri

Proaktif İzleme Sistemleri Kurma

Inode tüketimini önlemenin en etkili yolu, proaktif izleme sistemleri kurmaktır. Aşağıdaki yöntemler önerilir:

  1. Zabbix veya Prometheus: Inode metriklerini izlemek için özel şablonlar kullanın.
  2. CRON job'ları: Belirli aralıklarla inode kontrolü yapan script'ler yazın.
  3. Uyarı sistemleri: %80 eşiği aşıldığında e-posta veya Slack bildirimi gönderin.
  4. Logrotate yapılandırması: Log dosyalarının otomatik olarakrotate edilmesini sağlayın.

Otomatik Temizlik Script Örneği

#!/bin/bash
# inode_kontrol.sh - Inode izleme ve temizlik scripti

THRESHOLD=80
USAGE=$(df -i / | tail -1 | awk '{print $5}' | sed 's/%//')

if [ $USAGE -ge $THRESHOLD ]; then
    echo "Uyarı: Inode kullanımı %$USAGE seviyesinde!"
    
    # Geçici dosyaları temizle
    find /tmp -type f -atime +7 -delete 2>/dev/null
    
    # Eski session dosyalarını temizle
    find /var/lib/php/sessions -type f -delete 2>/dev/null
    
    # 30 günden eski log dosyalarını sıkıştır
    find /var/log -type f -name "*.log" -mtime +30 -exec gzip {} \;
    
    echo "Temizlik tamamlandı."
fi

Dosya Yapısı Optimizasyonu

Sunucu yapılandırmasında inode tüketimini minimize etmek için:

  • Log dosyalarını Logrotate ile yönetin
  • Redis veya Memcached gibi in-memory önbellek sistemleri kullanın
  • Statik içerikleri CDN üzerinden sunun
  • Veritabanı dosyalarını ayrı bir bölüme taşıyın
  • Session verilerini veritabanında veya Redis'te saklayın

Sunucu Türüne Göre İnode Stratejileri

Web Sunucuları İçin İnode Yönetimi

Web sunucusu çalıştırırken, özellikle paylaşımlı hosting ortamlarında inode limitleri kritik önem taşır. Her web sitesi hesabı için ayrı inode kotaları belirlemek, tek bir kullanıcının tüm inode'ları tüketmesini önler.

Önerilen yapılandırma:

  • cPanel/Plesk kullanıyorsanız, her hesap için inode limiti belirleyin
  • Nginx log rotation yapılandırmasını kontrol edin
  • WordPress siteler için WP admin panel hızlandırma rehberindeki önbellek önerilerini uygulayın

Oyun Sunucuları İçin İnode Yönetimi

Oyun sunucuları genellikle çok sayıda küçük dosya oluşturur (oyuncu verileri, harita dosyaları, loglar). Bu sunucularda inode izleme daha da kritiktir. Oyun sunucu ping optimizasyonu için yapılan ağ ayarları, dosya sistemi performansını da etkileyebilir.

E-posta Sunucuları İçin İnode Yönetimi

Postfix veya Exim çalıştıran sunucularda, spam filtreleme ve e-porta arşivleme stratejileri belirleyin:

  • Gelen e-postaları spamassassin ile filtreleyin
  • Eski e-postaları düzenli olarak arşivleyin
  • Blacklist kontrolü yapan eklentiler kullanın

library_booksBenzer İçerikler

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
Sunucu Yönetimi
calendar_today5 Nisan 2026
schedule5 dk

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

S
Serversiumarrow_forward
Linux vs Windows Sunucu: Hangisi Projeye Uygun?
Sunucu Yönetimi
calendar_today6 Nisan 2026
schedule5 dk

Linux vs Windows Sunucu: Hangisi Projeye Uygun?

Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

S
Serversiumarrow_forward
Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
Sunucu Yönetimi
calendar_today16 Nisan 2026
schedule5 dk

Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

S
Serversiumarrow_forward