EC2でAMIで立てたredashが急に使えなくなった時

どーも、yutaです。

最近お仕事ご一緒させて頂いてるお客様から「急にredashが使えなくなったから見てくれない?」と言われました。

あーそういえばお客さんredash使ってるんでしたね。どれどれとEC2見た時に解消に2時間半を費やしてしまったので、今後のメモ。

作業ログが無いので状況とコマンドだけ載せる。

原因

EBSのボリュームに空き容量が無くなったため、redashが乗るdockerやらなんやらが動けなくなった。

インスタンスのOSがubuntuなんだけどsshログインするとすぐに分かるので見逃さないようにする。

yuta$ ssh -i "hoge.pem" ubuntu@hogehoge-compute.amazonaws.com
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 5.4.0-1051-aws x86_64)
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
  System information as of Tue Jul 20 12:10:34 UTC 2021
  System load:  0.1               Processes:           106
  Usage of /:   99.8% of 7.69GB   Users logged in:     0
  Memory usage: 5%                IP address for eth0: 10.0.2.96
  Swap usage:   0%
  => / is using 99.8% of 7.69GB
 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch
95 packages can be updated.
1 update is a security update.
ubuntu@ip-hoge:~$

今回はボリュームが8GBしかなかったです(泣)

でも最初dockerが乗ってるのも知らなくて、何が一番使ってるんだ〜?とかコマンドで調べてた。

$ du -msh /* | sort -nr

んで、dockerに行き着いて、ん?dockerで、redashが分析結果の保持にpostgresql使ってて、、、ディスクフルで止まった???

と答えに辿り着いた感じです。

解消方法

解消方法はEBSのボリュームをサクッと上げました。

とはいえ、案外手こずったので記録。

まずは容量の大きいファイルの削除(自分はjournal少し消した)

ちなみにもうね、恐らくここまで来るとEBSでボリューム増加しても、その途中のコマンドでコケるんですよ。あまりにも使いすぎてて。なので先にでかいファイル消しときます。

自分はjournalのファイルサイズが400MBくらいでデカかったので消しました。

まぁここは適時判断してください。

$ sudo journalctl --vacuum-size=50M
※これで50MBにできる

参考:Linux環境設定/ジャーナルファイルを削除したい場合・journalctl

EBSボリューム割当

ここまで来てEBSのボリューム割当。

自分は下記を参考にしました。

参考:EC2 EBS ボリュームサイズ拡張のやりかた

Ubuntuの再起動

多分dockerの起動、docker-composeの実行とかでいけるんでしょうが、めんどかったのでOS再起動したらdocker起動してたので良かったです。

$ sudo reboot

参考:Ubuntu-Docker環境のRe:dashが動かなくなったその後に

最後に

まぁ、ディスクフルとかなかなか気づかないよね。

これの恒久対策はredashのDBをRDSとかに移行なんですかね?

みんなこの辺りどうしてますかね?