linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: "Lars Täuber" <taeuber@bbaw.de>, linux-raid@vger.kernel.org
Subject: Re: changing parameters of a running array?
Date: Mon, 28 Oct 2013 10:02:39 +1100	[thread overview]
Message-ID: <20131028100239.082b5c0d@notabene.brown> (raw)
In-Reply-To: <526D4D26.90808@msgid.tls.msk.ru>

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

On Sun, 27 Oct 2013 21:28:06 +0400 Michael Tokarev <mjt@tls.msk.ru> wrote:

> 25.10.2013 13:12, Lars Täuber wrote:
> > Hi Michael,
> >
> > Fri, 25 Oct 2013 11:39:32 +0400
> > Michael Tokarev <mjt@tls.msk.ru> ==> linux-raid <linux-raid@vger.kernel.org> :
> >> Hello.
> >>
> >> Is there a way to change some parameters - like preferred minor,
> >> array name, homehost, guuid and the like - of a _running_ array?
> >> I understand these can be changed using --assemble --update=foo,
> >> but how about, say, root array which is being assembled from
> >> within an initrd with limited functionality?
> >>
> >> What I'm trying to achieve is to make a clone of a (remote)
> >> running system, in order to upgrade hdds.  For this, a new
> >> set of drives are inserted, new set of filesystems is created,
> >> current filesystems are copied to new hdds and on the next
> >> reboot the system should boot from the new hdds.  But since
> >> I can't create arrays with the same names/minors as currently
> >> running ones, and I want to preserve the naming scheme, I
> >> need to ensure the new arrays will be named correctly after
> >> the reboot.  But since the system is remote, this is a bit
> >> difficult to achieve for the root device.
> >>
> >> And similarly, I can't --update a NON-running array without
> >> --assemble, so I can't fix the names before reboot while the
> >> old arrays are still running.
> >>
> >> Maybe the easiest way is to write a small (perl) program
> >> which will read the superblock of a non-running array, update
> >> it and write it back.  This at least will allow me to perform
> >> tasks before reboot.  But this way it becomes risky - if the
> >> first reboot will happen with the old drives still in place,
> >> havoc might happen, since more than one array will have the
> >> same name...
> >>
> >> So a better route will be to create new arrays with temp
> >> names, reboot, change names on the newly running system,
> >> and remove old arrays.  The question is how to change
> >> some params on a running system.
> >>
> >
> > it depends on the distribution you're running. But you might not need to change these parameters while the system is running.
> 
> It doesn't.  One thing is the name forcible used to assemble
> an array -- this one indeed depends on the initrd/initramfs
> in use.  And another thing is the name recorded in the array
> superblock -- this does not and should not chage behind my
> back.  It should only change explicitly.  And that's exactly
> what I'm talking about -- how to explicitly change some
> params when the array is in use.

I'm sorry but that isn't possible.  The only options I can think of are:
 - boot of some other media and then update the metadata
 - hack the initrd to assemble with --update= to update whatever  needs
   updating.

NeilBrown

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

      reply	other threads:[~2013-10-27 23:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-25  7:39 changing parameters of a running array? Michael Tokarev
2013-10-25  9:12 ` Lars Täuber
2013-10-27 17:28   ` Michael Tokarev
2013-10-27 23:02     ` NeilBrown [this message]

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=20131028100239.082b5c0d@notabene.brown \
    --to=neilb@suse.de \
    --cc=linux-raid@vger.kernel.org \
    --cc=mjt@tls.msk.ru \
    --cc=taeuber@bbaw.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).