How to Rename /dev/md127 to /dev/md3 in Linux MDADM RAID Arrays


3 views

When working with Linux software RAID (MDADM), arrays are typically named automatically as /dev/mdX where X is the next available number. The system assigns the lowest available number that isn't already in use. In your case, /dev/md127 suggests that numbers 0-126 were either in use or reserved when the array was created.

Before attempting to rename your array, ensure that:

  • The array is not currently mounted
  • No services are actively using the array
  • You have root privileges
  • You've backed up critical data

Here's how to properly rename /dev/md127 to /dev/md3:

# First, stop the array
mdadm --stop /dev/md127

# Then reassemble it with the new name
mdadm --assemble --update=name --name=3 /dev/md3 /dev/sd[XYZ]1

Replace /dev/sd[XYZ]1 with your actual component devices. The --update=name flag tells mdadm to permanently update the superblock with the new name.

After renaming, update your configuration:

# Update mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

# Or if you prefer to edit manually:
ARRAY /dev/md3 metadata=1.2 name=yourhostname:3 UUID=your-uuid-here

Check that the rename was successful:

cat /proc/mdstat
mdadm --detail /dev/md3

If you encounter issues:

  • Check dmesg for errors
  • Verify all component devices are available
  • Ensure the new name isn't already in use
  • Check that your initramfs includes the new name if booting from RAID

Here's a complete example using actual devices:

# Stop existing array
mdadm --stop /dev/md127

# Reassemble with new name
mdadm --assemble --update=name --name=3 /dev/md3 /dev/sdb1 /dev/sdc1 /dev/sdd1

# Update filesystem references (if needed)
sed -i 's/md127/md3/g' /etc/fstab

# Update boot configuration (if needed)
update-initramfs -u

When creating a new MDADM RAID array, the system may automatically assign it a name like /dev/md127. This happens particularly when:

  • The array is assembled without explicit naming
  • Previous array indexes are already in use
  • The mdadm.conf file doesn't specify the preferred name

Here's how to properly rename your RAID array from /dev/md127 to /dev/md3:

# First, stop the array
sudo mdadm --stop /dev/md127

# Reassemble with the desired name
sudo mdadm --assemble --update=name --name=3 /dev/md3 /dev/sd[XYZ]1

Replace /dev/sd[XYZ]1 with your actual device names that compose the array.

To make the change permanent across reboots:

# Generate new configuration
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

# Edit the file manually to ensure proper naming
sudo nano /etc/mdadm/mdadm.conf

Look for the line containing your array and modify it to include the name explicitly:

ARRAY /dev/md3 metadata=1.2 name=yourhostname:3 UUID=xxxxxx

After completing the process, verify everything worked correctly:

# Check array status
cat /proc/mdstat

# View detailed information
sudo mdadm --detail /dev/md3

If you encounter problems during the renaming process:

  • Array won't start with new name: Ensure all devices are properly specified in the assemble command
  • Configuration not persistent: Check for syntax errors in mdadm.conf and regenerate if needed
  • Permission issues: Run commands with sudo or as root

For more advanced control over device naming, you can create udev rules:

# Create a new udev rule file
sudo nano /etc/udev/rules.d/99-md-rename.rules

# Add content like this (adjust UUID to your array's actual UUID):
ACTION=="add|change", KERNEL=="md*", ENV{ID_FS_UUID}=="your-array-uuid", SYMLINK+="md/%E{MD_NAME}"