Linuxコマンド「df」と「du」の結果が異なるのはなぜですか?
環境
- ONTAP 9
- NFS
- トライデント
回答
du
ターゲットを確認し、各オブジェクトのスペース使用量をカウントします。- ターゲットには、ディレクトリ、サブディレクトリ、ファイル、またはファイルシステム全体を指定できます。
df
ファイルシステムに現在のスペース使用量を照会- ストレージシステムが有効にしたボリューム効率化
例:
[root@user1]# df -Ph | grep DB
192.xxx.xxx.xxx:/vol1 12T 784G 12T 7% /DB
[root@user1]# du -sh /DB/
2.7T /DB
DF
/vol/vol1/ 12884901888 847244892 12037656996 7% /vol/vol1/
/vol/vol1/.snapshot 0 0 0 0% /vol/vol1.snapshot
DF -S
Filesystem used total-saved %total-saved deduplicated %deduplicated compressed %compressed vbn zero %vbn zero
/vol/vol1/ 847244892 2560004340 75% 1515678176 44% 1044326164 31% 726488260 21%
追加情報
例:
使用可能なスペースよりも大きいファイルをコピーする場合、ファイルシステムでは、スパースファイルの手法またはオーバープロビジョニングを使用して、最初にコピーを続行できる可能性があります。ただし、実際の物理スペースが不足すると、コピー処理は失敗します。それにもかかわらず、ファイルシステムがファイルの論理サイズ(疎領域を含む)を報告する場合があり、物理容量よりも多くのデータが保存されているように見えます。
- コピー操作: 2GBディスクへの7GBファイルのコピーを開始します。
- スパースファイル処理:ファイルシステムは、ゼロ以外のデータブロックを書き込み、ゼロブロックをスキップして、最初はコピーを続行できるようにします。
- 障害ポイント:実際の2GBの物理スペースが不足すると、コピー処理は失敗します。
- ディスク使用状況レポート: du-sh は、物理容量を超える可能性のあるスパース領域を含むファイルの論理サイズを表示します。 df は、実際に使用されている物理スペース(2GBのまま)を表示します。
- du-sh:このコマンドは、ファイルおよびディレクトリの実際のディスク使用量を表示します。これには、スパースファイルが完全に割り当てられたかのように使用されるスペースが含まれます。これにより、実際に使用可能なスペースよりも多くのスペースが使用されているように見える可能性があります。
- df:このコマンドは、ファイルシステム上の使用可能なディスクスペースと使用済みディスクスペースを表示します。実際に使用されている物理スペースが報告されます。 スパースファイルが存在する場合は、DUで報告されるスペースよりも少ない可能性があります。