LVM2でRHEL4を使用しています。 GBを超える大容量ファイルを削除しても、df
このコマンドを使用するとパーティションサイズが更新されないことがあります。
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sys-root 3.9G 1.4G 2.3G 39% /
/dev/cciss/c0d0p1 251M 19M 219M 8% /boot
/dev/mapper/sys-home 250G 125G 113G 53% /home
/dev/mapper/sys-tmp 3.9G 41M 3.7G 2% /tmp
/dev/mapper/sys-var 3.9G 3.6G 98M 98% /var
しかし、duを使用して確認すると、正しいサイズが表示されます。
-bash-3.00$ sudo du -sh /var/
179M /var/
df 出力では、/var パーティションは 3.6Gb を使用したものとしてマークされますが、du では 179Mb に過ぎません。
これで問題は、syncとpartprobeの両方で情報を更新していないことです。ただし、ホストを再起動すると問題は確実に解決されます。ただし、本番サーバーなので再起動できません。ホストを再起動せずにディスク情報を手動で更新する方法はありますか?
ベストアンサー1
ファイルが削除/削除/リンク解除されてもプロセスが開いている場合は、ファイルのデータではなくファイルのディレクトリエントリのみが削除されます。すべてのプロセスでファイルが完全に閉じられると、データは空き領域プールに返されます。これは匿名ファイルを持つことができるので、これが特徴です。
ファイルシステムに開いて削除されたファイルがあるかどうかを確認するには、/mount/point
マウントポイントがどこにあるか(/var
あなたの場合)、次のいずれかのコマンドを実行します。
lsof +L1 /mount/point
これリンクされていないファイルを開くに関する記事これについてさらに説明するのに役立ちます。