No space left on device エラーの原因

環境Linux,Ubuntu

Ubuntu 上にある phpMyAdmin を開こうとしたら、「 No space left on device 」というエラーがでた。ちなみに WordPress にもアクセスできなかった。

エラー

スペースが無いと言っている。

phpMyaAmin no space left on device error message

原因

このエラーがでる原因。

  1. ディスク容量を使い果たした
  2. inode の枯渇
    inode とは、ファイルのサイズとか、更新日時とか、属性情報が書かれたデータのことで、実ファイルとは別に存在している。このデータ領域がなくなることを「 inode の枯渇」と呼ぶようだ。

    inodeとは
    inode (アイノード) を枯渇させてみる

確認方法

ディスク容量を使い果たした

$ df -h

inode の枯渇

$ df -i

対処

ディスク容量を使い果たした場合

ディレクトリやファイルを消す。

今回容量を食っていたのは MySQL のデータファイルで、テーブルの最適化をすればよかったのだが、ディスク容量を 100 % 使い切っていたため mysql に入ることもできない。
また、 EC2 を使っていたので、ボリュームをあげればいいと思ったが、パーティションのサイズを拡張する growpart コマンドも打てなかった。

仕方ないので、 AMI を作成し、 AMI から容量を大きくした EC2 インスタンスを作成し直した。

ディスク容量を 100 % 使い切ると何もできなくなるので、使用容量が 80 とか 90 % に達した時点でアラート通知するように設定した方がいい。

inode の枯渇の場合

ファイルや、ファイル数の多いディレクトリを削除する。ディレクトリにも inode は作成される。

カレントディレクトリ内のファイル数が多いディレクトリ

$ sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -r

Posted by Agopeanuts