[nathanb /mnt/work] sudo du -hs .
23G .
[nathanb /mnt/work] df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 40G 38G 6.4M 100% /mnt/work
残りの15GBはどこにありますか?
/dev/sdb1 on /mnt/work type ext4 (rw,nosuid,nodev,relatime,data=ordered)
コメントに返信するように更新されました。
[nathanb /mnt/work] sudo tune2fs -l /dev/sdb1
tune2fs 1.42.5 (29-Jul-2012)
Last mounted on: /mnt/work
Inode count: 2621440
Block count: 10485752
Reserved block count: 524287
Free blocks: 3955615
Free inodes: 2522921
First block: 0
Block size: 4096
Fragment size: 4096
そして
[nathanb /mnt/work] df -i .
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb1 2621440 29764 2591676 2% /mnt/work
そして
[nathanb /mnt/work] sudo fsck -n /dev/sdb1
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
Warning! /dev/sdb1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sdb1: clean, 98519/2621440 files, 6530137/10485752 blocks
そして
[nathanb /mnt/work] sudo lsof | grep deleted
[nathanb /mnt/work]
/mnt/work の下にマウントポイントがありません。
[nathanb /mnt/work] grep /mnt/work /proc/self/mountinfo
22 19 8:17 / /mnt/work rw,nosuid,nodev,relatime - ext4 /dev/sdb1 rw,data=ordered
まあ、すべてが…再び動作するようです。問題の原因が何であるかわからないように、何が問題を解決したのかもしれません。
[nathanb /mnt/work] df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 40G 22G 16G 59% /mnt/work
複数のNFSクライアントをマウント解除し、ボリュームのマウント解除とfsckingを準備しましたが、すべてマウント解除しませんでした。ところで別のことをして帰ってみると、それが挟まっていないことに気づきました。
迷惑で残念です...問題が何であるかを知っていれば、何人かの人々にスコアを与えることができたらと思います...しかし、すべての助けに感謝します。このようなことが再び発生した場合は、より多くの法医学を試してみましょう。
答え1
ファイルシステムがNFS経由でエクスポートされたことを考慮すると、削除されたファイルが原因である可能性が高くなりますlsof
。/proc/.../fd
;ただし、示されているように、まだディスク容量を占めていますdf
。
この問題を診断するには、各クライアントでlsof
このオプションを実行する必要があります。-N
(クライアントからボリュームをマウント解除した後にスペースを回復したときに発生する遅延については説明しませんが、残りの症状について私が考えるのに最適な説明です。)
答え2
fuser -k -M -m /mnt/work
従う必要があります。警告する!文字通り/mnt/workにアクセスするプロセスを終了します。-TERM
解雇要求も含まれます。
犯人は開いているファイルを削除していましたが、duは見られませんでしたが、dfは見られました。
例えば
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 209M 66M 128M 35% /boot
$ sudo du -sh .
64M .
$ sudo fallocate -l 100M tmp_file
$ ls -lh tmp_file
-rw-r--r-- 1 root root 100M Feb 3 02:24 tmp_file
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 209M 166M 28M 86% /boot
$ sudo du -sh .
164M .
$ exec 20<tmp_file
$ sudo rm tmp_file
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 209M 166M 28M 86% /boot
$ sudo du -sh .
64M .
tmp_file はまだ開いています。閉じると、「df」はアイドル状態を見ることができます。
$ exec 20<&-
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 209M 66M 128M 35% /boot