Suppose I currently use rsync to back up an internal drive periodically to an external drive. The external drive is usually stored offsite but is periodically brought over and plugged in via USB and then I manually go through the process of starting the rsync.

I'm new to ZFS but wondering if it would be possible to replace the above process with a setup in which the internal drive and the external drive are both part of a RAIDZ pool, so that as soon as I mount the external drive it starts resilvering. If so, how would resilvering compare to rsyncing in terms of performance? And in general, are there any downsides to such a setup?


You could use re-silvering, but that's a terrible option. The failed drive will remain failed within ZFS until you mark it otherwise, so it's just as manual as your current process. You would have to make the external drive a mirror of the internal drive/array. Re-silvering's priority can not be controlled, so performance will be hit hard during the process.

It would be a better idea to snapshot, then send that snapshot to a file as backup. Restoring is just receive the file again. if you want an exact copy you can send from the snapshot then receive that to the backup drive. Backup is half of the intention of send/receive.

  • Why exactly is resilvering terrible for this? – GJ. Apr 16 '13 at 20:49
  • little more detail added – Chris S Apr 16 '13 at 20:55
  • 3
    ZFS resilvering is usually much slower than using send/receive. Plus with send/receive you can have more snapshots on the external drive than on your internal drive. – longneck Apr 16 '13 at 20:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.