以前のスナップショットがある場合でも、最新のスナップショットのみをバックアップzfsシステムに送信する方法はありますか?エラーが発生し続けます。
「新しいファイルシステムストリームを受信できません:宛先にスナップショットがあります(たとえば、mirrorpool/ETC/Stuff)上書きするためにそれらを破棄する必要があります」
そして、私はすでに-Fでzfs send receiveを使用していました。
基本的に、スペースが不足していることがわかったため、受信側システムは一連のスナップショットを受信していません。そのため、受信側のzfsファイルシステムで非常に古いスナップショットの束を削除し、最新のスナップショットを残しましたが、zfs送信を実行するzfsシステムには、zfsレシーバーに存在しない最新のスナップショットが多数あります(バックアップサーバ)。しかし、欠落しているすべてのスナップショットを、共通のスナップショットに複製したくありません。最新のスナップショットカップルスナップショットをzfsレシーバーに送信するだけです。
現在、zfsレシーバーには最初に作成されたいくつかのスナップショットがあり、残りは削除され、2018年10月頃の最新のものだけが残りました。そのため、2018年10月以降の毎日のスナップショットをZfs Senderから送信しないようにしたいと思います。システムをzfsレシーバーに送信し、最後のいくつかのスナップショットのみを送信します。
または、ある種の「rsync」タイプのzfs sendがありますか? zfs receiveで、スナップショットを送信せずに2つのデータセットを同期させておくことができますか?
あなたの問題を解析するのが少し難しいですが、次のように機能すると思います。
BoxA:pool/dataset@1,2,3,4,5,6,7,8,9,10
BoxB:pool/dataset@1,2,3
BoxBでスナップショット10を取得したいが、すべての中間スナップショット(4、5、6、7、8、9)を取得したくない。
これが事実であると仮定すると、それは十分に簡単です:
root@BoxA:~# zfs send -Ri pool/dataset@3 pool/dataset@10 | ssh root@BoxB zfs receive pool/dataset
これが完了した後(--小文字-i
ではなく大文字-I
!を使用したことに注意してください)、次の状況になります。
BoxA:pool/dataset@1,2,3,4,5,6,7,8,9,10
BoxB:pool/dataset@1,2,3,10
-R
にzfs send
を指定しているので、pool/dataset/child0
、pool/dataset/child1
など。 (-R
をzfs send
と一緒に使用する場合、すべての子データセットでまったく同じスナップショットを使用できないと、奇妙になることに注意してください。)