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.