LinuxのZFS:ZFSは同時にスナップショットを送信し、同じデータセットの最新のスナップショットを取得できますか?

LinuxのZFS:ZFSは同時にスナップショットを送信し、同じデータセットの最新のスナップショットを取得できますか?

P本番サーバーとスタンバイサーバーがありますS。どちらもDebianバスターを実行し、オープンZFS/ZoL2.1.0。Pオペレーティングシステム、仮想マシン、およびその他のすべてのデータにZFSストレージを提供する内部ディスクのみがあります。S内部ディスクは同じですが、ホットスワップ(ハードウェア側)が可能で定期的に交換されるバックアップディスクとして使用できる別のZPOOLを含む追加のバックアップディスクがあります。

にはPというプールが1つだけありますrpool。 (Pと同じ)プールと(バックアップディスク上)のS2つのプールがあります。rpoolextpool

では、PZFSデータセットのスナップショットを撮ってSコピーするスクリプトが定期的に実行されます。スクリプトは定期的に実行されてから(または/を介して)スナップショットをコピーします。のスクリプトはまだ同期されていません。つまり、 のスクリプトが から にスナップショットを転送している間、 のスクリプトが にスナップショットをコピーしようとすることができることを意味します。zfs sendzfs receiveSrpoolextpoolzfs sendzfs receivePSPSSrpoolextpool

Pスナップショットを送信しようとするとスクリプトが失敗することがあります。上記のシナリオでこれが起こると思うので、データセットのスナップショットを送信し、同時に同じデータセットの最新のスナップショットを取得することは不可能です。一方、私が別の方法で間違っている場合もあるかもしれませんので、この部分は必ず確認したいと思います。つまり、次のことができるかどうかを知りたいのです。

存在するP

zfs snapshot rpool/dataset1@snapshot1
zfs send -R rpool/dataset1@snapshot1 | ssh S 'zfs receive -F rpool/dataset1'
# Wait some time
zfs snapshot rpool/dataset1@snapshot2

それから同時に

存在するS

zfs send -R rpool/dataset1@snapshot1 | zfs receive -F extpool/dataset1

さらにP:

zfs send -R -I rpool/dataset1@snapshot1 rpool/dataset1@snapshot2 | ssh S 'zfs receive -F rpool/dataset1'

最後の注意:では、Sレプリケーションに関連するすべてのデータセットはロードされません。Sこれらのデータセットの唯一の目的は、新しいスナップショットを受信してP​​内部ディスクに保存し、内部ディスクのすべてのスナップショットを外部バックアップディスクにコピーすることです。

もちろん、唯一の例外は緊急事態です。Pエラーが発生すると、複製されたデータセットは手動でマウントされ、本番S操作に切り替わります。しかし、私が明示的に質問したことは、この状況とまったく関係ありません。

ベストアンサー1

おすすめ記事