it-mure.jp.net

ext3ディスクスペースの問題

先日、ディスク容量が不足しました(この特定のコンピューターではかなり一般的です)。いつものように、私は少しのスペースを復元するためにファイルとディレクトリを削除し始めました。

ただし、今回はファイルシステムから、使用可能なディスク容量がないことが報告されます。

Dfが報告する内容は次のとおりです。

replicant:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md1              687G  672G     0 100% /
tmpfs                 250M     0  250M   0% /lib/init/rw
udev                   10M  716K  9.4M   7% /dev
tmpfs                 250M     0  250M   0% /dev/shm
overflow              1.0M  1.0M     0 100% /tmp

この権利を計算している場合、/で約15GBを使用できるはずです。誰かが私にこれを説明できますか?ファイルシステム上にファイルなどを作成できないため、これを誤って計算するのはdfだけではありません。

Debian5.0でext3を実行しています。

3
Fred Asp

ファイルシステムには、rootユーザーのみが使用できるスペースが予約されています。これはUnix/Linuxシステムではかなり標準的であり、システムの実行を許可するために必要なログファイルやその他のファイルはrootユーザーが所有します。

tune2fsツールを使用して、root用に予約されているスペースの量を照会または調整できます。

実行:

tune2fs -l /dev/md1

現在のパラメータを確認するには、次のような行を探します。

Reserved block count: XXXX

これにより、予約されているブロックの数がわかります。この値を取得し、Block size: YYYY行の値を掛けて、予約済みスペースの量をバイト単位で確認します。

予約済みスペースの量は、次の方法で調整できます。

tune2fs -m 2 /dev/md1

予約済みスペースを2%に設定します。デフォルトは5%です。これらのコマンドは、root経由のrootログインを介して、Sudoとして実行する必要があります。

注:このコマンドを使用するときは注意してください。不適切に使用すると、ファイルシステムが損傷する可能性があります。

4
Mike Insch

スペースが解放されていない他の2つの考えられる理由:

  • 削除したファイルは、まだいくつかのプログラムによって開かれています。プログラムに開いているファイル(記述子)がある限り、ファイルは実際には削除されません(ただし、新しいプログラムでは使用できなくなります)。
  • スペースはすぐに他のファイルでいっぱいになります。たとえば、/ var/log内のログファイルは、大量のメッセージを生成しているプロセスが原因です。出力またはエラーのデバッグ。
1
Jaap Eldering

ルートパーティションのスペースを占めるものを調べる必要があります。最初のステップは次のとおりです。

cd /
du -sk * |sort -n

これは、最大のディレクトリ(おそらく/ homeまたは/ var)を特定するのに役立ちます。次に、最大のディレクトリについて上記を繰り返します。一部のプログラムではファイルが開かれている可能性があるため、何かを削除する場合は、前後のディスク使用量を比較する必要があります。疑わしい場合は、lsofを使用して確認できます。スペースがログファイルによって占有されている場合は、/ etc/logrotate.confを修正して、「/ usr/sbin/logrotate/etc/logrotate.conf」を実行する必要があります。これにより、ログファイルが開かれている可能性のあるプログラムが処理されます。

上記が役に立たない場合。シングルユーザーモードで起動してfsckを実行すると、ファイルシステムが破損している可能性があります。

1
JooMing

かなりばかげているように聞こえますが、ゴミ箱を空にしたことを確認しましたか?

ファイルを削除すると、OSがファイルをゴミ箱に保存することがあります。誤ってファイルを削除した場合に備えて、ゴミ箱を空にするように指示した後でのみ、ファイルを本当に削除できます。

Fsckを実行して、ドライブが破損していないことを確認してください。破損したlost + foundファイルですべてのスペースを占有している可能性があります。

0
akseli