ホストを再起動せずにディスクの空き容量を更新する

ホストを再起動せずにディスクの空き容量を更新する

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

これリンクされていないファイルを開くに関する記事これについてさらに説明するのに役立ちます。

おすすめ記事