Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
cPanel, WHM ve CloudLinux Teknik Rehberi

cPanel No Space Left on Device ve Inode %100 Hatası Nasıl Çözülür?

Diskte GB olarak alan görünmesine rağmen yeni dosya oluşturulamıyorsa inode tükenmiş olabilir. Bu rehber disk kapasitesi, inode, kota, /tmp, log, yedek, mail spool, MySQL binary log ve silinmiş açık dosyaları veri kaybına yol açmadan analiz eder.

No space left on deviceErrcode 28Inode %100Disk quota exceeded/tmp full
root@sunucu:~SSH
No space left on device
Disk quota exceeded
Can't create/write to file '/tmp/#sql...' (Errcode: 28)
Filesystem      Inodes  IUsed  IFree IUse%
/dev/sda1      10.0M   10.0M      0  100%
Alan doluluğudf -h ile blok kapasitesi ölçülür
Inode doluluğudf -i ile dosya/dizin sayısı ölçülür
Açık silinmiş dosyalsof +L1 alanı görünmeden tutabilir
Yaygın kaynakYedek, log, cache, session ve mail
01
Teknik açıklama

No space left on device ve inode doluluğu arasındaki fark

Linux dosya sistemi hem veri bloklarını hem de inode kayıtlarını kullanır. Veri blokları dolduğunda büyük dosya yazılamaz; inode tükendiğinde disk alanı boş görünse bile yeni dosya veya dizin oluşturulamaz.

df -h mount noktasının kapasitesini gösterir. /home, /var, /tmp veya yedek diski ayrı mount edilmişse yalnız kök bölüme bakmak yanlış sonuca yol açar.

df -i inode kullanımını gösterir. Milyonlarca küçük session, cache, mail, tmp veya zararlı yazılım dosyası inode’u tüketebilir ve siteler 500/503, MySQL ve mail hataları vermeye başlayabilir.

Bir dosya silinmiş olsa bile çalışan süreç dosya tanımlayıcısını açık tutuyorsa alan df çıktısında dolu kalır. lsof +L1 bu görünmez alan kullanımını bulur; süreç kontrollü yeniden başlatılınca alan serbest kalır.

cPanel hesap kotası, dosya sistemi doluluğundan farklıdır. Yalnız bir kullanıcı Disk quota exceeded alıyorsa hesap kotası ve quota veritabanı kontrol edilir; tüm sunucu etkileniyorsa mount doluluğu önceliklidir.

En büyük dosyayı bulup silmek yerine önce dosyanın ne işe yaradığını belirleyin. Aktif MySQL, mail spool, cPanel yedeği veya sistem logunu kontrolsüz silmek veri kaybı ve servis bozulmasına yol açabilir.

02
Log mesajları ve anlamları

Disk, inode, kota ve geçici dosya hata mesajları

E-postada, tarayıcıda veya SSH günlüğünde gördüğünüz ifadeyi aratın. Her kartta anlam, muhtemel neden ve güvenli ilk işlem bulunur.

12 kayıt
01kritik

No space left on device

Anlamı: İlgili dosya sistemi yeni veri veya inode ayıramamıştır.

Muhtemel neden: Disk blokları dolu, inode yüzde 100 veya ayrılmış alan sınırı.

df -hT ve df -ih ile hangi mount noktasının dolduğunu bulun.
02kritik

Errcode: 28

Anlamı: Uygulama veya MariaDB işletim sisteminden alan kalmadı cevabı almıştır.

Muhtemel neden: Disk/inode doluluğu, /tmp doluluğu veya kota.

Hatanın yazmaya çalıştığı yolu bularak ilgili mount’u kontrol edin.
03kritik

Disk quota exceeded

Anlamı: Kullanıcı veya grup kendisine tanımlanan kota sınırını aşmıştır.

Muhtemel neden: cPanel hesap kotası dolu, kota veritabanı hatalı veya kullanıcı dosyaları büyümüş.

repquota ve cPanel disk kullanımını karşılaştırın.
04kritik

Inode IUse% 100

Anlamı: Dosya sistemi yeni dosya için inode kaydı ayıramamaktadır.

Muhtemel neden: Milyonlarca küçük cache, session, mail, tmp veya zararlı dosya.

En çok dosya bulunan üst dizini sayısal olarak bulun.
05kritik

Can't create/write to file /tmp

Anlamı: Uygulama geçici dizinde dosya oluşturamıyor.

Muhtemel neden: /tmp alanı/inode dolu, izin 1777 bozuk veya tmpfs sınırı.

df, mount ve /tmp izinlerini kontrol edin.
06uyarı

Deleted file hâlâ disk alanı kullanıyor

Anlamı: Silinen dosya çalışan süreç tarafından açık tutulmaktadır.

Muhtemel neden: Log rotasyonu sonrası Apache, PHP, MySQL veya başka daemon eski dosyayı açık tutuyor.

lsof +L1 ile PID ve dosya boyutunu bulun; ilgili servisi kontrollü restart edin.
07kritik

Unable to create temporary file

Anlamı: Paket yöneticisi, MySQL veya uygulama geçici dosya oluşturamamıştır.

Muhtemel neden: /tmp, /var/tmp veya kök dosya sistemi dolu; izin veya mount noexec sorunu.

Hata yolunun mount ve izin durumunu doğrulayın.
08uyarı

Exim spool doluluğu

Anlamı: Mail kuyruğu veya spam mesajları /var/spool/exim altında büyümüştür.

Muhtemel neden: Spam gönderen hesap, teslim edilemeyen posta veya uzak sunucu problemi.

Kuyruğu silmeden önce gönderen hesap ve hata nedenini belirleyin.
09uyarı

cPanel backup diski dolu

Anlamı: Yedek hedefinde yeni yedek için yeterli alan yoktur.

Muhtemel neden: Retention yüksek, başarısız eski yedekler, uzak hedef mount edilmemiş veya local fallback.

Yedek konumunu ve tarih bazlı klasörleri doğrulayın.
10uyarı

MySQL binary log dizini büyümüş

Anlamı: Binary log retention uygulanmadığı için loglar birikmiştir.

Muhtemel neden: expire_logs_days/binlog_expire_logs_seconds yok veya replikasyon gereği temizlenmemiş.

SHOW BINARY LOGS ve replikasyon durumunu kontrol edin; dosyaları rm ile silmeyin.
11uyarı

Reserved blocks nedeniyle root dışı yazamıyor

Anlamı: ext dosya sisteminde ayrılmış bloklar yalnız root için kalmış olabilir.

Muhtemel neden: Disk kritik eşiğe ulaşmıştır; normal kullanıcılar ayrılmış alanı kullanamaz.

Önce gerçek doluluğu giderin; reserved block oranını rastgele sıfırlamayın.
12kritik

Read-only file system

Anlamı: Dosya sistemi hata sonrası koruma amacıyla salt okunur bağlanmış olabilir.

Muhtemel neden: Disk/I/O hatası, filesystem corruption veya kernel remount.

Kernel loglarını ve disk sağlığını kontrol edin; yalnız remount ile geçiştirmeyin.

Bu ifadeyle eşleşen kayıt bulunamadı.

03
Güvenli ilk inceleme

SSH teşhis komutları ve hangi çıktıya bakılmalı?

Komutlar root erişimi içindir. Önce yalnızca durum ve log toplayın; nedeni görmeden kalıcı ayar değiştirmeyin.

Disk kapasitesi
df -hT
lsblk -f

Tüm mount noktalarının kapasitesini, türünü ve bağlı olduğu diski gösterir.

Inode kullanımı
df -ih

Hangi dosya sisteminde inode kalmadığını gösterir.

En büyük üst dizinler
du -xhd1 / 2>/dev/null | sort -h | tail -n 25
du -xhd1 /var 2>/dev/null | sort -h | tail -n 25
du -xhd1 /home 2>/dev/null | sort -h | tail -n 25

Aynı dosya sistemi içinde alanı büyüten üst dizinleri bulur.

En büyük dosyalar
find /var /home -xdev -type f -size +500M -printf '%s %p\n' 2>/dev/null | sort -n | tail -n 50 | numfmt --field=1 --to=iec

500 MB üzerindeki büyük dosyaları boyuta göre listeler.

En çok dosya bulunan dizinler
for d in /var/* /home/*; do [ -d "$d" ] && printf '%10s %s\n' "$(find "$d" -xdev -type f 2>/dev/null | wc -l)" "$d"; done | sort -n | tail -n 30

Inode tüketen üst dizinleri dosya sayısına göre sıralar.

Silinmiş açık dosyalar
lsof +L1 2>/dev/null | sort -k7 -n | tail -n 50

Silinmiş olmasına rağmen süreç tarafından açık tutulan dosyaları gösterir.

Mail ve yedek kullanımı
du -xsh /var/spool/exim /backup /home/*/backup* 2>/dev/null
exim -bpc 2>/dev/null

Exim kuyruğu ve yaygın yedek konumlarının boyutunu kontrol eder.

MySQL log ve veri boyutu
du -xsh /var/lib/mysql 2>/dev/null
find /var/lib/mysql -maxdepth 1 -type f -printf '%s %p\n' 2>/dev/null | sort -n | tail -n 30 | numfmt --field=1 --to=iec

MariaDB veri dizinindeki büyük log ve veri dosyalarını listeler.

04
Güvenli çözüm sırası

Disk ve inode doluluğunu güvenli şekilde giderme adımları

Önce doğru mount noktasını ve doluluk türünü belirleyin; ardından büyümeyi oluşturan servis veya hesabı bulun, güvenli temizlik yapın ve tekrar oluşmasını engelleyin.

1

Alan mı inode mu dolu ayırın

df -h kapasiteyi, df -i inode’u gösterir. Hatanın yazdığı yolun hangi mount noktasına ait olduğunu belirleyin.

df -hT df -ih df -hT /tmp /var /home /backup 2>/dev/null
2

En büyük dizin veya dosya grubunu bulun

du ve find komutlarında -xdev kullanarak farklı mount’lara taşmadan gerçek kaynağı bulun.

du -xhd1 /var 2>/dev/null | sort -h | tail -n 25
3

Dosyanın sahibini ve amacını doğrulayın

Silmeden önce dosyanın hangi servis veya cPanel hesabına ait olduğunu, aktif kullanılıp kullanılmadığını ve yedeğinin bulunup bulunmadığını belirleyin.

stat /YOL/DOSYA lsof /YOL/DOSYA 2>/dev/null
4

Güvenli servis yöntemini kullanın

Loglar logrotate ile, MySQL binary logları SQL PURGE komutuyla, cPanel yedekleri retention ayarıyla ve mail kuyruğu neden analiziyle temizlenmelidir.

logrotate -d /etc/logrotate.conf 2>&1 | tail -n 80
5

Açık silinmiş dosyaları serbest bırakın

lsof +L1 çıktısındaki büyük dosyanın sahibi olan servisi cPanel betiği veya systemctl ile kontrollü yeniden başlatın.

lsof +L1 2>/dev/null | sort -k7 -n | tail -n 30
6

Alarm ve retention yapılandırın

WHM disk kullanım eşiklerini, yedek retention’ı, logrotate ve MySQL binary log süresini düzenleyerek tekrarını önleyin.

df -hT df -ih
05
Belirtiye göre ayrım

Özel senaryolar ve karar ağacı

Diskte alan var ama dosya oluşturulamıyor

En olası neden inode yüzde 100 veya hesap kotasıdır. df -i ve repquota çıktısı karşılaştırılır.

df -ih
repquota -a 2>/dev/null | head -n 80
Dosya sildim ama alan açılmadı

Süreç silinmiş dosyayı açık tutuyor olabilir. lsof +L1 ile PID bulunur ve yalnız ilgili servis kontrollü yeniden başlatılır.

lsof +L1 2>/dev/null | sort -k7 -n | tail -n 50
Exim spool çok büyük

Kuyruğu topluca silmeden önce spam gönderen hesap, donmuş mesajlar ve teslim hataları belirlenir. Asıl neden çözülmezse kuyruk yeniden dolar.

exim -bpc
exim -bp | exiqsumm | head -n 60
MySQL binary loglar büyümüş

Replikasyon kullanılıyorsa slave pozisyonu doğrulanır. Güvenli temizlik MariaDB içinden PURGE BINARY LOGS ile yapılır.

mysql -e "SHOW BINARY LOGS; SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';"
Yedek dizini dolmuş

Uzak hedef mount edilmediğinde yerel dizine yazılmış olabilir. Retention, tamamlanmamış yedek ve remote transport logları kontrol edilir.

mount | grep -E '/backup|backup'
du -h --max-depth=2 /backup 2>/dev/null | sort -h | tail -n 30

Kesinlikle yapmayın

  • Kaynağı doğrulamadan rm -rf /var/log/* veya benzeri geniş silme komutları çalıştırmayın.
  • Aktif MariaDB veri dosyalarını veya binary logları dosya sisteminden doğrudan silmeyin.
  • Exim kuyruğunu spam kaynağını bulmadan topluca temizlemeyin.
  • /tmp dizinini tamamıyla silmeyin; çalışan süreçlerin socket ve geçici dosyaları bulunabilir.
  • Yedek diski dolu diye doğrulanmamış son yedeği silmeyin.
  • Read-only dosya sistemini disk sağlığını kontrol etmeden zorla read-write bağlamayın.

Çözüm sonrası doğrulama

  • İlgili mount noktasında güvenli boş alan ve inode payı oluştu.
  • Yeni dosya ve geçici dosya oluşturma testleri başarılı.
  • MySQL, Exim, Apache ve cPanel servisleri normal çalışıyor.
  • Silinmiş açık büyük dosya kalmadı.
  • Disk kullanımının büyüme kaynağı için retention veya limit yapılandırıldı.
  • WHM disk alarm eşikleri kritik doluluktan önce bildirim verecek şekilde ayarlı.
06
Resmî teknik kaynaklar

cPanel ve üretici dokümantasyonu

07
İç SEO içerik kümesi

İlgili cPanel ve sunucu hata çözümleri

08
Sık sorulan sorular

Disk ve Inode Doluluğu hakkında merak edilenler

No space left on device ne demek?

İlgili dosya sisteminde veri bloğu veya inode kalmadığını gösterir. Hatanın oluştuğu yolun mount noktası df -h ve df -i ile kontrol edilmelidir.

Disk boş görünüyor ama neden dosya oluşturamıyorum?

Inode yüzde 100 olabilir veya kullanıcı kotası dolmuş olabilir. Disk kapasitesi ve inode ayrı kaynaklardır.

Inode nedir?

Dosya sistemindeki her dosya ve dizin için metadata kaydıdır. Çok sayıda küçük dosya disk alanı bitmeden inode’ları tüketebilir.

Hangi klasörün inode tükettiğini nasıl bulurum?

find ile üst dizinler altındaki dosya sayıları karşılaştırılır. Cache, session, mail ve tmp klasörleri özellikle incelenir.

Dosya sildim ama df -h değişmedi, neden?

Çalışan bir süreç silinen dosyayı açık tutuyor olabilir. lsof +L1 ile tespit edilir ve ilgili servis kontrollü restart edildiğinde alan serbest kalır.

MySQL binary loglarını rm ile silebilir miyim?

Hayır. MariaDB’nin log indeksini bozabilir ve replikasyonu etkileyebilir. SHOW BINARY LOGS ve PURGE BINARY LOGS komutları kullanılmalıdır.

cPanel hesap kotası ile sunucu diski aynı mı?

Hayır. Hesap kotası tek kullanıcının izin verilen kullanımını, df ise bütün dosya sisteminin fiziksel kapasitesini gösterir.

Ne kadar boş disk alanı bırakılmalı?

İş yüküne göre değişir; ancak veritabanı, log ve yedek büyümesi için kritik eşiğe gelmeden alarm üretecek güvenli pay bırakılmalıdır. Yüzde 90 üzeri kullanım yakından izlenmelidir.

EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Sunucunuzdaki hatayı kalıcı olarak çözelim

cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim ve güvenlik katmanlarını birlikte analiz ederek yalnızca servisi kaldırmak yerine arızanın temel nedenini gideriyoruz.

Sunucu Desteği Al WhatsApp
Top