dfが異なる2つのパーティションの同じデータに対して異なる使用値を表示するのはなぜですか?

dfが異なる2つのパーティションの同じデータに対して異なる使用値を表示するのはなぜですか?

1つのRAIDパーティションから別のRAIDパーティションにいくつかのデータをコピーしました。次の出力を見るとdf

Filesystem      1K-blocks       Used  Available Use% Mounted on
/dev/md127     1921673480 1652707240  171280736  91% /home/chris/mount/raid18t
/dev/md3       2881491232 1652719488 1082329968  61% /home/chris/mount/raid3t

このUsed値は同じではありません(1652707240vs 1652719488)。ただし、du -s *すべてのディレクトリで実行すると同じ値/出力が得られます。

なぜ価値観に違いがあるのですUsedか?

どちらのファイルシステムもext4です。

ベストアンサー1

なぜなら、dfsize on disk報告actual file sizeファイルが同じであっても、基本ファイルシステムブロックが同じであることを意味するわけではありません。

ブロックサイズを考慮してください。8千そしてDisk-1ブロックサイズは4K存在するDisk-2
ファイルの実際のサイズはfoo次のとおりです。11,000

Disk-1/foo2つのブロックを占めます。つまり、2つを使用します。8千=16千。
Disk-2/foo3つのブロックを占めます。つまり、3つを使用します。
4k=12k。

編集する
楽しんで、小さなファイルがたくさんあるディレクトリを選択してください。ls -lファイルサイズの合計を実行して計算します。実際のファイルサイズです。私のLinuxバージョンでは、ファイルサイズは列5にあります。だから私は次のことをします。
ls -l | awk '{ttl=ttl+$5} END {print "Total file size " ttl}'
これはディレクトリ内のファイルサイズの合計を計算します。
次に、ディスク上のセクタ数ls -lsとセクタ総数を一覧表示します。
ls -ls | awk '{ttl=ttl+$1} END {print "Total sector count " ttl}'

私のシステムでブートディレクトリを確認しました。
ls -lsR /boot | awk '{if (($1+0) >0) tt_sec=tt_sec+$1; tt_byt=tt_byt+$6} END {print "Sectors " tt_sec " Bytes " tt_byt}'
セクタ 151,352 バイト 153,894,246
du -xs /boot
151360
df /boot
1-K ブロック: 499656
使用: 151756

この3つの数字の違いを確認しましたか? lsデフォルトでは、サイズはバイト単位で表示されます。
df特に設定しない限り、1Kブロックを報告します。
マイディスク設定には512バイトのセクタがありますfdisk
ls コマンドに隠しファイルとディレクトリを追加すると、
ls -lRsa (…) セクタ 151,504 バイト 154,045,696 が
近づきますが、まだオフになっています。
それでは、何が起こっているのかを見てみましょう。
- 便宜上、コピー済み -
ls -lsRa /boot | awk '{if (($1+0) >0) tt_sec=tt_sec+$1; tt_byt=tt_byt+$6} END {print "Sectors " tt_sec " Bytes " tt_byt}'
セクタ151,504バイト154,045,696
df /boot
1-Kブロック:499656
使用済み:151756
du -xs /boot
151360

echo "Hi" > junk ls -ls junk
4 -rw-r--r-- ScottieHユーザー3ジャンクこの3
バイトファイルは4つのセクタを使用しています。

- サイズ再計算 - ls -lsRa /boot | awk '{if (($1+0) >0) tt_sec=tt_sec+$1; tt_byt=tt_byt+$6} END {print "Sectors " tt_sec " Bytes " tt_byt}'
セクタ 151,508 バイト 154,045,972 <- どのくらい?
du -xs /boot
151364
df /boot
1-K ブロック: 499656
使用: 151760

** この数字はどうなるかをご存知ですか?いいえ合計しますか? **

おすすめ記事