Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Jul 2013 17:40:34 +0300
From:      Daniel Kalchev <daniel@digsys.bg>
To:        mxb <mxb@alumni.chalmers.se>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: Slow resilvering with mirrored ZIL
Message-ID:  <51D437E2.4060101@digsys.bg>
In-Reply-To: <2EF46A8C-6908-4160-BF99-EC610B3EA771@alumni.chalmers.se>
References:  <CABBFC07-68C2-4F43-9AFC-920D8C34282E@unixconn.com> <51D42107.1050107@digsys.bg> <2EF46A8C-6908-4160-BF99-EC610B3EA771@alumni.chalmers.se>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51D437E2.4060101>