Ubuntu 14.04を実行しているEC2ノードがあります。今朝のデプロイで、git fetchから次のエラーメッセージが表示されました。
error: unable to create temporary file: No space left on device
サーバーにログインしましたが、df -hは十分なスペースがあることを示しています。
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 492M 12K 492M 1% /dev
tmpfs 100M 488K 99M 1% /run
/dev/xvda1 7.8G 4.9G 2.5G 67% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 497M 4.0K 497M 1% /run/shm
none 100M 0 100M 0% /run/user
ここでdfを誤解していますか? EC2の/ tmpは/ dev/xvda1に常駐していると私は理解していますが、おそらく間違っているのでしょうか?
システムのiノードを確認します。
root #df -i /
使用率が100%に近づいている場合は、
xdiskusage /
Iノードを占有しているものを見つける。
残念なことに、いったんファイルシステムが作成されると、ファイルシステムのiノードの数を増やす方法はありません。
Resize2fsでiノードの数を拡張できるLVMを除く
一部のアプリケーションが膨大な数の小さなファイルを作成し、iノードを完全に使い果たしている可能性があります。このような不正なアプリケーションを探して、不要なファイルを削除する可能性があります。
Iノードの制限を動的に増やすことはできませんが、LVMを使用している場合は、ボリュームのサイズを増やすことを検討してください。そうでない場合は、バックアップを取り、より高いiノードの制限を指定して新しいファイルシステムを作成します。
Findコマンドを使用して、バルクファイルを含むディレクトリを検索し、ur標準に基づいてクリーンアップを実行できます
find /dev/xvda1 -type f -size +1M -exec ls -ltrh {} \;
そして、クリーンアップを実行する必要がある場所またはディレクトリを見つけたら、そのディレクトリパスをソースに渡し、クリーンアップを実行します。
find /dev/xvda1/dummy -type f -size +1M -mtime +120 -exec rm -rf {} \;
上記で、私はダミーと呼ばれるディレクトリから120より古いファイルを削除しています