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