top of page

cloud9のディスク空き容量対応

デバッグのためにテストRunしたときに、以下のメッセージが表示されました。

No space left on device

結構最近EBSのボリューム拡張を行ったばかりなのになぜ!?と思い

、まずボリューム全体の使用状況を確認しました。ボリュームの使用状況の確認はdfコマンドを実行します。


ボリューム利用状況確認

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        484M     0  484M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  464K  491M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       35G   34G    0G  99% /
tmpfs            99M     0   99M   0% /run/user/1000

ファイルシステム/dev/xvda1が99%使用されて、空き容量が無い状態でした。EBSを拡張すれば解決するのですが、不要なファイル削除や一時ファイルの削除での対応を進めます。


容量の大きなファイルの確認

以下のコマンドで500MB以上のファイルを検索します。ログファイル群が怪しいと踏んで、/var/logの中身を確認します。

find /var/log -size +500M | xargs ls -l | sort -rn

jounalログの削除

journalファイルがそこそこ大きかったので、jouralのファイルサイズの最大値をjournald.confに書き加えて設定します

$ sudo vi /etc/systemd/journald.conf
SystemMaxFileSize=300M

confファイルを書き換えるだけだと反映されないのでサービスの再起動し、journalctlのログを削除

$ sudo systemctl restart systemd-journald
$ sudo journalctl --vacuum-size=300M

dfコマンドでボリュームを確認すると、少々ましになったものの、まだまだ空きスペースは少ない状態でした。


Yumのキャッシュクリア

以下のコマンドで/var以下のディレクトリの容量も確認します。

$ sudo du -sh /var/*

/var/cache に700MB程度使用されていたのでcacheのクリアを試みます。yumやAPTなどが利用した容量の大きなパッケージファイルが溜まってしまっている可能性があります。以下のコマンドでyumのキャッシュをクリアします。

$ sudo yum clean all                                                                                                                                                  

このコマンドは、必要なファイルを残した上でキャッシュクリアを行ってくれるので、rmコマンドなどで削除するよりも安全です。

この処理でキャッシュファイルも小さくなりましたがそれでも、まだ容量不足。


未使用のdockerリソース削除

$ sudo du -sh /var/*

で確認すると、/var/lib/ が大きな容量を使っていることがわかります。しかし、libと名のつくディレクトリを触るのはちょっと躊躇します。

$ sudo du -sh /var/lib/*

/var/lib内を確認すると /var/lib/docker の容量が支配的に大きいことがわかります。このファイルはdockerのコンテナやボリューム、イメージなどのオブジェクトが格納されています。

Cloud9でテスト実行する場合は再度コンテナ化されればいいので、すでに停止しているコンテナを以下のコマンドで削除してしまいます。

$ docker system prune -a
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all images without at least one container associated to them
  - all build cache

Are you sure you want to continue? [y/N] 

・停止したすべてのコンテナ

・少なくとも 1 つのコンテナーで使用されていないすべてのネットワーク

・少なくとも 1 つのコンテナーが関連付けられていないすべてのイメージ

・すべてのビルド キャッシュ

が削除されるけれど継続してもよいか?という警告が出ます。

先に進めるには「y」を入力しEnter

削除されたイメージが表示され、最後に以下のように削除されて利用可能になったボリュームが表示されます。

Total reclaimed space: 22.108GB

ボリューム利用状況の再確認

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        484M     0  484M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  520K  491M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       35G  7.3G   28G  21% /
tmpfs            99M     0   99M   0% /run/user/1000
tmpfs            99M     0   99M   0% /run/user/0

無事に空き容量を確保することができて、テストRunもできるようになりました。




0件のコメント

Comentarios


bottom of page