Amazon Linux2上にホストしていたWordPressサイトが、Disk Fullで落ちた時の対処をChat GPTに相談しながらやってみた

この記事では、WordPressがAmazon EC2のAmazon Linux2で動作していることが紹介されています。ある日、管理画面にアクセスできなくなり、サーバーのログに「No space left on device」というエラーメッセージが表示されました。ログの容量不足を解消するために、dfコマンドやduコマンドを使用してディレクトリの容量を確認し、不要なファイルを削除しました。最終的に、容量を90%まで減らすことに成功しましたが、将来的にはEBSのボリュームを増やすか、EFSに切り替えることを検討する予定です。

広告ここから
広告ここまで

目次

    このサイトのWordPressは、Amazon EC2(Amazon Linux2)で動かしています。基本的にHeadless構成なため、フロントエンド側で落ちることはないのですが、ある日管理画面にアクセスできなくなっていました。

    サーバーのログを見ると、こんなメッセージが残っていました。

    bash: cannot create temp file for here-document: No space left on device
    -bash: cannot create temp file for here-document: No space left on device

    Chat GPTに、ログの内容と対応方法を尋ねてみる

    インフラ方面に明るくないため、Chat GPTに聞いてみました。

    このエラーメッセージ「bash: cannot create temp file for here-document: No space left on device」は、システムの一時的なストレージ領域(通常は/tmpディレクトリにある)がいっぱいであることを示しています。その結果、Bashは一時ファイルを作成できず、ヒアドキュメントなど特定の操作が失敗している状態です。

    容量不足が原因の様子ですね、ディレクトリごとの容量を確認するコマンドを思い出せなかったので、これも尋ねてみました。

    df -hで全体を確認してから、du -hで掘り下げると良さそうです。

    % df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        465M     0  465M   0% /dev
    tmpfs           473M     0  473M   0% /dev/shm
    tmpfs           473M   48M  425M  11% /run
    tmpfs           473M     0  473M   0% /sys/fs/cgroup
    /dev/nvmxxxxxx  8.0G  8.0G   20K 100% /
    tmpfs            95M     0   95M   0% /run/user/9999

    見事に容量がありませんね。duコマンドについてもう少し聞いておきます。

    あとはduコマンドをいくつかのディレクトリで実行して、消すべきファイルの当りをつけていきました。

    最後に画像などのアップロードディレクトリの容量を減らす方法についても聞いてみます。

    便利そうなWP CLIコマンドが出てきましたが、これは幻覚(ハルシネーション)です・・・。media regenerateはサムネイルのリサイズなどを実行するコマンドなので、Chat GPTが書くような用途には使えません。ただしMedia Cleanerプラグインについては問題なく動作しましたので、こちらで画像を減らすことに成功しました。

    整理した結果

    100% -> 90%まで減らすことができました。

    % df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        465M     0  465M   0% /dev
    tmpfs           473M     0  473M   0% /dev/shm
    tmpfs           473M   48M  425M  11% /run
    tmpfs           473M     0  473M   0% /sys/fs/cgroup
    /dev/nvmxxxxxx  8.0G  7.2G  849K  90% /
    tmpfs            95M     0   95M   0% /run/user/9999

    とはいえすぐに容量が尽きるのは見えているので、EBSのボリュームを増やすか、EFSに切り替えることを検討していこうと思います。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark