Few days ago I replaced a broken disk in my home server's RAID1 array. So it now has two active disks again. But I started to think that why wouldn't I add one more, now that I have also one spare disk.
I guess it might have a minor performance penalty, and it increases energy consumption slightly. But on the other hand, I don't have to hurry when a disk dies. Maintenance strategy can be summed up as follows:
|3/3||Look for a spare disk.|
|2/3||Replace the broken disk.|
|1/3||Backup and replace broken disks, fast!|
And even if I miss one phase, I won't lose data. I might not be at home when a disk dies, and if I'm having a long vacation, it's possible that also another disk dies while I'm away. But it's highly unlikely that all three disks die before I manage to replace disks.
First I copied partitions from an active disk to the new disk:
sudo sh -c 'sfdisk -d /dev/sda | sfdisk /dev/sdc'
Then I added the new disk to the array:
sudo mdadm --manage /dev/md0 --add /dev/sdc1
Because the number of active disks in the array was previously two, the newly added disk got added as a spare disk. To activate it and start synchronizing data, I increased the size of the array by one:
sudo mdadm --grow --raid-devices=3 /dev/md0
Finally, I installed grub to make the disk bootable:
sudo grub-install /dev/sdc