linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robin Hill <robin@robinhill.me.uk>
To: Michael Muratet <muratetm@gmail.com>
Cc: NeilBrown <neilb@suse.de>, linux-raid@vger.kernel.org
Subject: Re: Add disks and convert level 0 to level 5
Date: Wed, 17 Sep 2014 16:15:47 +0100	[thread overview]
Message-ID: <20140917151547.GA7692@cthulhu.home.robinhill.me.uk> (raw)
In-Reply-To: <535A7DC1-0953-41D6-B149-DB038D1631D2@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3360 bytes --]

On Wed Sep 17, 2014 at 09:59:00am -0500, Michael Muratet wrote:

> 
> On Sep 10, 2014, at 7:27 PM, NeilBrown wrote:
> 
> > On Wed, 10 Sep 2014 11:15:24 -0500 Michael Muratet <muratetm@gmail.com> wrote:
> > 
> >> I have a two-disk RAID0 system that is working splendidly, thanks
> >> to the list for the help.
> >> 
> >> I managed to get my hands on more identical disks and since I have
> >> the disks and because I'm adding precious data, I'd like to add two
> >> more disks and grow to RAID5.
> >> 
> >> I have partitioned the two new drives to type 'fd', /dev/sde and /dev/sdf
> >> 
> >> I believe the command to accomplish the change is this:
> >> 
> >> mdadm /dev/md0 --grow --level=5 --add /dev/sde /dev/sdf
> >> 
> >> Following the old adage "measure twice, cut once", is this syntax
> >> correct? Is there any danger of data loss in such a conversion?
> > 
> > I recommend creating a few loop-back devices and experimenting.
> > i.e.:
> >  create some 100M files.
> >  use "losetup" to turn them into block devices.
> >  create an 2-device raid0
> >  try converting it as you suggest.
> > 
> > You find it doesn't do quite what you expected, but should be easy to fix.
> 
> In case anyone wants to do a similar thing...
> 
> As predicted, it did not do as I expected. I have another identical
> server and disks and so I did the experiment there.
> 
>   980  sudo fdisk /dev/sdc
>   981  sudo fdisk /dev/sdd
>   982  sudo fdisk /dev/sde
>   983  sudo fdisk /dev/sdf
>   988  sudo partprobe /dev/sdc
>   989  sudo partprobe /dev/sdd
>   990  sudo partprobe /dev/sde
>   991  sudo partprobe /dev/sdf
>   995  sudo mdadm --create /dev/md0 --level=0 --raid-disk=2 /dev/sdc1 /dev/sdd1
>   996  sudo mkfs -t ext3 /dev/md0
>   997  sudo mount -t ext3 /dev/md0 /db
> 
> Same RAID0 system I created before. Now to grow
> 
>  1004  sudo mdadm /dev/md0 --grow --level=5 --add /dev/sde1 /dev/sdf1
> 
> Makes a RAID5 system, but sde1 was added as a spare
> 
>  1022  sudo mdadm --grow /dev/md0 --raid-devices=4
> 
You should be able to combine the above into a single command (it worked
for me on loopback devices anyway):
    sudo mdadm --grow /dev/md0 --level=5 --raid-devices=4 \
               --add /dev/sde1 /dev/sdf1

> It's now a four disk RAID, but smaller than expected. It spread the
> original space over four drives, which I think is the documented
> behavior.
> 
As md has no knowledge of the filesystem or how to change the size of
it, then all it can do it redistribute the original data over the
additional disks. The md device size should have increased though, even
if the filesystem size hadn't.

>  1040  sudo umount /dev/md0
>  1045  sudo e2fsck -f /dev/md0
>  1046  sudo resize2fs -p /dev/md0
>  1048  sudo mount -t ext3 /dev/md0 /db
>  1049  df -h
> 
> /dev/md0                      2.7T  202M  2.6T   1% /db
> 
> which is what I wanted. I can't take my original system offline now,
> but when I can I will apply the same steps.
> 
You shouldn't need to take it offline - resize2fs works perfectly well
online.

Cheers,
    Robin
-- 
     ___        
    ( ' }     |       Robin Hill        <robin@robinhill.me.uk> |
   / / )      | Little Jim says ....                            |
  // !!       |      "He fallen in de water !!"                 |

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2014-09-17 15:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-31 12:43 Converting RAID5 to RAID0 Mike Muratet
2014-08-31 17:13 ` Robin Hill
2014-08-31 22:31 ` NeilBrown
2014-09-10 16:15   ` Add disks and convert level 0 to level 5 Michael Muratet
2014-09-11  0:27     ` NeilBrown
2014-09-17 14:59       ` Michael Muratet
2014-09-17 15:15         ` Robin Hill [this message]
2014-09-11  7:27     ` Robin Hill

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=20140917151547.GA7692@cthulhu.home.robinhill.me.uk \
    --to=robin@robinhill.me.uk \
    --cc=linux-raid@vger.kernel.org \
    --cc=muratetm@gmail.com \
    --cc=neilb@suse.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).