> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss-
> boun...@opensolaris.org] On Behalf Of Giovanni Tirloni
> 
> We've production servers with 9 vdev's (mirrored) doing `zfs send`
> daily to backup servers with with 7 vdev's (each 3-disk raidz1). Some
> backup servers that receive datasets with lots of small files
> (email/web) keep getting worse resilver times.

It's not because of the filesize, but the block size.  Er, slab size.  

When you have a backup server, which does nothing but zfs receive, that's
probably your best case scenario.  Because the data is as nonvolatile as
possible.  But indeed, because all the sends are incremental, fragmentation
will accumulate.  If you want to eliminate it once, but not once and for
all, then you'll have to occasionally do a full receive instead of
incremental.  If you're more than 50% utilized on the receiving pool, you'll
have to zfs destroy or zpool destroy everything on the receiving end prior
to doing the full receive.  (zpool destroy is instant, while zfs destroy
will take a long time).  So you pay something in terms of increased
temporary risk.  Or add enough disks to do a full receive without destroying
first - in which case you pay something in terms of additional hardware.

The advantage of such a thing is - During the moment when you destroy
everything, the resilver will be instantaneously completed.  ;-)


> # zpool list backup
> NAME     SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
> backup  19.0T  18.7T   315G    98%  DEGRADED  -

Woah, boy.  That sure won't help matters.

If you are 98% full, that means there's very little empty space.  And
therefore, everything you receive is going to be forcibly fragmented badly,
as the receiving system searches and scavenges for empty blocks to store the
received information.

I am guessing you didn't build the pool initially 98% full.  I am guessing
you slowly built up to this condition over time.  Which is worse.


> What I cannot explain is why c4t1d0 is doings lots of reads, besides
> the expected reads. 

I don't know the answer to that.  Anybody?
Perhaps the resilvering device is automatically verifying data written to
it, like a scrub, while resilver is in progress?

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

Reply via email to