Ubuntu – How can I make mdadm auto-assemble RAID after each boot?

I successfully created a RAID (mirroring) by utilizing mdadm. However, I must run the following commands after each boot:

mdadm --stop --scan // to stop /dev/md127 - I don't know where the number 127 even comes frommdadm --assemble --scan // to start /dev/md0

What am I doing wrong/why do I need to run these commands at boot? What is the right way to auto-start RAID with each (re)boot?

Solution:

NB: You either need to be logged in as root, or use sudo to do all this…

  • Use your favourite editor to create or edit /etc/mdadm/mdadm.conf file as follows:

If the file does not even exist, paste the following into the new, empty file:

# mdadm.conf## Please refer to mdadm.conf(5) for information about this file.#DEVICE partitions# auto-create devices with Debian standard permissionsCREATE owner=root group=disk mode=0660 auto=yes# automatically tag new arrays as belonging to the local systemHOMEHOST <system># instruct the monitoring daemon where to send mail alertsMAILADDR root# definitions of existing MD arrays
  • Save the file

  • Run the following command to add a reference to your array config at the end of the file:

    mdadm –detail –scan >> /etc/mdadm/mdadm.conf

This should add a line like the following to the end of mdadm.conf:

 

ARRAY /dev/md0 level=raid5  num-devices=3 metadata=00.90  UUID=a44a52e4:0211e47f:f15bce44:817d167c

If the mdadm command has added any other stuff above the ARRAY line, remove it. For example, on one of my machines, the command returns ‘mdadm: metadata format 00.90 unknown, ignored.’ before the ARRAY line.

Your array should now auto-build on boot and thus you can add an entry to /etc/fstab to mount it (if it’s not already there)