Bug#598721: mdadm: internal bitmap uses way too large chunks
Neil Brown
neilb at suse.de
Fri Oct 1 22:32:49 UTC 2010
On Fri, 01 Oct 2010 13:53:13 +0200
Paul Slootman <paul at debian.org> wrote:
> Package: mdadm
> Version: 3.1.4-1+8efb9d1
> Severity: important
>
> I noticed that when adding internal bitmaps to md devices,
> that the chunks used were far too large:
That depends on what you mean by 'too large'.
I find that the ideal chunk size relates to how much of the array can be
resynced in about second or a bit less. I suspect I might be able to do an
IO test and see how fast the devices are, but that is messy and error prone.
So I simply choose a default of 64M as that seems to be the right ball-park
for modern hardware.
Smaller chunk sizes increase write overhead for little appreciable gain.
>
> root at corky:/home/paul# cat /proc/mdstat
> Personalities : [raid1]
> md4 : active raid1 sdb5[0] sdc5[1]
> 587202560 blocks [2/2] [UU]
> bitmap: 2/5 pages [8KB], 65536KB chunk
>
> md3 : active raid1 sdc3[2](W) sda3[0] sdb3[1](W)
> 10485696 blocks [3/3] [UUU]
> bitmap: 1/1 pages [4KB], 65536KB chunk
>
> md2 : active raid1 sdb2[0] sdc2[1]
> 4194240 blocks [2/2] [UU]
> bitmap: 0/1 pages [0KB], 65536KB chunk
>
> md1 : active raid1 sdc1[2](W) sda1[0] sdb1[1](W)
> 213120 blocks [3/3] [UUU]
> bitmap: 1/1 pages [4KB], 65536KB chunk
>
> unused devices: <none>
>
>
> I mean, using 64M chunks on an md device that's just 208MB is silly.
It might also be said that having a bitmap on a 208MB array is a bit silly as
it would only take about 5 seconds to resync it without a bitmap.
In reality neither are 'silly', but may be non-optimal.
>
> After downgrading to mdadm 3.0.3:
You don't need to down grade. If you don't like the default that mdadm
chooses for you, you are free to choose your own and specify it with the
--bitmap-chunk option.
NeilBrown
More information about the pkg-mdadm-devel
mailing list