Strange delays in ZFS scrub or resilver

John Levine johnl at
Sun Feb 24 04:24:07 UTC 2013

I have a raidz of three 1 TB SATA drives, in USB enclosures.  One of
the disks went bad, so I replaced it last night and it's been
resilvering ever since.  I can watch the activity lights on the disks
and it cranks away for a minute or so, then stops for a minute, then
cranks for a minute, and so forth.  If I do a zpool status while it's
stopped, the zpool waits until the I/O resumes, and a ^T shows it
waiting for zio->io_cv.

I'm running FreeBSD 9.1, amd64 version, totally vanilla install on a
mini-itx box with 4GB of RAM.  The root/swap disk is an SSD separate
from the zfs disks.  When the disks are active, top shows about 10%
system time and 4% interrupt.  When it isn't, top shows about 99.8%
idle.  The server isn't doing much else, and nothing else currently
touches the disks.  (They're for remote backup of a system somewhere
else, and I have the backup job turned off until resilvering

I'm running this on the console, and there are no disk error messages.

Any idea what's going on or how to fix it?  I could move the disks to
an ESATA enclosure if USB is losing interrupts or something.

My recollection is that when I've done a scrub, it does the same thing,
work, pause, work, pause.


More information about the freebsd-questions mailing list