What a case! A long story short one of our disks got a bad disk in a software RAID1 setup and when we tried replacing the disk in a recovery Linux console we got the strange error of an MD device:
mdadm: Cannot get array info for /dev/md125
And ccording to the /proc/mdstat the device was there and mdadm -E reported the array was “clean”.
Similar issue here Inactive array – mdadm: Cannot get array info for /dev/md126
root@631019 ~ # mdadm --add /dev/md125 /dev/sdb2 mdadm: Cannot get array info for /dev/md125 root@631019 ~ # cat /proc/mdstat :( Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10] md122 : inactive sda4[0](S) 33520640 blocks super 1.2 md123 : inactive sda5[0](S) 1914583040 blocks super 1.2 md124 : inactive sda3[0](S) 4189184 blocks super 1.2 md125 : inactive sda2[0](S) 1048512 blocks unused devices: <none> root@631019 ~ # mdadm -E /dev/sda2 :( /dev/sda2: Magic : a92b4efc Version : 0.90.00 UUID : aff708ee:16669ffb:1a120e13:7e9185ae Creation Time : Thu Mar 14 15:10:21 2019 Raid Level : raid1 Used Dev Size : 1048512 (1023.94 MiB 1073.68 MB) Array Size : 1048512 (1023.94 MiB 1073.68 MB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 126 Update Time : Thu Jul 11 10:22:17 2019 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Checksum : c1ee0a10 - correct Events : 103 Number Major Minor RaidDevice State this 0 8 2 0 active sync /dev/sda2 0 0 8 2 0 active sync /dev/sda2 1 1 8 18 1 active sync /dev/sdb2
The important piece of information here is that the RAID1 is in an inactive state, which is really strange! It is perfectly normal to be started with one disk missing (the raid as you can see consists from 2 disks) and in read-only mode before mounting it. But here it is in an inactive state! The output of /proc/mdstat shows a sign of inappropriate assembly of all those arrays probably during the boot of the rescue Linux system – missing information or old version of mdadm utility or some other configuration loaded! In such states – inactive and as you see no information about the type of the arrays it is normal mdadm to report error it could not get current array info. The key word here is CURRENT despite mdadm misses it in the error output:
root@631019 ~ # mdadm --add /dev/md125 /dev/sdb2 mdadm: Cannot get array info for /dev/md125
Because in fact mdadm tries adding a disk in the currently loaded configuration, not the real one in your disks!
The solution
- Remove ALL current configuration by issuing multiple stop commands with mdadm, no inactive raids or any raids should be reported in “/proc/mdstat”.
- Remove (or better rename) mdadm configuration files in /etc/mdadm.conf (in some Linux distributions is /etc/mdadm/mdadm.conf).
- Rescan for MD devices with mdadm. The mdadm will load the configuration from your disks.
- Add the missing partitions to your software raid devices.