So we've recently spent our first week together in Helsinki, Finland.
Mostly this has been stress-free, but there are always oddities about living in new places, and moving to Europe didn't minimize them.
For the moment I'll gloss over the differences and instead document the computer problem I had. Our previous shared-desktop system had a pair of drives configured using software RAID. I pulled one of the drives to use in a smaller-cased system (smaller so it was easier to ship).
Only one drive of a pair being present make mdadm scream, via email, once per day, with reports of failure.
The output of cat /proc/mdstat looked like this:
md2 : active raid1 sdb6[0] [LVM-storage-area] 1903576896 blocks super 1.2 2 near-copies [2/1] [_U] md1 : active raid10 sdb5[1] [/root] 48794112 blocks super 1.2 2 near-copies [2/1] [_U] md0 : active raid1 sdb1[0] [/boot] 975296 blocks super 1.2 2 near-copies [2/1] [_U]
See the "_" there? That's the missing drive. I couldn't remove the drive as it wasn't present on-disk, so this failed:
mdadm --fail /dev/md0 /dev/sda1 mdadm --remove /dev/md0 /dev/sda1 # repeat for md1, md2.
Similarly removing all "detached" drives failed, so the only thing to do was to mess around re-creating the arrays with a single drive:
lvchange -a n shelob-vol mdadm --stop /dev/md2 mdadm --create /dev/md2 --level=1 --raid-devices=1 /dev/sdb6 --force ..
I did that on the LVM-storage area, and the /boot partition, but "/" is still to be updated. I'll use knoppix/similar to do it next week. That'll give me a "RAID" system which won't alert every day.
Thanks to the joys of re-creation the UUIDs of the devices changed, so /etc/mdadm/mdadm.conf needed updating. I realized that too late, when grub failed to show the menu, because it didn't find it's own UUID. Handy recipe for the future:
set prefix=(md/0)/grub/ insmod linux linux (md/0)/vmlinuz-3.16.0-0.bpo.4-amd64 root=/dev/md1 initrd (md/0)//boot/initrd.img-3.16.0-0.bpo.4-amd64 boot
Tags: life, mdadm 2 comments
All you needed to do was to add the new devices, not recreate the array.