From: Michael Tokarev <mjt@tls.msk.ru>
To: "Lars Täuber" <taeuber@bbaw.de>
Cc: linux-raid@vger.kernel.org
Subject: Re: changing parameters of a running array?
Date: Sun, 27 Oct 2013 21:28:06 +0400 [thread overview]
Message-ID: <526D4D26.90808@msgid.tls.msk.ru> (raw)
In-Reply-To: <20131025111248.8fcd1cb5912e51c54f67f733@bbaw.de>
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.
Thanks,
/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-10-27 17:28 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 [this message]
2013-10-27 23:02 ` 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=526D4D26.90808@msgid.tls.msk.ru \
--to=mjt@tls.msk.ru \
--cc=linux-raid@vger.kernel.org \
--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.