Cara mengatasi No space left on device

Katakan anda sedang mengedit file di Linux dan saat menyimpannya malah muncul pesan error No space left on device., padahal anda 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 bisa jadi ruang kosong VPS anda memang habis. Jadi silahkan dicek dulu pakai 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 pada kolom Use%), tapi kalau pada server anda sudah 99% atau bahkan lebih maka silahkan dicari dulu dimana saja file – file berukuran besar dan pastikan aman untuk menghapusnya.

Melanjutkan kembali masalah saya. Seingat saya error yang saya singgung di awal bisa 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 (dalam kolom IUse%) yang sangat lega. Repot kan? 😀

Setelah semedi beberapa saat dan konsultasi dengan mbah akhirnya menemukan pencerahan bahwa pada file system ext3 dan ext4 ada batasan jumlah file dalam direktori. Kalau secara angka jumlahnya sangatlah banyak (jutaan file per direktori), tapi karena hampir semua proses dalam sistem operasi otomatis dan kalau kombinasinya tepat tidak kaget kalau terlewatkan. Apalagi kalau dalam VPS kuota inode kita akan disetting dari providernya dan umumnya cukup besar, tapi bisa kurang kalau sampai 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 adalah memindahkan dan menghapus file – file yang saya rasa tidak berguna dari folder yang terbesar. Solusi yang sama dengan kapasitas storage yang penuh, tapi setidaknya kita sekarang tahu apa penyebabnya.

Tinggalkan komentar