Lab 17.1 - device file can be unpredictable

I did as mentioned in the lab/solution. Though I defined the RAID device file to be /dev/md0 it turns out that after reboot the device file got renamed to /dev/md127 without notice.

I figured this out because my Ubuntu booted into emergency mode. I had put /dev/md0 in the /etc/fstab file according to lab instruction, but the boot failed because the device file was finally named /dev/md127 for some reason.

Does anyone have an explanation for that?

I wonder why the RAID device file got renamed to /dev/md127 when I defined it to be /dev/md0.

The only thing that I did differently from the lab instructions was that I did not create a file /etc/mdadm.conf. Instead my system already had a file /etc/mdadm/mdadm.conf so I simply added the line that got returned by the command

mdadm --detail --scan

That line was (it is really one line, but the web page might display it in more than one line):

I have also gone round and round with this exercise using Ubuntu 14.04 under VirtualBox. I have found the solution however. As the task is to create a raid under /dev/md0 (and not some other name) you will neeed to:

a) complete steps 1, 2 and 3 as described in the Lab text.

b) The command in step 4 is poorly constructed as it will lead to a permissions error while appending to /etc/mdadm.conf. One way is to first execute 'sudo -i', then the command as given, or 'sudo -- sh -c 'mdadm --detail --scan >> /etc/mdadm.conf'. The two dashes following sudo prevent sudo from interpreting the following text as a string of options, sh calls a shell and -c says execute everything between ' ' as a command. Weird, but it works.

c) And here is the important part: edit /etc/mdadm.conf, removing the NAME=... parameter. It should now look something like:

ARRAY /dev/md0 metadata=1.2 UUID=123456:789abc:cba987:fedcba

d) reboot and cat /proc/mdstat. You should get something like that shown in step 5, with the array name indicating md0.

It seems from a search that the most reasonable place for mdadm.conf is under
/etc/mdadm/mdadm.conf, but
/etc/mdadm.conf works as well.

I have started redoing some of these exercises on a clean Ubuntu 14.04.5 server, and see that my comment above about removing the NAME= parameter from /etc/mdadm/mdadm.conf is insufficient in itself to prevent the automatic renaming of the array to /dev/md127. I did find however, that after editing mdadm.conf as above and adding the proper fstab entry, you must also run:

sudo update-initramfs -u

to force a read of mdadm.conf. Things then work well for auto-mounting raid device /dev/md0 on the next boot.

From what I can discover, this may only be an issue on the later Ubuntu servers.