Thread (11 messages) 11 messages, 3 authors, 2023-03-20

Re: Renaming md raid and moving md raid to a different machine.

From: Ram Ramesh <hidden>
Date: 2023-03-20 14:56:25

On 3/20/23 03:00, Wols Lists wrote:
On 20/03/2023 00:34, Ram Ramesh wrote:
quoted
On 3/19/23 19:01, Wol wrote:
quoted
On 19/03/2023 23:29, Ram Ramesh wrote:
quoted
quoted
quoted
   My primary DVR is old and I need to move it to more recent 
hardware. I have two md raids (a raid1 and another raid6) called 
/dev/md0 and /dev/md1. I plan to have root on the new machine on 
raid1 and thus I like to rename my /dev/md0 to /dev/md1 in the old 
machine before I move it to the new machine. After that I want to 
move the disks in the most recommended way to minimize the chance 
of loss.
Do you have an mdadm.conf, or do the arrays auto-assemble without one?
I have mdadm.conf and each md is named in that file.

ARRAY /dev/md/1 metadata=1.2 name=zym:md1 
UUID=0e9f76b5:4a89171a:a930bccd:78749144
ARRAY /dev/md2  metadata=1.2 name=zym:2 
UUID=d4e30060:d6395b41:dde52d2e:35ffa6fd
Okay. May I suggest that

(1) try getting rid of mdadm.conf - temporarily - and see if 
everything boots fine.

(2) see if you can hard-rename (as in force an update to the 
metadata) the array to a named array eg something like "zym:data"

If you can do (2), then (1) will boot and the array will come up as 
/dev/md/data.

At which point you will be able to move the disks across and 
everything should "just work".

Note that in the modern world your arrays should not be named md1, 
md2 etc, as I said. The default numbers count down from - as I said - 
I think 127, and you're advised not to use numbers. I created my 
original arrays as 0, 1, 2 and promptly found they came back as 127, 
126, and 125.

I don't know whether advising you to "not have an mdadm.conf" is a 
good idea, but I've never had one, and storing things like array name 
in the metadata is much better than having it stored in an external 
file.

And it means you won't have clashing names :-) Actually, if you use 
mdadm.conf to rename the arrays you're moving up to md3 or md4, see 
if they boot fine on the old system, and again you can then just dd 
your system across, then move the raid drives across, and you 
shouldn't have any problems.

Cheers,
Wol
Yes the names must be in the metadata of the md because I populate 
mdadm.conf after every change by actually using the output from mdadm 
--detail -scan. Since that comes up with md0/md1/md2, I assume somehow 
mdadm simply finds them again and again with exact same name.
Not necessarily. mdadm could (probably is) be reading mdadm.conf, 
building the array using the name in mdadm.conf, and then rebuilding 
mdadm.conf based on the name it got from mdadm.conf.
quoted
I do not ever get md127.
If you boot with no mdadm.conf whatsoever? If that gives you md127, then 
you can rename the arrays on the old system by messing with mdadm.conf.

Also, it's just struck me, you're matching array to name using the UUID. 
So, assuming that's the array UUID (what else could it be) when you dd 
the root filesystem across and boot, that array should NOT be called 
md0, because the UUIDs won't match.

Cheers,
Wol
I avoid UUID issues for rootfs by image copying partitions across the 
systems. I always have two installation in any each machine in two 
different partitions. One natively installed using distros USB (safeos) 
and one that is transferred from old system using image copy (masteros). 
This way I have a back up OS to boot and fix any mistakes I make.

I boot safeos and make the image copy of masteros. Mount copied system 
root, fix things like hostname, NIC name etc. I also fix 
fstab/mdadm.conf and a few other things that will cause errors when I 
boot that system.

After that I update-grub to add masteros to safeos bootmeny and reboot 
into masteros and update-grub and update-initramfs -u on the masteros, 
and reboot back into masteros. Now I start fixing any missing pieces. 
BTW, I did have md127 when I first booted masteros and it went back to 
/dev/md0 after I updated initramfs on masteros and rebooted. This, 
incidentally matches the note Reindl made.

I can give you more details, if that will help understand better what I 
have. This I do because I understand unix side and not mythtv side 
enough to fix issues on the latter. So, I always make image copies to 
keep mythtv happy. After all that is the purpose of this system.

Regards
Ramesh


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help