All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Schinagl <oliver+list@schinagl.nl>
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: linux-raid@vger.kernel.org
Subject: Re: Expanding array with multiple devices
Date: Sat, 02 Mar 2013 12:52:13 +0100	[thread overview]
Message-ID: <5131E7ED.5020106@schinagl.nl> (raw)
In-Reply-To: <alpine.DEB.2.00.1303010746120.14991@uplift.swm.pp.se>

On 03/01/13 07:52, Mikael Abrahamsson wrote:
> On Thu, 28 Feb 2013, Oliver Schinagl wrote:
>
>> A little bit of background. I have 8 2TB disks, 4 in a current raid5
>> array, which will be the donor disks en 4 'new' disk going to form the
>> basis of a new array. I want to change chunk size and re-format to
>> ext4 to a) optimize the new array according to the new parameters
>> (stride,stripe-width) and (possibly) a new ondisk ext4 disk format
>> (new features added since last time). The old array was 4 disk raid5,
>> the new array will be 8 disk raid6.
>>
>> Any idea's how best to expand all this?
>
> You didn't mention what kernel and mdadm version you're running.
Would it mattered? It's 3.7 kernel with a reasonable late mdadm.
>
> Anyhow, what I would do is the following:
>
> Create RAID6 with 3 data drives, 1 parity and 1 missing. Do whatever you
> need to create the fs etc, and copy the files. When you're satisfied
> with the result (checksumming the files etc), destroy the old raid5, add
> all the drives to the new raid6, and tell it to --grow to a total of 8
> drives. What will probably happen is that as soon as you add the 4
> drives it'll start to resync onto one of them to restore state to a
> non-degraded raid6.
>
> I would personally let this complete so you actually have a fully
> functional non-degraded raid6 with 5 drives and 3 spares that you then
> grow in one go to 8 drives and 0 spares. After this is done you can grow
> the fs and hopefully everything should be well.
Since I had a 4 disk, 2 missing array already with the data on it, I 
failed 1 disk on the raid5, and used that as first parity disk on the 
raid6. Then destroyed the raid5 and added the rest. 2x 10 hours later 
the parity was fully restored and now i'm gonna wait 24-36 hrs for the 
drive to be expanded. I guess there's no easy and to do it all in one 
go. I guess I could have done as you said, 3 disks 1 parity (same size) 
then fail 1 disk in raid 5 and add it to the raid6 and grow it with 3. 
This worked though, so thanks!

oliver
>
> Personally, I use LVM on top of md, but in your case this wouldn't help
> because you want to mkfs the filesystem.
>


  reply	other threads:[~2013-03-02 11:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-28 20:27 Expanding array with multiple devices Oliver Schinagl
2013-03-01  6:52 ` Mikael Abrahamsson
2013-03-02 11:52   ` Oliver Schinagl [this message]
2013-03-02 14:07 ` Roy Sigurd Karlsbakk
2013-03-02 17:11   ` Phil Turmel
2013-03-02 17:15     ` Roy Sigurd Karlsbakk
2013-03-02 17:22       ` Phil Turmel
2013-03-02 17:31         ` Mikael Abrahamsson
2013-03-02 19:14           ` Roy Sigurd Karlsbakk
2013-03-03  3:22             ` Mikael Abrahamsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5131E7ED.5020106@schinagl.nl \
    --to=oliver+list@schinagl.nl \
    --cc=linux-raid@vger.kernel.org \
    --cc=swmike@swm.pp.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.