Welcome to the Linux Foundation Forum!

Lab 17.1 - device file can be unpredictable

Elyas
Elyas Posts: 28

I did the lab 17.1 to set up a RAID system on my Ubuntu 15.04

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):

ARRAY /dev/md0 metadata=1.2 name=elyasin-lcfs:0 UUID=4a491b9e:6590823a:c52acf39:8f9f5bb3

Comments

  • You may have missed the device name when inputting the mdadm -C

    sudo -i

    mdadm -C /dev/md0 -n 2 -l 1 /dev/vg/MD1 /dev/vg/MD2
  • Elyas
    Elyas Posts: 28
    edited February 2016
    No, I did not. I am very sure. I verified in my history the command I used.
    I checked in my history with
    history | grep "sudo mdadm"
    
    and it displays
    sudo mdadm --create /dev/md0 -l 1 -n2 /dev/sda2 /dev/sda3
    
    .
  • Elyas
    Elyas Posts: 28
    Now I booted my system and it went into root shell. The reason is that it could not find the
    /dev/md127
    
    mountpoint in from the
    /etc/fstab
    
    file. I checked the device node and now all of the sudden the name is
    /dev/md0
    
    .

    I did not work with the RAID partitions since. I wonder how that could happen.
  • I used VMs for my lab, if you used actual hard drives; maybe that makes a difference.
  • Elyas
    Elyas Posts: 28
    I use a virtual machine too. I remember one difference now. I upgraded my Ubuntu to 15.04. Would it be reasonable to say it could be related to the update?
  • Elyas wrote:
    I use a virtual machine too. I remember one difference now. I upgraded my Ubuntu to 15.04. Would it be reasonable to say it could be related to the update?

    I wouldn't be able to confirm b/c I used CentOS7.
  • 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.


  • Hi,

    There is some few differences between distros; it's normal that something that works on one kind of distro won't on another, or at least will need to be modified.

    I'm glad that you found a solution.

    Luis.
  • 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.

    Sam

     



     

  • luisviveropena
    luisviveropena Posts: 1,138
    edited November 2016

    Hi Sam,

    I see that you tried this on Ubuntu 14 and 15. Have you tried on Ubuntu 16 LTS?

    Thanks,

    Luis.

Categories

Upcoming Training