> From: Richard Elling [mailto:richard.ell...@gmail.com]
> 
> > This is one of the reasons the raidzN resilver code is inefficient.
> > Since you end up waiting for the slowest seek time of any one disk in
> > the vdev, and when that's done, the amount of data you were able to
> > process was at most 128K.  Rinse and repeat.
> 
> How is this different than all other RAID implementations?

Hardware raid has the disadvantage that it must resilver the whole disk
regardless of how much of the disk is used.  Hardware raid has the advantage
that it will resilver sequentially, so despite the fact that it resilvers
unused space, it is limited by sustainable throughput instead of random seek
time.  The resilver time for hardware raid is a constant regardless of what
the OS has done with the disks over time (neglecting system usage during
resilver.)

If your ZFS vdev is significantly full, with data that was written, and
snapshotted, and rewritten, and snapshots destroyed, etc etc etc ... Typical
usage for a system that has been in production for a while ... then the time
to resilver the whole disk block-by-block will be lower than the time to
resilver the used portions in order of allocation time.  This is why
sometimes the ZFS resilver time for a raidzN can be higher than the time to
resilver a similar hardware raid.  As evidenced by the frequent comments &
complaints on this list about raidzN resilver time.

Let's crunch some really quick numbers here.  Suppose a 6Gbit/sec sas/sata
bus, with 6 disks in a raid-5.  Each disk is 1TB, 1000G, and each disk is
capable of sustaining 1 Gbit/sec sequential operations.  These are typical
measurements for systems I use.  Then 1000G = 8000Gbit.  It will take 8000
sec to resilver = 133min.  So whenever people have resilver times longer
than that ... It's because ZFS resilver code for raidzN is inefficient.

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to