Senario
Pelayan Linux pengeluaran kehabisan ruang cakera, menyebabkan kegagalan tulis aplikasi dan gangguan perkhidmatan. Sistem pemantauan menunjukkan penggunaan cakera melebihi 95%. Perkhidmatan terjejas mungkin termasuk pangkalan data, pelayan web, pengumpul log, atau runtime aplikasi.
Gejala
- Log aplikasi:
write error: No space left on device df -hmenunjukkan penggunaan 100% pada satu atau lebih partition- Log sistem (contohnya
/var/log/messages) melaporkan ruang habis - Perkhidmatan gagal dimulakan atau bertindak balas perlahan
- Kemungkinan kekurangan inode:
df -imenunjukkan penggunaan 100%
Diagnosis
-
Periksa ruang cakera dengan cepat
bash df -h df -i # periksa penggunaan inodeKenal pasti partition terjejas dan ruang kosong. -
Cari direktori/fail besar
bash du -sh /* 2>/dev/null | sort -rh | head -10 du -sh /var/* | sort -rh | head -5Utamakan/var(log),/tmp,/home, dan mount data aplikasi. -
Periksa fail yang telah dipadam tetapi masih dipegang
bash lsof +L1 # senarai semua fail dipadam masih dibukaFail ini mengambil ruang tetapi tidak muncul dalamdu; pangkas atau mulakan semula proses yang memegang. -
Periksa rotasi log
bash ls -lh /var/log/*.log systemctl status logrotate cat /etc/logrotate.confPastikan logrotate berjalan dan dikonfigurasi dengan betul. Putar secara manual:logrotate -f /etc/logrotate.conf -
Cari fail >1GB
bash find / -type f -size +1G -exec ls -lh {} \; 2>/dev/nullPeriksa keputusan; tentukan sama ada boleh dipadam/dimampatkan.
Kawalan Risiko
- Jangan
rm -rffail yang tidak diketahui tanpa menyemak kebergantungan. - Untuk log, elakkan memadam log kritikal (contohnya binlog pangkalan data).
- Gunakan
truncate -s 0 <fail>untuk mengosongkan fail daripada memadamnya (mengekalkan pemegang fail). - Semak
lsofsebelum membuang fail yang dipegang oleh proses. - Ambil snapshot sistem fail (jika awan) atau sandarkan direktori kritikal.
Pemulihan
-
Pemulihan ruang segera - Pangkas log besar:
truncate -s 0 /var/log/syslog- Bersihkan fail sementara lama:find /tmp -type f -atime +7 -delete- Mampatkan log lama dengan gzip. -
Penyelesaian tetap - Laraskan tempoh simpan logrotate dan pemampatan. - Sediakan skrip pembersihan automatik. - Tambah saiz cakera atau mount storan tambahan.
-
Urus fail dipadam tetapi dipegang - Jika proses yang memegang boleh dibuang, mulakan semula:
systemctl restart <perkhidmatan>- Alternatif, gunakan> /proc/<pid>/fd/<N>untuk memangkas deskriptor fail (berbahaya).
Langkah Balik
- Jika fail dipadam secara tidak sengaja, pulihkan dari sandaran (memerlukan sandaran sedia ada).
- Jika pemangkasan merosakkan perkhidmatan, mulakan semula perkhidmatan (fail log dicipta semula secara automatik).
- Untuk pemangkasan yang menyebabkan ranap proses, buang fail dan mulakan semula proses.
- Pengembangan cakera selalunya tidak boleh diterbalikkan; langkah balik dengan membuka mount volume baru dan memulakan semula perkhidmatan.
Pengesahan
- Jalankan
df -huntuk pastikan penggunaan di bawah ambang. - Periksa log aplikasi tiada ralat ruang.
- Lakukan ujian fungsional (contohnya tulis fail ujian).
- Pastikan amaran pemantauan hilang.
- Pastikan logrotate berfungsi: hasilkan log baru dan periksa putaran.
Bila Perlu Hantar Tiket OpsGlobal
- Anda tidak dapat mengenal pasti punca penggunaan ruang.
- Fail kritikal (contohnya fail pangkalan data) perlu dipulihkan selepas dipadam.
- Disyaki kerosakan sistem fail (
dmesgmenunjukkan ralat I/O). - Perancangan kapasiti jangka panjang atau perubahan seni bina diperlukan.
- Pasukan anda kurang kepakaran pentadbiran sistem Linux.
Jurutera OpsGlobal akan membantu dari jauh dengan analisis mendalam, pengenalpastian punca, pemulihan, dan cadangan pencegahan.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu DevOps dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Panduan praktikal untuk mendiagnosis dan menyelesaikan isu ruang cakera penuh pada pelayan Linux pengeluaran. Merangkumi pengenalan gejala, arahan diagnostik, kawalan risiko, langkah balik, pengesahan, dan bila perlu menghubungi sokongan OpsGlobal.
Langkah Penyelesaian
Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.
Contoh Arahan
Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.
Risiko
Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.
Pelan Rollback
Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.
Senarai Serahan
Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.
Perlu bantuan isu teknikal serupa?
Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.