🚨 Linux Alert: / Partition 100% Full – Don't Panic, Diagnose Smartly!

Gawat Darurat: Partisi root (/) yang penuh 100% pada server produksi bisa membuat layanan berhenti total β€” mulai dari masalah login SSH, aplikasi crash, kegagalan database, hingga masalah kernel yang serius.

Bayangkan kamu lagi nyetir mobil di jalan protokol Balikpapan, eh tiba-tiba remnya blong karena sistem pelumasnya beku. Begitulah kondisi Linux saat disk-nya menyentuh angka 100%. Sistem operasi Linux membutuhkan ruang kosong untuk menulis log, membuat file temporary, dan mengelola process ID. Kalau ruang ini hilang, sistem akan "tercekik".

Banyak pemula yang langsung mengambil langkah drastis: rm -rf sembarangan. ❌ Jangan lakukan itu! Menghapus file tanpa diagnosa ibarat mengobati sakit perut dengan operasi jantungβ€”tidak nyambung dan berisiko fatal.

Ilustrasi Terminal Linux Disk Full Error dengan pesan error dan grafik penggunaan disk

Kenapa Ini Masalah Besar? (Why)

Ketika partisi root mencapai 100% penuh, beberapa layanan kritis bisa mengalami gangguan parah. Berikut adalah dampak yang paling sering terjadi di dunia nyata:

  • SSH Login Gagal: Sistem tidak bisa membuat file lock atau menulis log, sehingga koneksi SSH menolak koneksi baru.
  • Aplikasi Crash: Aplikasi web dan database tidak bisa menulis data sementara atau log, menyebabkan error fatal.
  • Kernel Panic: Dalam kasus ekstrem, kernel gagal mengelola proses karena kehabisan ruang untuk process ID dan swap.
  • Backup Gagal: Proses backup otomatis berhenti karena tidak ada ruang untuk menyimpan hasil.

Intinya, disk penuh bukan sekadar masalah "tidak bisa menyimpan file"β€”ini adalah kegagalan sistem yang perlu ditangani dengan cepat dan tepat.

πŸ” Strategi Diagnosa Langkah-demi-Langkah

Sebelum kita bersih-bersih, kita harus jadi detektif dulu. Di mana tepatnya sampah itu menumpuk? Ikuti langkah-langkah sistematis berikut untuk menemukan akar masalah.

1. Cek Penggunaan Filesystem

Langkah pertama adalah konfirmasi. Apakah benar partisi root yang penuh? Atau jangan-jangan cuma partisi /home?

$ sudo df -Th

Perintah ini akan menampilkan daftar partisi, tipe filesystem, dan persentase penggunaan. Fokuslah pada baris yang memiliki Mounted on /.

Output command df -Th di Linux menunjukkan penggunaan disk per partisi

2. Identifikasi Direktori Raksasa

Setelah tahu partisi mana yang penuh, saatnya mencari "pelaku" utamanya. Kita akan cek direktori mana yang paling rakus memakan ruang.

$ sudo du -sch /* | sort -rh | head -10

Perintah ini akan mengurutkan 10 direktori terbesar di root. Biasanya pihak yang bertanggung jawab utamanya adalah /var atau /home.

3. Telusuri Area Masalah secara Spesifik

Misalnya kamu menemukan /var sangat besar, masuk lebih dalam lagi:

$ sudo du -ah /var | sort -rh | head -10

Seringkali di sini kamu akan menemukan log aplikasi yang "ngamuk" atau database yang membengkak tanpa kontrol.

4. Temukan File yang Baru Berubah

Kalau disk penuh secara mendadak dalam hitungan jam, kemungkinan besar ada log yang menulis jutaan baris per menit. Cari file yang ukurannya >100MB yang berubah dalam 2 hari terakhir:

$ sudo find /var -type f -mtime -2 -size +100M
Proses investigasi file besar di Linux menggunakan perintah find

⚠️ Penyebab Umum di Dunia Nyata

Berdasarkan pengalaman saya mengelola server di Layar Kosong, ada 5 penyebab klasik yang sering bikin pusing:

  • Application Core Dumps: Saat aplikasi crash, Linux sering menyimpan "bangkai" memori yang ukurannya raksasa.
  • Database Bloat: Query yang tidak efisien atau log transaksi database yang tidak di-limit.
  • Docker Layers: Container dan image Docker yang menumpuk bertahun-tahun tanpa dibersihkan (docker system prune adalah kuncinya!).
  • Old Backups: Lupa memindahkan file backup lama dari folder /tmp atau /var/www.
  • Uncontrolled Log Files: File log di /var/log yang tidak diputar (rotated) otomatis.

Identifikasi penyebab utama akan membantu kamu menentukan langkah pembersihan yang paling efektif.

🧠 Best Practices di Server Produksi

Biar tidak kejadian lagi (atau minimal lebih siap), terapkan prinsip ini:

  1. Analyze Before Deleting: Selalu cek apakah file tersebut sedang dipakai sistem (lsof | grep filename).
  2. Logrotate: Pastikan layanan logrotate berjalan dengan benar untuk membatasi ukuran log.
  3. Monitoring: Gunakan tool seperti Zabbix, Netdata, atau script sederhana untuk kirim alert ke Telegram kalau disk sudah 80%.
  4. No Panic Mode: Jangan gunakan rm -rf / (ini mah bunuh diri server!).
  5. Separate Mount Points: Pisahkan /var dan /home ke partisi atau disk fisik yang berbeda.

Dengan penerapan best practice ini, risiko partisi root penuh bisa diminimalkan secara signifikan.

Kesimpulan: Disk Penuh Bukanlah Kegagalan

Ingat, kawan: Disk yang penuh bukanlah sebuah kegagalan sistem, tapi investigasi yang tidak rasional adalah kegagalan admin. Mengetahui di mana ruang itu terpakai jauh lebih krusial daripada sekadar tahu kalau disk-nya penuh. Dengan pendekatan sistematis di atas, kamu bisa menyelamatkan server tanpa kehilangan data penting.

Sekarang, coba cek server kamu masing-masing. Siapa tau servernya malah mogok! πŸ˜