Replace a zpool with minimal downtime
zpool create newpool raidz3 sdX sdY sdZ ....
zfs snapshot livepool@1
zfs send -R livepool@1 | zfs receive -F newpool
<wait for send to complete>
zfs snapshot livepool@2
zfs send -IR livepool@1 livepool@2 | zfs receive -F newpool
<read-only the live pool>
zfs snapshot livepool@3
zfs send -IR livepool@2 livepool@3 | zfs receive -F newpool
zpool export livepool
zpool import livepool livepool.old
zpool export livepool.old
zpool export newpool
zpool import newpool livepool
<good to go>