バックアップファイルとしてリモートシステムに送信されたzfsスナップショット

バックアップファイルとしてリモートシステムに送信されたzfsスナップショット

zfsスナップショットをバックアップファイルとしてリモートシステムに送信したいと思います。たとえば、大容量ストレージがあるネットワークにリモートシステム(Solaris)があり、複数のシステムのrpoolおよび/またはzpoolスナップショットをその場所にバックアップファイルに送信したいとします。送信されたスナップショットをRecvリモートシステムで圧縮した方が良いでしょう。スペースの問題により、ソースシステムのスナップショットを最初に圧縮できません。

zfs recv部分で使用されるコマンド構文/オプションは何ですか?

次の不完全なコマンドで「app@fullsnap-9june22」をリモートシステムにバックアップファイルに送信したいと思います。送信されたスナップショットでは、zpoolをリモートシステムに作成してインストールしたくありません。

sudo zfs send -R app@fullsnap-9june22 |PV| ssh ip アドレス zfs recv ???構文???

答え1

私はあなたの質問を理解できません。シリアライズされた zfs データ・ストリームをそのままキャプチャーする場合 (例えば、テープや大容量のストレージなど)、次のことができます。

# zfs send -R app@fullsnap-9june22 > /big/storage/yousnap.zfs

ファイルには再生可能なzfsストリームが含まれ、ストレージをその場所に転送すると、それをマウントしてキャプチャしたのと同じ方法で再生できます。

# cat /big/storage/yousnap.zfs | zfs recv ...

どんなストレージでも可能です。テープも可能です。このアプローチの問題は、ファイルの単純なエラーが再生可能性を損なう可能性があるため、冗長性を失うことです。

これが、すぐに再生されたストリームがターゲットプールのストレージ冗長性を利用できるように、zfsストリームをプールに直接送受信する理由です。

それとも(複数のマシンで)複数のネストされたzfsプールのレプリカをより大きな「コンセントレータ」プールに保存する方法についてもっと疑問に思いますか?

関連情報