MongoDB Veri Diski Doldu: Güvenli Alan Açma ve Toparlanma
dbPath diski dolduğunda hangi dosyaların büyüdüğünü, replika/topoloji ve yedek risklerini denetleyerek servis kesintisini güvenli biçimde giderir.
Operasyonel Güvenlik ve Risk Uyarısı
Bu runbook müdahale adımları içerir; birçok adım yazma etkilidir (KILL, terminate, DROP, RESIZE). Önce test ortamında deneyin, üretimde adımları sırayla ve doğrulayarak uygulayın.
1. Belirti / Symptom
M56 boş alanı kritik seviyeye düşer; loglarda `No space left on device`, WiredTiger yazma hatası veya servis durması görülebilir. Dosya sistemi inode kullanımını da kontrol edin.
2. Etki / Impact
Yazmalar başarısız olabilir, servis durabilir; primary etkilenirse seçim gerçekleşir. Ani `rm` veya plansız yeniden başlatma kurtarma riskini büyütür.
3. Teşhis / Diagnosis
df -h /var/lib/mongodb
df -i /var/lib/mongodbYol farklıysa yapılandırmadaki `storage.dbPath` değerine göre değiştirin. Oplog, journal, log, snapshot/backup hedefleri ve inode kullanımını ayrı değerlendirin.
const names = db.adminCommand({ listDatabases: 1 }).databases;
names.map(x => {
const s = db.getSiblingDB(x.name).stats();
return { db: x.name, storageGB: +(s.storageSize / 1073741824).toFixed(1),
indexGB: +(s.indexSize / 1073741824).toFixed(1) };
});4. Müdahale / Response
5. Doğrulama / Verification
M56 boş alan payı güvenli seviyeye döndü, yeni yazmalar başarılı, replika üye durumları sağlıklı, mongod logunda yeni disk hatası yok. Büyüme tahminine göre tekrar dolma zamanı hesaplandı.
6. Geri Alma / Rollback
Kapasite büyütme genelde küçültülemez; değişiklik kaydını tutun. Silinmiş veri/dosya ancak doğrulanmış yedekten geri döner; belge silmeyi acil alan açma tekniği saymayın.