VDS (Sanal Özel Sunucu) üzerinde çalışan web siteleri ve uygulamalar, disk alanı dolmadan çok daha önce beklenmedik şekilde başarısız olabilir. Çoğu sistem yöneticisi yalnızca kullanılan disk alanına (GB) bakarken, aslında daha kritik olan "inode" (dosya sistem öğesi) sayısının tükenmesini kaçırır. Bir VDS'de ani hata alıyor, yeni dosya oluşturamıyor ya da veritabanı yazamıyorsanız, çoğu zaman sorun inode yetersizliğidir. Bu yazıda VDS'de dosya sistemi dolduğunda neler olduğunu, inode sorununu tanımayı ve çözmeyı adım adım göreceğiz.

İnode Nedir ve Dosya Sistemi Doluluğu Nasıl İki Ayrı Sorun?

Linux dosya sisteminde her dosya ve klasör bir "inode" (index node) tarafından temsil edilir. İnode, dosyanın boyutu, sahibi, izinleri ve disk üzerindeki konumunu tutan bir veri yapısıdır. Diskinizdeki alan şu iki kaynağa bağlıdır:

  • Disk Alanı (Block Space): Dosyaların gerçek içeriğini depolayan alanı
  • İnode Sayısı: Dosya sistemi oluşturulurken belirlenmiş, sabit sayıda dosya/klasör tanımını tutar

Örneğin, bir VDS'de 100 GB disk alanınız olsa bile, milyonlarca küçük dosya (örneğin log, tmp klasörü veya cache dosyaları) biriktirirseniz inode tükenebilir ve yeni dosya oluşturamaz olursunuz—disk hala bol olmasına rağmen.

İnode Sorununu Tanımak: Hataları ve Tespit Yöntemleri

VDS'de inode tükenmesi şu belirtilerle kendini gösterir:

  • No space left on device hatası alırsınız, oysa df -h yeterli alan gösterir
  • Yeni dosya oluşturamaz, log yazılamaz, veritabanı işlemleri başarısız olur
  • WordPress veya başka uygulamalar hatalar vermesine rağmen "disk dolu" çıkmaz
  • SSH bağlantısı çalışsa bile sistemde dosya işlemleri bloke olur

İnode kullanımını kontrol etmek için SSH üzerinden şu komutu çalıştırın:

df -i

Bu komut inode kullanımını yüzde olarak gösterir. Eğer IUse% sütununda %95 ve üstü görürseniz, sorun inode tükenmesidir. Hangi klasörlerin en çok dosya içerdiğini görmek için:

find / -xdev -printf '%h\n' | sort | uniq -c | sort -rn | head -20

Yaygın İnode Tüketicileri VDS'de

VDS'de inode alanını çoğunlukla bu kaynaklar tüketir:

  • /tmp ve /var/tmp klasörleri: Geçici dosyalar birikiyor ve silinmiyor
  • Log dosyaları (/var/log): Sık yazılan log satırları milyonlarca küçük dosya oluşturur
  • Cache dosyaları: WordPress cache, PHP opcode cache, session dosyaları
  • Email kuyrukları (/var/spool/mail): Gelen/giden maileler sırasında birikebilir
  • Eski yedeklemeler ve veri tabanı dump dosyaları

Hangi klasörün en çok dosya içerdiğini bulan komut:

du --inodes -S / | sort -rn | head -10

VDS'de İnode Sorununu Çözmek: Pratik Adımlar

1. Geçici dosyaları temizleyin

find /tmp -type f -atime +7 -delete (7 günden eski dosyaları sil)

2. Log dosyalarını sıkıştırın ve eski logları silin

find /var/log -name "*.log" -mtime +30 -delete (30 günden eski logları sil)

Log döndürülmesini otomatikleştirmek için /etc/logrotate.d/ yapılandırmasını kontrol edin.

3. WordPress cache ve session dosyalarını temizleyin

rm -rf /var/lib/php/sessions/*

rm -rf /wp-content/cache/*

4. Opsiyonel: İnode sayısını artırın (yeni dosya sistemi oluşturma gerekebilir)

Dosya sistemi kurulurken inode yoğunluğu ayarlanır. VDS'de tam kontrol varsa:

mkfs.ext4 -i 4096 /dev/vda1 (her 4096 bayt başına 1 inode)

İnode Sorununu Önlemek: Proaktif Yönetim

VDS'de uzun vadeli çözüm için şu adımları alın:

  • Logrotate yapılandırın: Log dosyalarını otomatik olarak döndür ve sıkıştır
  • Cron job ekleyin: Haftalık olarak eski geçici dosyaları temizlemek için
  • Monitoring kurun: İnode kullanımını aylık kontrol et; %80'i geçerse uyarı al
  • Uygulama ayarlarını optimize et: WordPress'te sessionları veritabanında tut, dosya sistem cache yerine redis kullan

VDS Sağlayıcısından Yardım Istemek

Eğer yukarıdaki yöntemlerle sorunu çözemediyseniz veya dosya sistemi tam reformatlanması gerekiyorsa, VDS sağlayıcınıza başvurmalısınız. Bogahost gibi profesyonel sunucu şirketleri, inode tükenme sorununda hızlı analiz ve çözüm sunar, gerekirse dosya sistemini daha yüksek inode yoğunluğuyla yeniden oluştururlar.

VDS yönetimi, yalnızca disk alanını değil inode kullanımını da yakından takip etmek demektir. Bu iki metriği birlikte izlerseniz, beklenmedik "disk dolu" hataları yaşamazsınız ve sisteminiz kesintisiz çalışır.