MySQL Veri Diski Doldu: Güvenli Alan Açma ve Servisi Kurtarma
Disk dolmasının veri, binlog, temp veya yedek kaynaklı olduğunu ayırır; kurtarma zincirini bozmadan alan açma ve doğrulama planı sunar.
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
- M24 kritik (<%10 boş), MySQL error log'da `No space left on device`/errno 28; yazma, geçici tablo veya binlog işlemleri başarısız.
2. Etki / Impact
Yazmalar durabilir, replika gecikebilir; temp alanı dolarsa sorgular hata verir. Ani restart, kurtarma için gereken boş alan yoksa açılmayı da engelleyebilir.
3. Teşhis / Diagnosis
SHOW GLOBAL VARIABLES WHERE Variable_name IN
('datadir','tmpdir','log_bin_basename','innodb_data_home_dir');
SHOW BINARY LOGS;df -h /var/lib/mysql /tmpYollar ve mount'lar örnektir; `datadir`/`tmpdir` çıktısındaki gerçek yolları OS'te kontrol edin. Ayrıca inode doluluğunu `df -i` ile bakın.
4. Müdahale / Response
5. Doğrulama / Verification
- Gerçek data/temp/binlog mount'larında boş alan hedefin üzerine çıktı; inode'lar uygun.
- Uygulamada yazma/okuma başarılı, error log'da yeni disk hatası yok; replica'lar yakaladı.
- Yedek alınabiliyor ve son yedeğin geri yüklenebilirliği doğrulanıyor.
6. Geri Alma / Rollback
- Kaldırılan arşiv/yedekler ve PURGE işlemi geri alınamaz; temizlemeden önce dış kopyayı doğrulayın.
- Geçici batch kısıtını kapasite güvenli hale geldikten sonra kontrollü kaldırın; volume büyütmeyi geri almaya çalışmayın.