Ubuntuサーバーでファイルをmvしようとしたとき、No space left on device となってファイルの移動コマンドを受け付けないようになってしまった。移動できない場合の原因として主なものは
- ディスクの容量が本当にいっぱいでこれ以上保存できない場合
- inodeを使い切ってしまっていて追加できない場合
大体この2つが原因らしい。
私の場合はそのどちらでもなく、ディスクスペースもinodeも余裕があるにもかかわらずNo space left on deviceというエラーが発生するようになってしまった。現象としては
- 特定のファイルが移動できない
- エラーが出たファイルとは別の名前のファイルなら移動できる
というような感じ。
このようなエラーが出るようになったきっかけは、思い当たるところではmvコマンドを実行中に途中で強制的にコマンドを遮断してしまったことぐらい。イレギュラーな操作をしてしまったことでディレクトリ情報の何かが壊れてしまって特定のファイルのコピーを受け付けないようになってしまったのかなと予想しているがそんなことがあり得るのかどうか不明。結局、そのディレクトリにはファイル移動ができなくなってしまったので新たにディレクトリを作成して、今度はmvコマンドのプロセスを途中でkillするようなことなく最後まで完遂させることにした。こういうことがあると巨大なファイルや膨大なファイルを移動させるときに今後は細心の注意を払う必要がある。