Slow resilvering with mirrored ZIL

Daniel Kalchev daniel at digsys.bg
Wed Jul 3 14:40:39 UTC 2013


On 03.07.13 16:36, mxb wrote:
> Well, then my question persists - why I get so significant drop of speed while resilvering second drive.
> The only changes to the system are:
>
> 1. Second partition for ZIL to create a mirror
> 2. New disks are 7200rpm. old ones are 5400rpm.
>

I can't see how the ZIL can be involved in resilvering. The ZIL is only 
used when you write synchronous data to the pool, which is not happening 
during resilver. As mentioned already, you do not need ZIL during the 
resilver and you can zpool remove the ZIL drives from your pool to verify.

What is happening during resilver is reading from the other drives in 
the vdev and writing to the new drive. You mention four drives so I 
assume this is an raidz? Is it possible that the old drives and the 
zpool vdev(s) are 512byte sector size and the new drive is 4k sector 
size? If so, you might experience severe slowdown. The only way to fix 
this situation is to recreate the zpool -- copy data out of the pool, 
create the pool with 4k alignment for vdevs and copy data back.

You can check the ashift property in the output of zdb. If ashift=9 you 
have 512 byte sector vdev(s). If ashift=12 you have an 4k sector vdev(s).

In any case, you can easily rule out the effects of ZIL on your pool by 
just removing the log devices.

Daniel


More information about the freebsd-fs mailing list