Tünel bağlantı kabul etmeyi bırakır, hizmet iki kez yeniden başlar ve sonra günlüğünde hiçbir şey görünmez. O sessizlik ipucudur, çünkü diski dolduran günlüktür ve arka plan sürecinin beklediğiniz hatayı yazacak yeri yoktur. Uzun süre çalışan her hizmet bu duruma gelebilir ve logs adlı bir dizini silmek bunu nadiren düzeltir. Kalıcı çözüm, hangi deponun büyüdüğünü, saklama politikasının kime ait olduğunu ve yazıcının alanı gerçekten bırakıp bırakmadığını bilmektir.

Büyüyen depoyu ve büyüdüğü hızı bulun

Kolay unutulan iki sayıyla başlayın: boş bloklar ve boş inode'lar. Bir dosya sistemi bol yer bildirip yine de yazmayı reddedebilir, çünkü inode kalmamıştır; bu, bir hizmet her oturum için bir dosya oluşturduğunda olur. Her iki okumayı da aynı birimde isteyin, çünkü yanıtlar aynı öğleden sonra çelişebilir. Bunu ana makine sağlıklıyken yapın, böylece sayılar normal çalışmayı anlatsın, bir kesintiyi değil.

df -h /var
df -i /var

Ardından büyümeyi bir sahibe atfedin. journal'ın kendi kullanım rakamı yalnızca journal'ı kapsar ve yapılandırma dosyasındaki bir yola yazan arka plan sürecini asla görmez.

journalctl --disk-usage

Zaman içindeki büyüme, herhangi bir tek okumadan daha fazlasını söyler. Açık bırakılmış bir hata ayıklama düzeyi, her denemeyi günlüğe yazan bir yeniden deneme döngüsü veya kimsenin durdurmadığı bir yakalama dosyası: her biri bir anda olağan, bir saat sonra endişe verici görünebilir. Bir okuma alın, yoğun bir dönemi bekleyin, bir tane daha alın ve aralığa bölün. Dile getirebildiğiniz bir hız, kapasiteyi yangın yerine karara dönüştürür.

Döndürmenin açık bir dosyaya yaptığı

Bir günlük dosyası, bir inode'a işaret eden addır ve alan yalnızca son açık tanıtıcı kapandığında geri gelir. Dosyayı yeniden adlandırın, yazıcı aynı inode'ı doldurmaya devam eder; silin, yazıcı hiç adı olmayan bir inode'ı doldurmaya devam eder. Bu durum, «dosyayı sildim ama disk dolu kaldı» ifadesinin bozuk bir dosya sistemi değil, dosya tanıtıcıları anlattığının nedenidir. Yazıcıyı yeniden başlatmak veya dosyayı yeniden açan bir döndürme kipi seçmek, blokları gerçekten geri veren şeydir.

lsof +L1 | head

Politika dosyayı yazan bileşene aittir. journal saklama sınırlarını kendi yapılandırma dosyasından uygular; dosya tabanlı bir hizmet ise genellikle logrotate'e güvenir, ya oluşturma kuralı ve yeniden açma sinyaliyle ya da yazıcı yeniden açamadığında yerinde kısaltma kipiyle. Önce hiçbir şeyi değiştirmeden kararı doğrulayın:

logrotate -d /etc/logrotate.conf

Sınır nereye aittir ve ne kadar büyük olmalıdır

Sınırı yazıcının yapılandırıldığı yere koyun, bağlama noktasına değil. Tüm birim üzerindeki kota ana makineyi korur ama hangi hizmetin önce düşeceğini söylemez ve genel bir temizleme betiği bir sonraki olayın ihtiyaç duyacağı kanıtları silmeye eğilimlidir. Bir journal sınırı, en büyük boyutlu bir döndürme sayısı ve uygulama düzeyinde saklama, her biri bir üreticiyi sınırlar. Birlikte toplamı sınırlarlar; tek başına her biri bir tahmindir.

Bu sınırı savunabildiğiniz saklama süresinden ölçün, boş alandan değil. Bir inceleme bir haftalık bağlantı denemesi gerektiriyorsa, journal en yoğun beklenen hızda bir hafta tutmalıdır ve o hız daha önce ölçülen sayıdır.

Hata ayıklama günlüğü, başlangıç saati kaydedilmiş geçici bir kiptir, bir depolama planı değildir. Gizlilik sorusunu aynı kararın içinde tutun, çünkü bağlantı günlükleri adresler ve tanımlayıcılar taşır. Daha uzun saklama da bir veri işleme tercihidir ve her iki kısıtı da bilen biri tarafından yapılmalıdır.

Sınırı yeniden başlatmadan sonra doğrulayın

Bir sonraki yeniden başlatmaya kadar süren saklama değişikliği değişiklik değildir. Yazıcıyı yeniden başlatın, yeni sınırın geçerli olduğunu doğrulayın ve döndürmenin ardından hâlâ çalıştığını kontrol edin. journal için bir yeniden başlatma ve bir kullanım okuması iki soruyu da yanıtlar:

systemctl restart systemd-journald
journalctl --disk-usage

Dosya tabanlı bir hizmet için döndürme işini bir kez elle çalıştırın ve dosyanın değiştirildiğini, tanıtıcının yeniden açıldığını doğrulayın. Eski tanıtıcıyı tutan yazıcı yüzeysel bir kontrolü geçer ve birim dolduğunda bir sonraki sefer başarısız olur. Test sırasında boş alanı izleyin, çünkü küçülen ama alanın geri gelmediği bir dosya, eski inode'ın hâlâ tutulduğu anlamına gelir.

Bir sonraki okumayı bununla karşılaştırın

Bir hafta sonra dönün ve büyüme hızını kayıtlı olanla karşılaştırın. Eşleşen hız, sınırın tuttuğunu ve yükün kararlı olduğunu gösterir; iki katına çıkan hız bir şeyin değiştiğini gösterir ve yararlı soru ne olduğudur. Önce günlük içeriğini yinelenen hatalar için okuyun, çünkü yeniden deneme döngüsü hem belirti hem de hacmin nedenidir. Sonra yeni etkinleştirilen her şeyi kontrol edin, bir olay sırasında açılıp hiç kapatılmayan hata ayıklama düzeyleri dahil.

Yedekleri aynı birimin dışında tutun veya bir dolu diskin yedeği de yanında götüreceğini kabul edin. Koruduğu ana makineye yazılan bir kopya kurtarma planı değildir ve saklanması kendi yanıtını gerektirir.

Neyin, nerede, ne kadar süre saklandığını ve kimin kaldırdığını yazın. O cümle teslimattır ve bu işin bir sonraki yeniden başlatmayı atlatan tek parçasıdır.

İlgili makaleler