Linux ディスクがいっぱいになる問題については、パネルのバックグラウンドで Web サイトのログが有効になっていたため、WDCP パネルを使用しているときに以前にこの問題に遭遇しましたが、長期的にはログが定期的に削除されず、ディスク容量が不足していました。 VPS ホストがログでいっぱいになりました。ディスク容量が 100% に達すると、バックグラウンドでログインできない、コメントできない、ページが空白になるなど、Web サイトで不可解なエラーが発生します。

しかし、最近、ネットワーク監視プラットフォーム ping.wzfou.com をメンテナンスしていたときに、ディスク領域がまだたくさんあるにもかかわらず、「デバイスに空き領域がありません」エラーがログに報告されていることがわかりました。調査の結果、Linux ディスクの i ノードが使い果たされ、Web サイトが新しいデータの書き込みを続行できなくなり、最終的にバックグラウンドでの Smokeping が正常に実行されず、レポートが表示されなくなったことが判明しました。

ディスク領域であっても、ディスク i ノード領域であっても、占有されている限り、Web サイトが不安定になります。場合によっては、これを疑わずに、他の問題を探すこともあります。ディスクがいっぱいになる最も深刻な状況では、S#S¥H にアクセスできなくなる可能性があります。このとき、VPS パネルからディスク容量を解放するための関連操作を実行する必要があります。

Linux システムのディスク容量がいっぱいです - デバイスに空き容量がありませんエラーの解決策

この記事では、Linux システムのディスク領域がいっぱいであるという問題の解決策を共有します。主な目的は、将来の緊急事態に備えて、ディスク領域検索コマンドの使用方法を記録することです。 Linux コマンドを使用するその他の方法については、以下を参照してください。

  1. 3 つのコマンド ツール Rsync、SCP、Tar-quick ソリューションによる VPS リモート Web サイトの再配置とデータ同期
  2. Linux システム監視コマンドの概要 - パフォーマンスのボトルネックを見つけるためのマスター CPU、メモリ、ディスク IO など
  3. Linux Crontab コマンド スケジュールタスク 基本構文と操作チュートリアル - VPS/サーバー自動化

追記: 2019 年 2 月 22 日更新、 ディスク容量が枯渇しそうになったら、ハードディスクの拡張を検討してください: Linux VPS ホストのハードディスク拡張方法 - VPS の新しいハードディスク パーティションのマウントとハードディスクダイナミクス拡張。

1. ディスク容量が 100% 占有される問題を解決する

1.1  現在の残りのディスク容量を確認する

コマンド: df -h。このコマンドを使用して、現在の VPS ホストにどれだけのディスク領域が残っているかを確認します。占有領域が 90% を超えている場合は、領域をクリーンアップする必要があります。

2. ディスク i ノードが 100% を占有する問題を解決する

2.1  i ノードの占有ステータスを確認する

ハードディスクがフォーマットされると、オペレーティング システムは自動的にハードディスクを 2 つの領域に分割します。 1 つはファイル データを格納するデータ領域で、もう 1 つは i ノードに含まれる情報を格納する i ノード領域 (inode テーブル) です。各 inode ノードのサイズは通常 128 バイトまたは 256 バイトです。 i ノードとデータ ストレージの対応関係は次のとおりです。

コマンド df -ia を使用して、現在の i ノード占有率をクエリします。

2.2  i ノード占有率が大きいディレクトリを見つける

次のコマンドを使用して、現在のディレクトリ内の各フォルダーが占める i ノードを計算します。


#当前各大文件夹占用inode情况
for i in /var/*; do echo $i; find $i |wc -l; done
#排序
sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

上記のコマンドを複数回使用して、大きな i ノードを占有する特定のディレクトリを見つけてから、上記の方法を使用してファイルまたはフォルダーを削除します。

3. まとめ

一般に、プログラムが大量のログを生成しない限り、inode を使い切ることはできません。たとえば、今回 wzfou.com が遭遇した問題は、/var/spool/postfix/maildrop/ に大量のファイルがあることです。これは通常、postfix が実行できないためです。もちろん、sendmail や postfix が正常に動作していれば、/var/mail ディレクトリには大量のメールが蓄積されます。

sendmail または postfix を使用しない場合は、それらを直接削除またはアンインストールすることをお勧めします。

apt-get remove sendmail*
yum remove sendmail
或者
yum remove postfix
sudo apt-get remove postfix
sudo apt-get remove --auto-remove postfix

一部の友人は、スクリプトを使用して VPS ホストの i ノードの使用状況を監視できると考えていました。実際、以前に紹介した Zabbix はサーバーの i ノードの監視を実現できます。詳細については、「Zabbix のインストールと使用 - 強力なサーバー パフォーマンス監視ツール」を参照してください。サーバーのソフトウェアとハ​​ードウェアのリソースを制御します。

返信を残す