Cara mengatasi No space left on device

By | August 21, 2019

Katakan sahabat sedang mengedit file di Linux dan ketika menyimpannya malah muncul pesan error No space left on device., padahal sahabat yakin masih banyak kapasitas harddisk yang tersisa. Masalah ini saya alami pagi ini karena backup otomatis database MySQL per jam tiba – tiba gagal dan setelah dilacak cuma dapat pesan kesalahan tersebut. Lah dalah. 😀

Itu masalah saya, tapi dapat jadi ruang kosong VPS sahabat memang habis. Jadi silahkan dicek dulu gunakan ini:

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 4.4G 3.1G 1.2G 74% /
udev 10M 0 10M 0% /dev
tmpfs 99M 13M 87M 13% /run
tmpfs 248M 0 248M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 248M 0 248M 0% /sys/fs/cgroup

Milik saya belum penuh (lihat persentase di kolom Use%), tapi kalau di server sahabat telah 99% atau bahkan lebih karenanya silahkan dicari dulu dimana saja file – file berukuran besar dan pastikan aman bagi menghapusnya.

Melanjutkan kembali masalah saya. Seingat saya error yang saya singgung di awal dapat disebabkan jumlah inode yang kritis atau habis. Lagi, kita akan mengeceknya:

df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda1 290880 69829 221051 25% /
udev 61201 305 60896 1% /dev
tmpfs 63289 396 62893 1% /run
tmpfs 63289 1 63288 1% /dev/shm
tmpfs 63289 3 63286 1% /run/lock
tmpfs 63289 13 63276 1% /sys/fs/cgroup

Ternyata secara total masih ada kapasitas inode (pada kolom IUse%) yang amat lega. Repot kan? 😀

Setelah semedi beberapa ketika dan konsultasi dengan mbah akhirnya menemukan pencerahan bahwa di file system ext3 dan ext4 ada batasan jumlah file pada direktori. Kalau secara angka jumlahnya sangatlah banyak (jutaan file per direktori), tapi karena hampir segala proses pada aplikasi operasi otomatis dan kalau kombinasinya tepat tak kaget kalau terlewatkan. Apalagi kalau pada VPS kuota inode kita akan disetting dari providernya dan umumnya lumayan besar, tapi dapat kurang kalau hingga jadi masalah. 😀

On Mar 13, 2008 13:23 -0400, Theodore Ts’o wrote:

> There is no limit to the number of files in a folder, except for the

> fact that the directory itself can’t be bigger than 2GB, and the

> number of inodes that the entire filesystem has available to it. Of

> course, if you don’t have directory indexing turned on, you may not

> like the performance of doing directory lookups, but that’s a

> different story.

There is also a limit in the current ext3 htree code to be only 2 levels

deep. Along with the 2GB limit you hit problems around 15M files,

depending on the length of the filenames.

Cheers, Andreas

Sumber: https://www.redhat.com/archives/ext3-users/2008-March/msg00030.html

Akhirnya yang saya lakukan ialah memindahkan dan menghapus file – file yang saya rasa tak bermanfaat dari folder yang terbesar. Solusi yang sama dengan kapasitas storage yang penuh, tapi setidaknya kita sekarang ini tahu apa penyebabnya.


Sumber https://servernesia.com