Resumable ZFS Send Streams

New in Oracle Solaris 11.4, is the ability to resume zfs send streams if a network transmission is interrupted or an error occurs, Basically, zfs send streams can be restarted where they left off once network connectivity has been reestablished.

Using zfs send and zfs receive to transfer ZFS snapshots across systems is a convenient way to replicate ZFS file system data previously suffering from the following issues:

  • A zfs send operation could take many hours or days to complete. During that time, the zfs send operation could be interrupted by a network outage or a system failure.
  • If the zfs send operation fails to complete, even if it is almost complete, it must be restarted from the beginning.
  • The zfs send operation might be unable to transfer large streams in the window between interruptions.
  • A zfs receive operation might be unable to detect and report transmission errors until the entire stream has been processed.

With this new Solaris 11.4 release these features now provides a way for zfs send streams to be resumed at the point they were interrupted with the following new options:

  • zfs receive -C — Writes a receive checkpoint to stdout.
  • zfs send -C — Reads a receive checkpoint from stdin.
  • zfs send -s (nocheck) — Disables the new on-the-wire format.
  • zfs list -I (state) — Recursively displays incomplete datasets as incomplete datasets are not displayed by default.

For more information, see Managing ZFS File Systems in Oracle Solaris 11.4.

Read the entire article on the upcoming features in Oracle Solaris 11.4 (PDF).