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


17

FreeBSD 9.0 x64で zfsを使用していますが、かなり満足していますが、圧縮されたサイズではなく、実際のディレクトリを数えるのは難しいと感じています。

確かにディレクトリを歩いてlsですべてのファイルサイズをカウントできますが、その目的のためにduの追加のキーが必要です。

だから、圧縮をオンにしてzfsに配置されたdirのディレクトリサイズをどのように伝えることができますか?

アドバイスを事前にありがとうございます、私は単純に「find ./ -type d -exec ls -l '{}' \; | awk ... '!


4
:いくつかの解決策については、この答えを参照してくださいserverfault.com/questions/254013/file-size-with-zfs-compression
Zanchey

3
重複排除を使用している場合、「実際の」サイズは何だと思いますか?
リャンデンキ

回答:


22

フラグを使用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

本当に良い解決策!そして、最高のそれは「箱から出して」そこにあります!
アレクサンダー

5
ご使用のバージョンにdu-Aオプションがない場合、-Aは「見かけのサイズ」で、これはを介して利用できます--apparent-size。Ubuntu 16.04 / du 8.25には-Aがないようです。そのため、他の誰かがその問題に遭遇する可能性があります。
ジムルーベンシュタイン

11

次の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  .

4
これにポートを使用する理由はありません。基本OS duとその-Aフラグを使用します。
ショーン

10
これは、Linux上のZFSに役立ちます。GNUにdu-Aオプションがありません。
ジャカル

1
LinuxのZFS du--apparent-size、ここで受け入れられたソリューションに関するコメントから:serverfault.com/a/434655/145009
ロブペイズリー

0

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.