Re: Renaming MD devices (metadata=1.1)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 11 Jan 2012 01:07:38 -0500 Gilbert Kowarzyk <kowarzyk@xxxxxxxxxxxxxx>
wrote:

> Hello,
> 
> Thanks for the quick answer. My replies are below.
> 
> 
> >> # mdadm --examine --scan /dev/sdc1
> >> =================================>
> >> ARRAY /dev/md/9 metadata=1.1 UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> >> name=xyz.homelinux.com:9
> >> <=================================
> >>
> >>
> >> # mdadm --examine --scan /dev/sdd1
> >> =================================>
> >> ARRAY /dev/md/9 metadata=1.1 UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> >> name=xyz.homelinux.com:9
> >> <=================================
> >>
> >>
> >> # mdadm --detail --scan
> >> =================================>
> >> ARRAY /dev/md/xyz.homelinux.com:9 metadata=1.1
> >> name=xyz.homelinux.com:9 UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> >> <=================================
> >>
> >> # blkid
> >> =================================>
> >> /dev/md127: UUID="c301cf13-cfaf-4f56-887e-c648caf5a931" TYPE="ext4"
> >> <=================================
> >>
> >> in /etc/fstab I have:
> >> =================================>
> >> UUID=c301cf13-cfaf-4f56-887e-c648caf5a931 /DATA    ext4  defaults 1 2
> >> <=================================
> >>
> >> and in /etc/mdadm.conf I have:
> >> =================================>
> >> ARRAY /dev/md/xyz.homelinux.com:9 metadata=1.1
> >> name=xyz.homelinux.com:9 UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> >> <=================================
> >>
> >>
> >> To me, the line that looks suspicious is the one we get from "mdadm
> >> - --detail --scan". All the devices that "look right" say "ARRAY
> >> /dev/md/X" where X is a number.
> >>
> >> I fixed this temporarily by stopping the array and re-assembling it with:
> >>
> >> mdadm --assemble /dev/md9 --name=9 --update=name /dev/sdc1 /dev/sdd1
> >>
> > 
> > You updated name stored in the metadata, and assembled the array
> > explicitly requesting particular standard name. But the names directly
> > under /dev are managed/assigned by udev.
> > 
> > As the /dev/md9 was explicitly given in this form, the MD_DEVNAME was
> > not present in 'mdadm --detail --export' output, thus /dev/md/9 was not
> > created by mdadm's udev rules - but it would have been if you had done
> > mdadm --assemble /dev/md/9 ...
> 
> Ok, I think I follow this, but I am not sure.
> 
> What you are saying is that I am getting /dev/md127 because it's not
> being created by udev right?

You are getting md127 because you asked for "/dev/md/xyz.home.linux.com:9"
so it gave you that (look in /dev/md) but it needs to give an 'mdXX' name to
the kernel so it chose 127 (because that is where it starts looking for free
numbers) and used that.  Don't worry about  the /dev/mdXX.  You asked for
"/dev/md/xyz.home.linux.com:9' in mdadm.conf,  you got, so just use it and
ignore the rest.



> 
> 
> >> Then the mdadm --detail --scan line says:
> >> ARRAY /dev/md/9 metadata=1.1 name=xyz.homelinux.com:9
> >> UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> >>
> >> ... which makes more sense to me (it looks like the other ones.
> >>
> >> Yet, when I reboot the computer this "temporarily fixed" array returns
> >> to /dev/md127.
> > 
> > But you should have proper, permanent name (as a symlink) under /dev/md/
> 
> I just checked, and indeed I do. The symlinks I have under /dev/md/ are
> exactly the ones relating to the md devices I am having problems with
> renaming.
> There are no symlinks for the other md devices.
> 
> 
> > Autoassembly (be it -I used with modern mdadm's udev rules) or -A will
> > try to honor the device name if the name is in standard format, so for
> > mdadm.conf with ARRAY /dev/md/9 ... - you will (usually) get /dev/md9 -
> > but this it's not really worth chasing after or relying on (and what if
> > the name is already taken ?).
> > 
> > Just write:
> > 
> > ARRAY /dev/md/somename UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> > ARRAY somename UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> > 
> > in which case 'somename' will be created under /dev/md/ regardless of
> > the name stored in the metadata, or just
> > 
> > ARRAY UUID=0fa7f737:7806ca61:fb89edd6:14aa351a
> > 
> > so the metadata (without hostname prefix) will be used.
> 
> so expliciting the metadata=x is not needed? What's its use?

Documentation.
It doesn't hurt, and I want "mdadm -Db" to report it, so if I allow it in
mdadm.conf then it is easier to use the output of "mdadm -Db" in mdadm.conf.


> 
> 
> > So to sum it up - if '9' is what you're after - then the ARRAY line with
> > just UUID is all you should be needing - and you should always get
> > /dev/md/9 (pointing to something else assigned dynamically).
> > 
> > If udevd is not running (hardly interesting case anymore), then mdadm
> > will fall back to the pre-udev behavior and setup the nodes itself,
> > though the rules are slightly different then.
> 
> I just left ARRAY UUID=0fa7f737:7806ca61:fb89edd6:14aa351a in
> /etc/mdadm.conf, rebooted, and it's still appearing as /dev/md127.

Just as I would expect.  You didn't ask for a specific number, so it just
chose an arbitrary one.

> 
> So I am not sure why... What may I be missing?

Don't know.  Maybe you are expecting something that isn't needed.

What exactly do you want?  And why?

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux