[zfs-discuss] raidz1 or raidz2

Gordan Bobic gordan.bobic at gmail.com
Tue Nov 6 12:08:54 EST 2012

On 11/06/2012 04:57 PM, Nyamul Hassan wrote:
> On Tue, Nov 6, 2012 at 8:38 PM, Gordan Bobic <gordan.bobic at gmail.com
> <mailto:gordan.bobic at gmail.com>> wrote:
>     I don't see how that is relevant when you might have GBs of RAM and
>     TBs of data to resilver. Since ALL the data has to be read during
>     the process I wouldn't expect the amount of RAM to make that
>     substantial a difference.
>     Gordan
> Hypothetically, if you already had the rebuild data readily available as
> a single contiguous file, then you could write that into a new disk at
> the maximum sequential write allowed by that HDD model and bus speed
> (around 100 MB/s on Sata II on commodity HDDs).
> But, because the data is not there, and have to be "rebuilt", isn't that
> done by the CPU in case of ZFS since it is entirely a software based
> RAID?  So, if we've got "n" drives ready to provide the data upon which
> the calculation would have to be done, so read speeds would be much much
> higher than the write on the single new HDD.
> With this thinking, I would think that CPU / RAM would be needed to read
> chunks, recalculate and write.
> Perhaps I've got something wrong.

ZFS doesn't rebuild in LBA order. In most cases you are IOPS limited. On 
a 7200rpm disk you'll get about 120 IOPS/disk. Even assuming all your 
blocks are the maximum 128KB in size, that is 15MB/s. In reality, a lot 
of them will be much, much smaller. With 4KB blocks, it'll be more like 
480KB/s. You are not going to get CPU limited at that kind of throughput.


More information about the zfs-discuss mailing list