Linux RAID subsystem development
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.com>
To: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: Shaohua Li <shli@kernel.org>, linux-raid@vger.kernel.org
Subject: Re: [PATCH] md: allow changing set_name of running array
Date: Tue, 05 Sep 2017 11:00:40 +1000	[thread overview]
Message-ID: <87pob6c62v.fsf@notabene.neil.brown.name> (raw)
In-Reply-To: <20170904193639.iagu5d5iu3tdhce2@qmqm.qmqm.pl>

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

On Mon, Sep 04 2017, Michał Mirosław wrote:

> On Mon, Sep 04, 2017 at 12:22:33PM +1000, NeilBrown wrote:
>> On Fri, Sep 01 2017, Michał Mirosław wrote:
>> 
>> > On Fri, Sep 01, 2017 at 10:07:29AM +1000, NeilBrown wrote:
>> >> On Wed, Aug 30 2017, Michał Mirosław wrote:
>> >> > Allow changing active array's set_name. This is the only way to
>> >> > safely update superblock on an array which carries a mounted fs.
>> >> 
>> >> Do you really need to change the set_name of an active array?
>> >> 
>> >> The name is only used when the array is actived, so wait until the next
>> >> time the array is stopped, and change the name then.
>> >> 
>> >> You can boot with a rescue CD or similar and use "--assemble
>> >> --update=name", or with a bit of effort you could get the normal boot
>> >> sequence to change the name.
>> >> 
>> >> I wouldn't object to adding something to mdadm so that it would read
>> >> something from mdadm.conf, and update the set name at boot time.
>> >> 
>> >> What is the underlying problem that you are trying to solve here?
>> >
>> > I had to fix /dev/md* naming on a system with no physical access.
>> >
>> > The problem was that despite matching mdadm.conf entries, arrays started
>> > with random 127-i indexes (because superblocks' set_names didn't match
>> > hostname, I guess).
>> 
>> That's odd.  If an array is listed in mdadm.conf, that is enough to tell
>> mdadm that it is "local" so that it doesn't need the hostname to match.
>> Can you show me exactly what was in your mdadm.conf?
>
> This is what was I had when it would reassign arrays on boot. System
> hostname is 'rere' - it was renamed some time after creating arrays.
>
> ---8<---
> HOMEHOST <system>
> MAILADDR root
> ARRAY /dev/md/0  metadata=1.2 UUID=d5ea39a9:5ec27c36:c83296d4:70f879d4 name=rere2:0
> ARRAY /dev/md/1  metadata=1.2 UUID=9bf69b92:2e7ba905:5f959c09:c8fecb99 name=rere2:1
> ---8<---
>
> I don't have old versions of mdadm.conf, so had to recreate this one.
> IIRC I verified UUIDs back then, but don't remember whether I modified
> names or not. Thinking of it, how would mdadm behave if it had matching
> UUIDs and mismatching array names in mdadm.conf?

That's what I was wondering and part of why I asked to see the
mdadm.conf.

If a name is given in mdadm.conf and it doesn't match the name in the
metadata, that line will be ignored.  If mdadm doesn't find a match in
mdadm.conf and the hostname doesn't match, the the array will be treated
as "foreign" and will be assembled as e.g. /dev/md127 with a symlink
from /dev/md/0_1.
If the name and uuid in mdadm.conf do match the metadata, it will be
treat as "local" and will be given the name that you would expect
(/dev/md0, /dev/md/0).

So my guess is that the mdadm.conf you had at the time doesn't match
what you have provided above.

It would be nice to add an option to "mdadm --incremental" to tell it to
update various details like you can with "mdadm --assemble"....

NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2017-09-05  1:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-29 22:02 [PATCH] md: allow changing set_name of running array Michał Mirosław
2017-09-01  0:07 ` NeilBrown
2017-09-01 16:41   ` Michał Mirosław
2017-09-04  2:22     ` NeilBrown
2017-09-04 19:36       ` Michał Mirosław
2017-09-05  1:00         ` NeilBrown [this message]
2017-09-05  3:06           ` Phil Turmel

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=87pob6c62v.fsf@notabene.neil.brown.name \
    --to=neilb@suse.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=mirq-linux@rere.qmqm.pl \
    --cc=shli@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