On Mar 14, 2010, at 11:25 PM, Tonmaus wrote:
> Hello again,
> 
> I am still concerned if my points are being well taken.
> 
>> If you are concerned that a
>> single 200TB pool would take a long
>> time to scrub, then use more pools and scrub in
>> parallel.
> 
> The main concern is not scrub time. Scrub time could be weeks if scrub just 
> would behave. You may imagine that there are applications where segmentation 
> is a pain point, too.

I agree.

>> The scrub will queue no more
>> han 10 I/Os at one time to a device, so devices which
>> can handle concurrent I/O
>> are not consumed entirely by scrub I/O. This could be
>> tuned lower, but your storage 
>> is slow and *any* I/O activity will be noticed.
> 
> There are a couple of things I maybe don't understand, then.
> 
> - zpool iostat is reporting more than 1k of outputs while scrub

ok

> - throughput is as high as can be until maxing out CPU

You would rather your CPU be idle?  What use is an idle CPU, besides wasting 
energy :-)?

> - nominal I/O capacity of a single device is still around 90, how can 10 I/Os 
> already bring down payload

90 IOPS is approximately the worst-case rate for a 7,200 rpm disk for a small, 
random
workload. ZFS tends to write sequentially, so "random writes" tend to become 
"sequential
writes" on ZFS. So it is quite common to see scrub workloads with >> 90 IOPS.

> - scrubbing the same pool, configured as raidz1 didn't max out CPU which is 
> no surprise (haha, slow storage...) the notable part is that it didn't slow 
> down payload that much either.

raidz creates more, smaller writes than a mirror or simple stripe. If the disks 
are slow,
then the IOPS will be lower and the scrub takes longer, but the I/O scheduler 
can
manage the queue better (disks are slower).

> - scrub is obviously fine with data added or deleted during a pass. So, it 
> could be possible to pause and resume a pass, couldn't it?

You can start or stop scrubs, there no resume directive.   There are several
bugs/RFEs along these lines, something like:
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6743992

> My conclusion from these observations is that not only disk speed counts 
> here, but other bottlenecks may strike as well. Solving the issue by the 
> wallet is one way, solving it by configuration of parameters is another. So, 
> is there a lever for scrub I/O prio, or not? Is there a possibility to pause 
> scrub passed and resume?

Scrub is already the lowest priority.  Would you like it to be lower?
I think the issue is more related to which queue is being managed by
the ZFS priority scheduler rather than the lack of scheduling priority.
 -- richard

ZFS storage and performance consulting at http://www.RichardElling.com
ZFS training on deduplication, NexentaStor, and NAS performance
Atlanta, March 16-18, 2010 http://nexenta-atlanta.eventbrite.com 
Las Vegas, April 29-30, 2010 http://nexenta-vegas.eventbrite.com 




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

Reply via email to