Folks,

One of my colleagues asked something about the  scrub command, and I'm 
not quite sure as to the right answer.  If I'm reading things correctly, 
scrub doesn't have any way of being interrupted and then continuing.  
That is, if I run 'zfs scrub tank', and then kill it before it 
completes, a subsequent run will start all over again, right?

The reason behind this is that we'd like to investigate writing a daemon 
that does continuous scrub, such that it's smart enough to suspend 
scrubbing when I/O goes above a certain threshold, and then continues 
again where it left off at a later time, and also simply starts again at 
the beginning of the pool once it reaches the end.

The rationalization is that we don't really have a whole lot of time 
where there's very little activity on our pools, but there's a fair 
amount of time where pool activity is well under a moderate utilization 
level. Thus, it would be nice if we could always scrub where utilization 
was (say) 20% or less, and stop anytime else.  The problem for us is 
exacerbated by the type of pools - huge numbers of tiny files, so it 
takes quite a long time to scrub several TB - I think a full, no-load 
scrub is on the order of 12-16 hours.

-- 
Erik Trimble
Java System Support
Mailstop:  usca22-123
Phone:  x17195
Santa Clara, CA
Timezone: US/Pacific (GMT-0800)

Reply via email to