Unix は私の母国語ではないので、ファイルシステムの概念に混乱しています。
空き容量を確認すると、次のようになります。
/$ df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 7.1G 397M 95% /
none 3.7G 120K 3.7G 1% /dev
none 3.7G 4.0K 3.7G 1% /dev/shm
none 3.7G 48K 3.7G 1% /var/run
none 3.7G 0 3.7G 0% /var/lock
/dev/xvdf 100G 19G 82G 19% /db
/dev/xvdg 100G 15G 86G 15% /images
/dev/xvdb 414G 199M 393G 1% /mnt
これは、/db の下にあるすべてのファイルとディレクトリがファイルシステム xvdf 上にあり、/images の下にあるすべてのものが xvdg 上にあり、/mnt の下にあるすべてのものが xvdb 上にあることを意味します。その他はすべて xvda1 上にあります。
しかし、xvda1には7.9Gのスペースしかありません。ではなぜ
/$ sudo du -sh var
25G var
/var が 25G を占有していることがわかりますか? 最初は、シンボリック リンクの宛先のコンテンツをカウントしているのではないかと思いましたが、いくつかのディレクトリの下に /images ディレクトリへのシンボリック リンクがあり、そのコンテンツは 86G であるため、シンボリック リンクをたどると var は 86G を超えるはずです。
では、7.9G しかないドライブで /var が 25G を占めるのはなぜでしょうか?
ちなみに、これは Amazon の EC2 で実行されている Ubuntu インスタンスです。
答え1
これにより、あなたの問題に対する適切な答えが得られます。
du -ch --max-depth=1 -x /var
-x
1つのファイルシステムのデータ使用量のみを表示し、/varディレクトリから他のファイルシステムのコンテンツをスキップします。
--max-depth=1
最初のレベルのデータ使用量のみを表示します。例: /var/a /var/b など
答え2
dfの出力から、
/dev/xvdg 100G 15G 86G 15% /イメージ
/images では 15G のみが使用されました。
答え3
var
他のファイル システムへのシンボリック リンクではないことを確認してください。
/$ ls -ld var
drwxr-xr-x 14 root root 4096 Jun 22 02:13 var
答え4
fsck
不一致を修正するために実行する必要がある可能性もあります。
完全を期すために言及しただけですが、それでも他の何かの可能性が高いと思います。しばらく経ってもまだ何も見つからない場合は、これを試してみてください。