dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Hata Teşhis Kütüphanesi/mongodb-no-space-left-on-device-wiredtiger-cache-full
MongoDB
MongoDB 6.0 - 8.0Disk & WiredTiger
12 dk okuma
No space left on device / WiredTiger: cache is full / Out of disk space

MongoDB Disk Dolması ve Önbellek Kilitlenmesi: Journal/Veri Dosyası Ayrımı, TTL İndeksleri ve Acil Tahliye

Veri dizininde disk kalmaması durumunda WiredTiger önbelleğinin kilitlenmesi ve sunucunun kapanması; acil disk genişletme, TTL indeksleri ve ayrı journal diski mimarisi.

İnceleyen:Kıdemli Veritabanı Mimarı & SRE (dataiotech Labs)
Test Edilen Sürümler: MongoDB 6.0 / 7.0 / 8.0

Operasyonel Doğrulama & Güvenilirlik Standardı

Son Teknik İnceleme: 2 Kasım 2026
Test Edilen SürümlerMongoDB 7.0.8, 8.0.1 (Docker / Atlas)
Gerekli Yetkiİşletim sistemi root/sudo ve MongoDB clusterAdmin
Risk Seviyesi
CriticalDisk dolduğunda mongod süreci kendini korumak için doğrudan kapanır (abort)
Beklenen Çıktıdf -h çıktısında /var/lib/mongodb kullanımının %80 altına inmesi
Geri Dönüş (Rollback) Planı:Disk hacmini (EBS/LVM) genişletme ve geçici journal temizliği
MongoDB Docs: WiredTiger Storage Engine
İlk 60 Saniye Teşhis Protokolü:

Hata mesajı semptomdur, kök neden değildir. Sunucuyu yeniden başlatmadan veya rastgele ayar değiştirmeden önce aşağıdaki "Nedeni ayırt eden tek sorgu"yu çalıştırarak gerçek senaryoyu netleştirin.

▸Belirti

MongoDB aniden tüm yazma işlemlerini durdurur veya process kapanır:

plaintext
WiredTiger error (28) [1234:0x7f]: /data/db/journal/WiredTigerLog.0000000123: handle-write: pwrite: No space left on device Fatal Assertion 28558 at src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp

▸Sahada Ne Görürsün?

Sunucu çöker. Tekrar başlatılmaya çalışıldığında journal yazamadığı için başlatma anında tekrar kapanır.


▸Kök Neden Matrisi

OlasılıkKök NedenAçıklama
%60Journal ve Veri Diskinin Dolmasıdiagnostic.data ve journal dosyaları kontrolsüzce büyüyüp diski tüketmiştir.
%25WiredTiger Cache Dolması (Cache Eviction Stall)Disk yavaş olduğu için kirli sayfalar diske yazılamaz, önbellek %95 dolup tüm işlemleri kilitler.
%15Silinen Verinin Diske İade Edilmemesi (Fragmentation)deleteMany çalıştırılsa bile WiredTiger işletim sistemine disk alanını hemen iade etmez.

▸ACİL RUNBOOK (0-5dk)

bash
# 1. Disk durumunu gör df -h # 2. Acil yer açmak için teşhis verilerini (diagnostic.data) temizle rm -rf /var/lib/mongodb/diagnostic.data/* # 3. Eski log dosyasını arşivleyip boşalt echo "" > /var/log/mongodb/mongod.log # 4. Sunucuyu başlat sudo systemctl start mongod

▸KALICI BLUEPRINT

  1. 1Ayrı Journal ve Data Diski: Journal dosyaları (/journal) ayrı bir NVMe disk bölümüne taşınmalıdır.
  2. 2TTL İndeksleri ile Otomatik Tahliye: Geçici veya oturum verileri için TTL indeksleri tanımlanmalıdır:
javascript
db.sessions.createIndex({ createdAt: 1 }, { expireAfterSeconds: 86400 });
  1. 1Cache Boyutu Ayarı: wiredTigerCacheSizeGB = (Total RAM - 1GB) * 0.5 olarak ayarlanmalıdır.

▸Doğrulama

javascript
db.stats(); db.serverStatus().wiredTiger.cache["bytes currently in the cache"];

Diğer Veritabanı Hata Teşhisleri

Kriz anında başvurabileceğiniz diğer doğrulanmış hata rehberleri.

Tüm Hatalar (82)