ファイルシステムに 15 GB の記述されていない領域があります。

ファイルシステムに 15 GB の記述されていない領域があります。
[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

関連情報