Re: Resize Raid5 devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, June 21, 2009 12:21 am, Ralf Müller wrote:
>
> Am 19.06.2009 um 03:58 schrieb Neil Brown:
>>>> When you added it back the event counter would differ and the
>>>> disk needs to be resynced completly. A bitmap would help limiting
>>>> this
>>>> to the parts that have changed. Add an internal bitmap before you
>>>> remove the next disk.
>>>
>>> There is an internal write intent bitmap at the array:
>>> DatenGrab:/media # cat /proc/mdstat
>>> Personalities : [raid6] [raid5] [raid4] [raid1]
>>> md3 : active raid5 sdf1[3] sdi1[0] sdj1[4] sdh1[1]
>>>      3457099008 blocks super 1.2 level 5, 256k chunk, algorithm 2
>>> [4/4] [UUUU]
>>>      bitmap: 0/275 pages [0KB], 2048KB chunk
>>>
>>> Do you have an idea why this bitmap has been ignored?
>>
>> Probably a kernel bug.  There have been a couple of fixes relating to
>> this since 2.6.25.  Hopefully it is all working in 2.6.30...
>>
>> The bug that you hit was probably the one fixed by
>>  commit a0da84f35b25875870270d16b6eccda4884d61a7
>> which is in 2.6.27.
>
> Just for your information: I updated to OpenSuSE 11.1
> (kernel 2.6.27.23-0.1) and tried to remove, grow, re-add the other
> devices. For the first disk it worked - re-add took nearly no time
> because of the bitmap. For the second disk - it did not work: complete
> resync triggered. No idea why. It has been the same sequence of
> commands on the same kind of device. There were no filesystem write
> operations on the raid while updating.

Thanks for keeping us informed.
The was another bug related to this that was fixed much more recently -
in 2.6.30 I think.
commit d0a4bb492772ce5c4bdfba3744a99ed6f6fb238f

I think it was a lot harder to hit, but maybe you hit it.

>
> I will wait for the resync to complete, offline the array, grow the
> last device and reassemble with "--update=devicesize". Would there
> have been a way to update the recorded device-size of the member
> devices online? If the fail/grow/re-add cycle would have worked, I
> still would have superblocks with the old size - right?

With a recent kernel, you can write "0" (or some other size
in sectors) to /sys/block/mdX/md/dev-YYY/size, and it will update the
device size online.  That functionality appeared in 2.6.26 so
OpenSUSE 11.1 should have it.

Yes - after fail/grow/re-add, the size recored in the metadata is
unchanged.  You need to increase the size on each device as described
above or with --update=devicesize during assemble, then update the
size of the array using "mdadm --grow --size=max /dev/mdX".

NeilBrown


--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux