Rocky Linux 9のrootパーティションが99%の使用率を超えているにもかかわらず、`du`コマンドで調べると数GBしか使用されていないという問題に直面している方も少なくありません。このような状況は、システムの隠れた領域やファイルシステムの挙動に関係していることが多いため、この記事ではその原因と解決方法について解説します。
rootパーティションの容量が逼迫する原因
`df -h`コマンドで表示される使用容量が実際のファイルディレクトリの容量と合わない場合、いくつかの原因が考えられます。主な原因としては、以下のものがあります。
- ログファイルやキャッシュファイルの肥大化: システムやアプリケーションによって生成されるログファイルやキャッシュが意図せず容量を占有することがあります。
- 削除されたが未解放のディスクスペース: ファイルを削除しても、プロセスがそのファイルを使用している場合、ディスクスペースは解放されません。この現象は、特に長時間稼働しているサーバーで発生しやすいです。
- inodeの枯渇: ファイルシステムのinodeが不足していると、容量が十分にあっても新たにファイルを作成できなくなり、結果として「容量不足」に見えることがあります。
実際の確認方法と対策
まず、`du`コマンドを使ってファイルシステムの使用状況を確認する方法を紹介します。
1. プロセスが使用している削除ファイルの確認: `lsof`コマンドを使用して、削除されたがプロセスに保持されているファイルを確認します。以下のコマンドで確認できます。
lsof | grep deleted
2. キャッシュとログファイルの確認: キャッシュやログファイルがディスク容量を圧迫していないか確認します。特に、`/var/log`ディレクトリ内のファイルやアプリケーションのキャッシュが問題になることが多いです。
3. inodeの確認: `df -i`コマンドでinodeの使用状況を確認し、inodeが枯渇していないかチェックします。
特定の領域を確認する方法
具体的に容量を占めている場所を特定するために、`du`コマンドのオプションを活用しましょう。
1. ディレクトリごとのサイズ確認: 以下のコマンドで、ディレクトリごとの容量を細かく確認できます。
du -ah / | sort -rh | head -n 20
これにより、最も容量を消費しているファイルやディレクトリを特定することができます。
対処方法と実行するべきアクション
容量不足を解消するために、以下の対策を検討します。
- 不要なログの削除: システムやアプリケーションのログが不要であれば、定期的に削除するか、ローテーションを設定して管理します。
- キャッシュの削除: 不要なキャッシュを削除することで、空き容量を確保できます。特にWebサーバーやパッケージマネージャーのキャッシュが問題になることがあります。
- バックアップを行ってからファイルシステムの拡張: もし、容量の追加が必要であれば、バックアップを取った後、ファイルシステムの拡張を検討します。
まとめ
Rocky Linux 9のrootパーティションが99%の使用率を超えているが、`du`コマンドで使用容量が少ない場合、削除されたファイルがプロセスによって保持されていることや、ログファイル、キャッシュファイルが容量を占めている可能性があります。また、inodeが不足している場合もあるため、`df -i`で確認することが重要です。問題が特定できたら、不要なファイルを削除するか、必要に応じてファイルシステムを拡張することで解決できます。


コメント