All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Turmel <philip@turmel.org>
To: terrygalant@mailbolt.com, John Stoffel <john@stoffel.org>
Cc: linux-raid@vger.kernel.org
Subject: Re: upgrading a RAID array in-place with larger drives.  request for review of my approach?
Date: Mon, 01 Dec 2014 08:47:07 -0500	[thread overview]
Message-ID: <547C715B.6050309@turmel.org> (raw)
In-Reply-To: <1417406691.1429321.197136309.39C9A098@webmail.messagingengine.com>

Good morning Terry,

On 11/30/2014 11:04 PM, terrygalant@mailbolt.com wrote:
> Hi John,
> 
> On Sun, Nov 30, 2014, at 07:28 PM, John Stoffel wrote:
>> If you have the ability and the power and space in the chassis, i'd
>> just add in the four new drives, set them up in their RAID10 format,
> 
> Unfortunately I don't.  I have the 4 slots and thats it :-(
> 
> If I did, it'd be pretty easy.  But no.  So that's why I'm trying to figure out how to do this right -- 'in place'.

You cannot --grow your array, as that isn't supported for the "far"
layout of raid10.  Sorry.  As you only have four slots, I recommend the
following convoluted procedure:

1) Get the new drives into the box w/ the existing array on the tail of
the space, as follows:
  a) Partition new drive w/ 2T and 1T partitions, with the latter large
enough to serve as a member of the current array.
  b) --fail and --remove the old disk.
  c) Install the new disk, --add the 1T partition to your array.
  d) Let it resync, then repeat for drives 2-4.

2) Create a new, growable array in the collection of 2T partitions.
With newer kernels, raid10,n2 should work.  Experiment with that if you
aren't sure.  Make sure you enable bitmaps.

3) Use pvcreate and vgextend to merge the new array into your existing
LVM setup.

4) Use pvmove to shift all of your volumes onto the new array.

5) Use vgreduce to drop the old array, then --stop it and destroy it.

6) Repartion each device to delete the 1T partitions and then resize the
2T over that space.  Use --fail and --re-add to keep the array happy
with minimal disruption.

7) When all resyncing is done, --grow the array then use pvresize to
activate the space.

Enjoy!

Phil


  reply	other threads:[~2014-12-01 13:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-01  2:55 upgrading a RAID array in-place with larger drives. request for review of my approach? terrygalant
2014-12-01  3:28 ` John Stoffel
2014-12-01  4:04   ` terrygalant
2014-12-01 13:47     ` Phil Turmel [this message]
2014-12-01  9:08 ` Robin Hill
2014-12-01  9:42   ` Wols Lists

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=547C715B.6050309@turmel.org \
    --to=philip@turmel.org \
    --cc=john@stoffel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=terrygalant@mailbolt.com \
    /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.