From: Andreas Klauer <Andreas.Klauer@metamorpher.de>
To: linux-raid@vger.kernel.org
Subject: Reducing the number of devices in a degraded RAID-5
Date: Mon, 22 May 2017 14:53:32 +0200 [thread overview]
Message-ID: <20170522125332.GA18406@metamorpher.de> (raw)
Hi,
this is not a recovery question, no real data involved. Thanks for helping!
Suppose you have a failing drive in RAID-5 but you wanted to move to
fewer drives anyway, so one way or another you're going to reduce
the number of drives in your RAID.
Given a RAID 5 with 5 drives [UUUUU]
Reducing it by one drive results in [UUUU] + Spare
Okay.
Given a degraded RAID 5 with 5 drives [_UUUU]
Reducing it by one drive results in [_UUU] + Spare
Still okay? Rebuild must be started manually.
It seems reducing a degraded RAID is a bad idea,
since there is no redundancy for a very long time.
So what you might end up doing is a three step process:
-> [_UUUU] (Degraded)
Step 1: Add another drive (redundancy first)
-> [UUUUU]
^ added drive
Step 2: Reduce by one drive
-> [UUUU] + Spare
Step 3: --replace the previously added drive
(if the spare happened to be one of the drives you wanted to keep)
-> [UUUU]
^ former spare
This way the process is redundant but it takes a very long time,
three separate reshape/rebuilds instead of just one.
Steps to reproduce the [_UUUU] -> [_UUU] + Spare case:
(using linux 4.10, mdadm 4.0)
# truncate -s 100M 1.img 2.img 3.img 4.img
# devices=$(for f in ?.img; do losetup --find --show "$f"; done)
# mdadm --create /dev/md42 --level=5 --raid-devices=5 missing $devices
md42 : active raid5 loop4[4] loop3[3] loop2[2] loop1[1]
405504 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/4] [_UUUU]
# mdadm --grow /dev/md42 --array-size 304128
# mdadm --grow /dev/md42 --backup-file=md42.backup --raid-devices=4
md42 : active raid5 loop4[4](S) loop3[3] loop2[2] loop1[1]
304128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [_UUU]
# not rebuilding until you re-add the spare
Is it possible to do [_UUUU] -> [UUUU] in a single step?
I haven't found a way. Any ideas?
Regards
Andreas Klauer
next reply other threads:[~2017-05-22 12:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 12:53 Andreas Klauer [this message]
2017-05-24 2:12 ` Reducing the number of devices in a degraded RAID-5 NeilBrown
2017-05-25 7:24 ` Andreas Klauer
2017-05-26 5:13 ` NeilBrown
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=20170522125332.GA18406@metamorpher.de \
--to=andreas.klauer@metamorpher.de \
--cc=linux-raid@vger.kernel.org \
/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).