Tunnel ulanishlarni qabul qilishni to'xtatadi, xizmat ikki marta qayta ishga tushadi, so'ng uning jurnalida hech narsa ko'rinmaydi. O'sha sukunat belgidir, chunki diskni to'ldirgan jurnal va daemon siz kutayotgan xatoni yozadigan joyi yo'q. Har qanday uzoq ishlaydigan xizmat shu holatga tushishi mumkin, logs nomli katalogni o'chirish esa buni kamdan-kam tuzatadi. Bardoshli yechim qaysi ombor o'sganini, uning saqlash siyosati kimga tegishli ekanini va yozuvchi joyni haqiqatan bo'shatganini bilishdir.

O'sgan omborni va u o'sgan tezlikni toping

Yodda saqlash qiyin bo'lmagan ikkita raqamdan boshlang: bo'sh bloklar va bo'sh inode'lar. Fayl tizimi ko'p joy haqida xabar berib, baribir yozishdan bosh tortishi mumkin, chunki inode'lar tugagan, bu esa xizmat har bir sessiya uchun bitta fayl yaratganda sodir bo'ladi. Ikkala ko'rsatkichni ham bir xil hajmda so'rang, chunki javoblar o'sha kuni tushdan keyin farq qilishi mumkin. Buni xost sog'lom bo'lganda qiling, raqamlar oddiy ishni tasvirlasin, nosozlikni emas.

df -h /var
df -i /var

So'ngra o'sishni egasiga bog'lang. journal'ning o'z iste'mol raqami faqat journal'ni qamrab oladi va konfiguratsiya faylidagi yo'lga yozayotgan daemonni hech qachon ko'rmaydi.

journalctl --disk-usage

Vaqt bo'yicha o'sish har qanday bitta o'lchovdan ko'proq narsa aytadi. Yoqilgan holda qoldirilgan disk raskadrovka darajasi, har bir urinishni jurnalga yozadigan qayta urinish sikli yoki hech kim to'xtatmagan qo'lga olish fayli: har biri bir lahzada oddiy, bir soatdan keyin xavotirli ko'rinishi mumkin. Bitta o'lchov oling, gavjum davrni kuting, boshqasini oling va intervalga bo'ling. Aytib bera oladigan tezlik sig'imni yong'in emas, qarorga aylantiradi.

Aylantirish ochiq fayl bilan nima qiladi

Jurnal fayli inode'ga ishora qiluvchi nomdir va joy faqat oxirgi ochiq tutqich yopilganda qaytadi. Fayl nomini o'zgartiring, yozuvchi o'sha inode'ni to'ldirishda davom etadi; o'chiring, yozuvchi umuman nomsiz inode'ni to'ldirishda davom etadi. Shu holat sababli «faylni o'chirdim, disk to'la qoldi» degan gap buzilgan fayl tizimini emas, fayl deskriptorlarini tasvirlaydi. Yozuvchini qayta ishga tushirish yoki faylni qayta ochadigan aylantirish usulini tanlash bloklarni haqiqatan qaytaradi.

lsof +L1 | head

Siyosat faylni yozadigan komponentga tegishli. journal o'z saqlash chegaralarini o'z konfiguratsiya faylidan qo'llaydi, faylga asoslangan xizmat esa odatda logrotate'ga tayanadi, yo yaratish qoidasi va qayta ochish signali bilan, yo yozuvchi qayta ocha olmasa joyida qisqartirish usuli bilan. Avval hech narsani o'zgartirmasdan qarorni tasdiqlang:

logrotate -d /etc/logrotate.conf

Chegara qayerda bo'lishi kerak va qanchalik katta bo'lishi kerak

Chegarani yozuvchi sozlangan joyga qo'ying, ulash nuqtasiga emas. Butun hajmga kvota xostni himoya qiladi, lekin qaysi xizmat birinchi ishdan chiqishini aytmaydi, global tozalash skripti esa keyingi hodisaga kerak bo'ladigan dalillarni o'chirishga moyil. journal chegarasi, maksimal o'lchamli aylantirishlar soni va ilova darajasidagi saqlash har biri bitta ishlab chiqaruvchini cheklaydi. Birgalikda ular jami cheklaydi; alohida har biri taxmin.

Bu chegarani himoya qila oladigan saqlash muddatidan o'lchang, bo'sh joydan emas. Agar ko'rib chiqishga bir haftalik ulanish urinishlari kerak bo'lsa, journal eng gavjum kutilgan tezlikda bir hafta saqlashi kerak va o'sha tezlik avval o'lchangan raqam.

Disk raskadrovka jurnali boshlanish vaqti yozilgan vaqtinchalik rejim, saqlash rejasi emas. Maxfiylik savolini o'sha qaror ichida saqlang, chunki ulanish jurnallari manzillar va identifikatorlarni olib yuradi. Uzoqroq saqlash ham ma'lumot bilan ishlash tanlovi va uni ikkala cheklovni biladigan kishi qabul qilishi kerak.

Qayta ishga tushirgandan so'ng chegarani tekshiring

Keyingi qayta yuklashgacha davom etadigan saqlash o'zgarishi o'zgarish emas. Yozuvchini qayta ishga tushiring, yangi chegara amal qilishini tasdiqlang va undan keyin ham aylantirish ishlashini tekshiring. journal uchun bitta qayta ishga tushirish va bitta iste'mol o'lchovi ikkala savolga javob beradi:

systemctl restart systemd-journald
journalctl --disk-usage

Faylga asoslangan xizmat uchun aylantirish ishini bir marta qo'lda ishga tushiring va fayl almashtirilganini, deskriptor qayta ochilganini tasdiqlang. Eski tutqichni saqlab qolgan yozuvchi yuzaki tekshiruvdan o'tadi va keyingi safar hajm to'lganda muvaffaqiyatsiz bo'ladi. Sinov davomida bo'sh joyni kuzating, chunki fayl kichrayib, joy qaytmasa eski inode hali ushlab turilgan.

Keyingi o'lchovni bu bilan solishtiring

Bir haftadan keyin qaytib, o'sish tezligini yozilgan bilan solishtiring. Mos tezlik chegara ushlab turishini va yuk barqarorligini bildiradi; ikki barobar tezlik nimadir o'zgarganini bildiradi va foydali savol nima o'zgargani. Avval jurnal mazmunini takroriy nosozliklar uchun o'qing, chunki qayta urinish sikli bir vaqtda alomat va hajm sababi. So'ngra yangidan yoqilgan hamma narsani tekshiring, hodisa paytida yoqilib hech qachon o'chirilmagan disk raskadrovka darajalarini ham.

Zaxira nusxalarini o'sha hajmdan tashqarida saqlang yoki bitta to'la disk zaxirani ham olib ketishini qabul qiling. O'zi himoya qiladigan xostga yozilgan nusxa tiklash rejasi emas, va uni saqlash o'z javobini talab qiladi.

Nima, qayerda, qancha vaqt saqlanishini va kim olib tashlashini yozib qo'ying. O'sha gap natija va bu ishning keyingi qayta ishga tushirishdan omon qoladigan yagona qismi.

O'xshash maqolalar