テープからZFSスナップショットを読み取るのが遅い


1

使用して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


1
テープから生の読み取りのみを行うとどうなりますか? (例えばファイルへのddだけ)。それが速い場合は、あなたが削除するとどうなりますか pv パイプから?ものを小さくてテスト可能な部分に分解するためだけに。
Hennes

@Hennes提案をありがとう!私はちょうどそれを両方の方法で試しました(生 dd ありとなし pv 結果は元のケースと同じでした。
chew socks

2
それが事実であるかどうか私は知りませんが、あなたは使用します pigz 圧縮して gzip 解凍します。前者は多くのCPUコアを利用できます。 man pigz 「解凍は並列化できない」と言っています。多分それはあなたのボトルネックです。書き込みと読み取りの両方でCPU使用率を確認してください。最初のコマンドと比較して pigz に置き換えられます gzip。私が推測するだけなので、それは答えではありません(まだ)。
Kamil Maciorowski

@ KamilMaciorowskiそのとおりですが、それ以外は潜在的なボトルネックになります。 gzip 解凍は圧縮よりはるかに高速です。しかし、Hannesの提案に従うことで、圧縮プログラムをテストから切り離すことができます。
chew socks

1
@MichaelKjörling私は奇妙な結果を得ました。 dd if=/dev/nst0 bs=1M | pv > /dev/null テープの先頭で50 MiB / s、その直後の領域で36 MiB / sが発生しました。これは同じデータですが、暗号化できないように暗号化されています。
chew socks

回答:


1

私は同様の問題を抱えています。 1)両方のテストに同じテープを使用していますか?

LTOテープでこの情報を見つけるのに時間がかかったので、長い答えを出すようにします。 これは、OracleによってホストされているIBMによるドライブ/テープ照会に関する優れた参考文献の1つです。 GA32-0450-07

私の答え:いくつかのLTOテープは 新旧 (新品でかなり前の数年前に作られましたが、使われたことはありません) 再再認定 または 新品悪い (新品であるが輸送/保管中に適切に保管されていない)。また、特定のベンダは再認証について言及せず、単に新しいテープとして宣伝するかもしれません。

富士通 再認証された50本のテープを試してみましたが、そのうちの16本は「不適切な取り扱いや位置ずれのあるテープドライブによる過度の摩耗やエッジの損傷が原因で、許容できないほど高い読み取り、書き込み、およびサーボエラー率でした」。

テープの読み書きエラー数または読み書きエラー数を確認するには、次のコマンドを使用します。 sg_logs -a /dev/st0 そしてセクション30hを見てください。有用な情報がたくさん出力されます。

私はそれがテープ上のRFIDチップを上書きすることが可能であると信じています、それはすべての情報がログであるということです。しかし、もしあなたが バーンイン きみの 新しい? テープ(フルテープの書き込み/読み取り)をチェックしてから元に戻します( sg_logs )エラーがあります、あなたはあなたのテープが良い形ではないことを知っています。

新しいテープのヒント:単一の大きなランダムファイルをLTOテープのサイズにしてチェックサムする sha512それをテープに書き込み、テープから読み戻し、チェックサムがまだ問題ないかどうかを確認し、そして読み取り/書き込み速度を調べます。前後のドライブ/テープのエラーログを比較します。忘れずに mbuffer !すべて問題なければ、テープを本番に入れてもかまいません。焼き込みは新しいHDで使用されます。blackblazeとその焼き込みの定義を確認してください。

これらの数を監視します(から sg_logs )テープのエラーが多い場合は、書き込まれた合計データ/ tapesize> 250または3000に近い負荷数で置き換えます。

それでもデータのコピーを残すことができますが、私のものの特定の古いテープ(used-ebay)は5-30MB / sでしか読み返さないでしょう。しかし、まだうまくいっている、ちょっと、彼らがまだ読めるかどうか見るために20-30年以内にそれらをチェックしなければならないでしょう。 LTOテープはリードソロモン符号化されているため、ある程度のエラーを修復することが可能です。中古テープの中には、広範囲に使用されているバックアップライブラリから入手したものもあり、週に1回または1日に数年間書き込まれている場合があるので、データを信頼できることを確認してください。ミッションクリティカルなバックアップを行う場合は、HPまたは他の公式ベンダーから直接入手しないでください。それが単なるカジュアルなもので、あなたがそれを異なる安価なテープに数回複製させることができるならば、中古のLTOテープは$$$を節約する価値があるかもしれません。それでも、毎日または毎週のバックアップが必要な場合は、 本当に新しい テープ。

LTOの平均余命 HPe : 「公式テキストによると、「Ultriumメディアは100万パスまたは260回のフルバックアップが認定されており、30年間のアーカイブ保存期間があります。」

そうは言っても、メディアエラーが発生する前に、1日のバックアップのほぼ1年間、1本のテープを使用できるようにする必要があると思われます。」

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