ZFSファイルサーバーにLTOテープベースのバックアップシステムを実装するための最良の方法は何でしょうか。既存のHP1840 LTO4テープドライブと多数のテープに加えて、毎日バックアップする必要のある約6TBがあります。
私はすでにZFSに毎日自動スナップショットを実行させていますが、これにオフラインストレージのレイヤーを追加したいと思います。理想的には、結果として得られるシステムは、ある種の父/息子ローテーションシステムを実装するので、私は過去2週間の毎日の差分テープと毎週の完全バックアップを持っています。
周りを読んで、これを達成するためにzfs send/dd/tarの組み合わせを使用している人がいるのを見てきましたが、これをどのように実装する必要があるのか正確にはわかりません。
更新
2つの異なるスナップショット間で増分を送信すると思われるzfs send -i
について読んだばかりです。この演習全体でいくつかのスクリプトを作成できるのではないかと心配していましたが、diffバックアップタスクが少し簡単になるはずです。ただし、スクリプトを介してテープの変更を処理する方法はまだわかりません。
ZFSベストプラクティスガイド、特にセクション ZFSデータの保存 をご覧ください。テープバックアップはスナップショットのバックアップには理想的ではないと思います。テープバックアップシステムに、ZFSファイルシステム自体をバックアップし、.zfsスナップショットディレクトリを無視するように指示することをお勧めします。重要なのは、ZFSファイルシステムのすべての属性を理解するソフトウェアが必要なことです。そのためにBaculaをお勧めします。
zfs send
は、データをテープに送信するためではなく、あるZFSシステムから別のシステムにデータを複製するためのものです。
最善の策は、スナップショット自体ではなく、ZFSスナップショットのcontentsをテープに(たとえば、tar
経由で)送信することです。ライブファイルシステムのテープへの書き込みを容易にするためにLVMスナップショットを利用することはかなり一般的であるように思われ、ほとんど同じ方法で、代わりにZFSスナップショットを利用すべきではない理由はわかりません。お気づきのとおり、スナップショットを使用すると、バックアッププロセス中にファイルが変更されるリスクが本質的になくなります。
LVMスナップショットに対するZFSスナップショットの利点の1つは、パフォーマンスを大幅に低下させることなく、後でZFSスナップショットを保持できることです。 (対照的に、LVMスナップショットの内容をテープにバックアップした後に削除するのが一般的です。)