Dari Mana Pertumbuhan Cakera Pelayan VPN Datang dan Cara Menghadkannya
Pertumbuhan log, inode yang dinamakan semula dan journal tanpa had semuanya kelihatan sebagai satu cakera penuh. Ukur kadarnya, hadkan penulis dan sahkan had selepas permulaan semula.
Terowong berhenti menerima sambungan, perkhidmatan dimulakan semula dua kali, dan selepas itu tiada apa muncul dalam lognya. Kesenyapan itu ialah petunjuk, kerana log itulah yang memenuhi cakera dan daemon tidak mempunyai tempat untuk menulis ralat yang anda tunggu. Mana-mana perkhidmatan yang berjalan lama boleh sampai ke keadaan itu, dan memadam direktori bernama logs jarang membaikinya. Penyelesaian yang tahan lama ialah mengetahui stor mana yang berkembang, siapa pemilik dasar pengekalannya, dan sama ada penulis benar-benar melepaskan ruang itu.
Cari stor yang berkembang, dan kadar ia berkembang
Mulakan dengan dua nombor yang mudah dilupakan: blok bebas dan inode bebas. Sistem fail boleh melaporkan banyak ruang dan masih enggan menulis kerana tiada lagi inode, yang berlaku apabila perkhidmatan mencipta satu fail bagi setiap sesi. Minta kedua-dua bacaan pada volum yang sama, kerana jawapannya boleh bercanggah pada petang yang sama. Lakukan semasa hos sihat, supaya nombor itu menggambarkan operasi biasa dan bukan gangguan.
df -h /var
df -i /varKemudian atribusikan pertumbuhan itu kepada pemilik. Angka penggunaan journal itu sendiri hanya meliputi journal, dan ia tidak akan pernah melihat daemon yang menulis ke laluan daripada fail konfigurasinya.
journalctl --disk-usagePertumbuhan sepanjang masa memberitahu lebih daripada mana-mana bacaan tunggal. Tahap nyahpepijat yang dibiarkan hidup, gelung cubaan semula yang mencatat setiap percubaan, atau fail tangkapan yang tiada siapa hentikan: setiap satunya boleh kelihatan biasa pada satu saat dan membimbangkan sejam kemudian. Ambil satu bacaan, tunggu melalui tempoh sibuk, ambil satu lagi, dan bahagikan dengan selang. Kadar yang boleh anda nyatakan menjadikan kapasiti satu keputusan dan bukan kebakaran.
Apa yang rotasi lakukan kepada fail terbuka
Fail log ialah nama yang menunjuk kepada inode, dan ruang hanya kembali apabila pemegang terbuka terakhir ditutup. Namakan semula fail itu dan penulis terus mengisi inode yang sama; padamkannya dan penulis terus mengisi inode tanpa sebarang nama. Keadaan itulah sebabnya «saya padam fail itu dan cakera kekal penuh» menerangkan deskriptor fail dan bukan sistem fail yang rosak. Memulakan semula penulis, atau memilih mod rotasi yang membuka semula fail itu, ialah apa yang benar-benar mengembalikan blok.
lsof +L1 | headDasar milik komponen yang menulis fail itu. Journal menguatkuasakan had penyimpanannya sendiri daripada fail konfigurasinya, manakala perkhidmatan berasaskan fail biasanya bergantung pada logrotate, sama ada dengan peraturan penciptaan dan isyarat pembukaan semula atau dengan mod pemotongan di tempat apabila penulis tidak dapat membuka semula. Sahkan keputusan itu tanpa mengubah apa-apa dahulu:
logrotate -d /etc/logrotate.confDi mana had itu patut berada, dan berapa besar
Letakkan had itu di tempat penulis dikonfigurasikan, bukan pada titik lekap. Kuota pada keseluruhan volum melindungi hos tetapi tidak menyatakan perkhidmatan mana yang gagal dahulu, dan skrip pembersihan global cenderung memadam bukti yang diperlukan oleh insiden seterusnya. Had journal, bilangan rotasi dengan saiz maksimum dan pengekalan peringkat aplikasi masing-masing membatasi satu pengeluar. Bersama-sama mereka membatasi jumlah; secara bersendirian setiap satu ialah tekaan.
Saizkan had itu daripada pengekalan yang boleh anda pertahankan, bukan daripada ruang kosong yang ada. Jika semakan memerlukan seminggu cubaan sambungan, journal mesti menyimpan seminggu pada kadar tersibuk yang dijangka, dan kadar itu ialah nombor yang diukur lebih awal.
Pengelogan nyahpepijat ialah mod sementara dengan masa mula direkodkan, bukan pelan penyimpanan. Simpan persoalan privasi dalam keputusan yang sama, kerana log sambungan membawa alamat dan pengecam. Pengekalan yang lebih lama juga pilihan pengendalian data, dan ia patut dibuat oleh seseorang yang mengetahui kedua-dua kekangan.
Sahkan had itu selepas permulaan semula
Perubahan pengekalan yang bertahan sehingga but semula seterusnya bukan perubahan. Mulakan semula penulis, sahkan had baharu terpakai, dan periksa bahawa rotasi masih berjalan selepas itu. Untuk journal, satu permulaan semula dan satu bacaan penggunaan menjawab kedua-dua soalan:
systemctl restart systemd-journald
journalctl --disk-usageUntuk perkhidmatan berasaskan fail, jalankan tugas rotasi sekali secara manual dan sahkan fail telah diganti dan deskriptor dibuka semula. Penulis yang menyimpan pemegang lama lulus pemeriksaan cetek dan gagal pada kali seterusnya volum penuh. Perhatikan ruang kosong semasa ujian, kerana fail yang mengecil sedangkan ruang tidak kembali bermaksud inode lama masih dipegang.
Bandingkan bacaan seterusnya dengan yang ini
Kembali selepas seminggu dan bandingkan kadar pertumbuhan dengan yang direkodkan. Kadar yang sepadan bermaksud had bertahan dan beban kerja stabil; kadar yang berganda bermaksud sesuatu berubah, dan soalan yang berguna ialah apa. Baca kandungan log untuk kegagalan berulang dahulu, kerana gelung cubaan semula ialah gejala dan juga punca jumlah. Kemudian periksa apa-apa yang baru diaktifkan, termasuk tahap nyahpepijat yang dihidupkan semasa insiden dan tidak pernah dimatikan.
Simpan sandaran di luar volum yang sama, atau terima bahawa satu cakera penuh akan membawa sandaran bersamanya. Salinan yang ditulis pada hos yang dilindunginya bukan pelan pemulihan, dan pengekalannya memerlukan jawapannya sendiri.
Tuliskan apa yang disimpan, di mana, berapa lama dan siapa yang mengalihkannya. Ayat itu ialah hasilnya, dan itulah satu-satunya bahagian kerja ini yang bertahan melepasi permulaan semula seterusnya.