使用してzfsスナップショットをテープにバックアップしました。
zfs send tank/vertex@2017-01-20 | pv -cCTrbB 1g | pigz -c | pv -cCTrbB 1g | dd of=/dev/nst0 bs=1M
そしてそれを使って読み返す
dd if=/dev/nst0 bs=1M | pv -c | gzip -dc | ztreamdump
そしてそれはの最高速度で進歩している 39 MiB/s
、それははるかに遅いです 77 MiB/s
またはそれが書いたように。
編集:私はちょうどテープをいっぱいにしてみた dd if=/dev/urandom of=/dev/nst0 bs=1M count=1k
それからそれを読み返すことができた 99 MiB/s
。
dd
ありとなし pv
結果は元のケースと同じでした。
pigz
圧縮して gzip
解凍します。前者は多くのCPUコアを利用できます。 man pigz
「解凍は並列化できない」と言っています。多分それはあなたのボトルネックです。書き込みと読み取りの両方でCPU使用率を確認してください。最初のコマンドと比較して pigz
に置き換えられます gzip
。私が推測するだけなので、それは答えではありません(まだ)。
gzip
解凍は圧縮よりはるかに高速です。しかし、Hannesの提案に従うことで、圧縮プログラムをテストから切り離すことができます。
dd if=/dev/nst0 bs=1M | pv > /dev/null
テープの先頭で50 MiB / s、その直後の領域で36 MiB / sが発生しました。これは同じデータですが、暗号化できないように暗号化されています。
pv
パイプから?ものを小さくてテスト可能な部分に分解するためだけに。