web-dev-qa-db-ja.com

FreeBSD:圧縮をオンにしてzfsで実際のファイルサイズを知る方法

私はFreeBSD 9.0 x64でzfsを使用していますが、かなり満足していますが、圧縮されたサイズではなく、実際のサイズを数えるのは難しいと思います。

確かに、ディレクトリを調べて、lsですべてのファイルサイズを数えることができますが、その目的のために、duに追加のキーを期待しています。

したがって、圧縮をオンにしてzfsに配置されたdirのディレクトリサイズを確認するにはどうすればよいですか

事前にアドバイスをありがとうございます。「見つける./ -type d -exec ls -l '{}」\がなければ、そのような「単純な」方法はありません。 | awk ... '!

19
Alexander

duとその-Aフラグを使用します。

root@pg78:/usr/local/pgsql/data/base/218204 # du -A -h 221350.219
1.0G    221350.219
root@pg78:/usr/local/pgsql/data/base/218204 # du -h 221350.219
501M    221350.219

とても便利な。 -dでも動作し、再帰的な利点があります。

root@pg78:/usr/local/pgsql/data/base # du -h -c -d0 .
387G    .
387G    total
root@pg78:/usr/local/pgsql/data/base # du  -A -h -c -d0 .
518G    .
518G    total
23
Sean

GNU du(1)のバージョンをインストールできます:

cd /usr/ports/sysutils/coreutils && make install clean

次に、--apparent-size 国旗:

/space# zfs create space/comptest
/space# zfs set compression=on space/comptest
/space# dd if=/dev/zero of=/space/comptest/zerofile bs=1M count=40
/space/comptest# gdu
2K      .
/space/comptest# gdu --apparent-size
40961K  .
13
Zanchey

zpoolコマンドを使用してみてください:

zpool list
NAME      SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
storage  8.93T  6.59T  2.34T         -    60%    73%  2.13x  ONLINE  -

しかし、df -shは結果を表示します(重複排除されたサイズではありません)

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
storage        zfs        16T   14T  1.9T  89% /storage
0
shcherbak