Help us understand the problem. What is going on with this article?

AWSで「No space left on device」が出たときの対応

More than 1 year has passed since last update.

現象

CapistranoでRailsアプリケーションをAWSのEC2インスタンスにデプロイする際に、以下のようなエラーが出てデプロイに失敗しました。

Tasks: TOP => deploy:check => git:check => git:wrapper
(See full trace by running task with --trace)
The deploy has failed with an error: scp: /tmp/production.sh: No space left on device

インスタンスにログインすると、以下のように同様のエラーメッセージが表示されました。

/home/user/.rbenv/libexec/rbenv-init: 行 131: ヒアドキュメント用一時ファイルを作成できません: デバイスに空き領域がありません

問題と対応

ディスク容量を確認します。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         488M   56K  488M    1% /dev
tmpfs            498M     0  498M    0% /dev/shm
/dev/xvda1       7.8G  7.7G     0  100% /

ディスク容量がいっぱいだったのが原因だったみたいです。
そこで不要なlogファイル等を消してみたのですが、改善されず。。

結局、インスタンスを再起動することで解決出来ました。
以下のようになりました。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         488M   56K  488M    1% /dev
tmpfs            498M     0  498M    0% /dev/shm
/dev/xvda1       7.8G  3.0G  4.8G   38% /

得られた知見メモ

解決の一般論

No space left on device – running out of Inodes

対応手順としてまとめてあって、調べた中で特に有用な記事だと思いました。
2010年の古めの記事ですが、thanksコメントは最近されたものも多くよさげ。

今回は、容量がいっぱいだったことが原因でしたが、そうでなくても同じエラーメッセージが出ることがあるみたいです。

今回の解決法について

EC2 instance on Amazon and I am greeted with “No space left on the disk”

容量いっぱいなら余計なファイル消せばいいと思って消しても改善されなくて、調べるとインスタンスを再起動したら良くなるという記事をちらほら見つけて、やってみたら解決しました。

分からないこと

なぜ、今回のような現象が起きたのか。単純にディスク容量がいっぱいになってエラーが出たのなら、大きなログファイルを消した段階でエラーが解決するはずだが、、

もし分かる方がいればご教示下さい。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away