🚨 突然ディスク容量がいっぱいになったら!Linux緊急対処ガイド

サーバーを運用していると、ある日突然「Disk full」という恐ろしい警告に直面することがあります。😱 サービスが停止したり、システムが遅くなったりするなど、深刻な問題につながる可能性があります。

今日は、このような緊急事態で冷静にディスク容量を確保するための3段階の応急処置方法をご紹介します!


STEP 1: 🩺 ディスク状態の確認: 全体容量をチェック

まず、どのパーティション(ディスクスペース)がいっぱいになっているかを確認する必要があります。まるで医者が患者の状態を診断するようなものです。このときに使用するコマンドは df -h です。

  • df: disk freeの略で、ファイルシステムのディスクスペース使用状況を表示します。
  • -h: human-readableの略で、容量を人間が読みやすい単位(GB、MB)で表示します。
df -h

コマンドを実行すると、以下のような画面が表示されます。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   49G  500M  98% /
udev             16G     0   16G   0% /dev
tmpfs           3.2G  1.2M  3.2G   1% /run
...

ここで注目すべきは、Use% と Mounted on の列です。

  • Use%: ディスク使用率をパーセンテージで表示します。例では、/dev/sda1 ファイルシステムが 98% も使用されており、ほぼ満杯の状態であることがわかります。🚩
  • Mounted on: そのファイルシステムがマウントされているディレクトリパスです。例ではルートディレクトリの / です。今後、私たちはこのパスを中心に問題を解決していきます。

STEP 2: 🕵️‍♂️ 犯人探し: 最大のファイルを見つける

どのパーティションに問題があるかがわかったので、そのスペースを占めている「犯人」、つまり最も容量の大きいファイルを見つけ出す番です。

以下のコマンドは、指定されたパス(Mounted on パス)で最も大きいファイルを1つだけ見つけて出力します。

# '/path/to/nearly-full-filesystem' の部分を、上で確認した 'Mounted on' パスに置き換えてください。
# 例: find / -type f -printf '%s %p
' | sort -rn | head -n 1

find /path/to/nearly-full-filesystem -type f -printf '%s %p
' | sort -rn | head -n 1

このコマンドは少し複雑に見えますが、各部分の役割は簡単です。

  • find /パス: 特定のパスから検索を開始します。
  • -type f: ディレクトリを除外し、「ファイル」のみを探します。
  • -printf ‘%s %p

‘: ファイルサイズ(バイト)とファイルパスを一緒に出力します。

  • | (パイプ): 左側のコマンドの結果を右側のコマンドの入力として渡します。
  • sort -rn: 受け取ったリストを数値サイズ(n)の逆順(r)でソートします。(最も大きいファイルが一番上に!)
  • head -n 1: ソートされたリストの先頭から最初の1行だけを表示します。

このコマンドを実行すると、以下のように最も大きいファイルのサイズとフルパスが表示されます。

15032385536 /var/log/some_huge_log_file.log

ついに犯人を見つけました!🕵️‍♀️


STEP 3: 🗑️ 問題解決: 巨大ファイルを削除する

犯人を見つけたので、処理する時間です。rm コマンドを使用して該当ファイルを削除します。

⚠️ 非常に重要! ⚠️ 削除する前に、そのファイルが本当に不要なファイルであるかを必ず確認してください。システム運用に不可欠なファイルを削除すると、取り返しのつかない問題が発生する可能性があります。主に古いログファイル、不要なバックアップファイル、一時ファイルなどが削除の対象となります。

# '/path/to/largest_file' の部分を、STEP 2で見つけた実際のファイルパスに置き換えてください。
# 例: rm /var/log/some_huge_log_file.log

rm /path/to/largest_file

コマンドを実行するとファイルが削除され、その分のディスクスペースが確保されます。


✅ 結果確認: 容量が確保されたかチェック!

最後に、再度 df -h コマンドを実行して、容量が正常に確保されたかを確認してください。

df -h

Use%が大幅に減少しているのを見ると、心の平和が訪れるでしょう。😊

これでサーバーは再びスムーズに動作できるようになりました。今後は定期的にディスク容量を確認する習慣を身につけて、このような緊急事態を予防するのが良いでしょう?



Comments

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です