> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss-
> boun...@opensolaris.org] On Behalf Of Paul Kraus
>      Three are two different cases here... resilver to reconstruct
> data from a failed drive and a scrub to pro-actively find bad sectors.
>      The best case situation for the first case (bad drive
> replacement) is a mirrored drive in my experience. In that case only
> the data involved in the failure needs to be read and written. I am

During resilver, all the data in the vdev must be read & reconstructed to
write the new disk.  Notice I said "vdev."  If you have a pool made of a
single vdev, then it means all the data in your pool.  However if you have a
pool made of a million vdev's, then ~ one millionth of the pool must be
read.  If you configured your pool using mirrors instead of raidz, then you
have minimized the size of your vdev's, and maximized the IOPS you're able
to perform *per* vdev.  So mirrors resilver many times faster than raidz,
but still, mirrors in my experience resilver ~ 10x slower than blindly
reading & writing the entire disk serially.  In my experience, hardware raid
resilver takes a couple or a few hours (divide total disk size by total
sustainable throughput), while zfs mirror resilver takes a dozen hours, or a
day or two (lots of random IO).  While raidz takes several days, if not
multiple weeks to resilver.  Of course all this is variable and dependent on
both your data and usage patterns. 

zfs-discuss mailing list

Reply via email to