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 --]
prev parent 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 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.