Online / real-time / synchronous pool replication
Goal of this feature request is to be able to replicate a ZFS source pool to a remote target pool, through a network link.
Target pool would be a 1:1 copy of the source pool (source and target pool would contain the same data).
Replication would be real-time / synchronous : each time a transition is written to the source pool, the same transaction is written to the destination pool, acknowledgement is then given to application once both side have written.
We could have a semi-synchronous replication : acknowledgement is given to application once remote side has received the transaction.
And we could have asynchronous replication.
The most interesting mode is synchronous (and semi-synchronous to save some latency ?), as asynchronous replication can approximatively be simulated using ZFS send/receive.
Of course if target pool disconnects, writes can still be performed on source pool without impacting the application, and once target pool is available again, replication re-starts where it stopped.
And what about maintenance operations on target pool, such as scrubbing, disk resilvering... ?
sounds like target pool should have to be accessible (on target server) to be able to perform such operations.
Thank you very much !