First off, mdraid is configured with persistent superblocks since, well, a long time ago. Configuration is now typically stored internally by mdadm, inside each partition. The only configuration you normally have in /etc is an /etc/mdadm/mdadm.conf
, which looks something like this (with a bunch of comments elided):
# Please refer to mdadm.conf(5) for information about this file.
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
# definitions of existing MD arrays
ARRAY /dev/md0 metadata=0.90 UUID=a1b8efea:2114fd99:28a5f279:815d333e
ARRAY /dev/md/pv0 metadata=1.0 UUID=c840d0de:0626d783:3f1b28dc:c5ec649a name=Zia:pv0
It gives the path (which needs to match what udev thinks, I believe) and some info to identify the array. It doesn't actually say the RAID levels, number of disks, or even which disks (DEVICE partitions
means "check all connected disks"). This is actually fairly nice. If you shut down, move all the disks to different ports, and boot back up, it keeps working. Nice when you do that by mistake when replacing a disk. Or when you add in a new controller, causing a renumber. Still works.
When you create a mdraid array, you can specify a metadata version (with -e
). If you use 1.x metadata, you can specify a name for the array. By default, udev will create a /dev/mdX
(starting with a fairly high number, like 127) and also a /dev/md/NAME
. You could change the udev configuration to put these in other places, but devices live in /dev, by a very strong tradition. You could also give them any name you want, its the device number that actually matters to the kernel.
But keep in mind that the device name and the mount point are different. You can mount the filesystem on /dev/md0 to /raid if you'd like, you do that in /etc/fstab. Just like you would with /dev/sda1, or any other partition.
Also, if you set this up in the installer, it should all be taken care of for you. At least the Debian installer does, Ubuntu should too.