I explained how to read the /proc/mdstat in my recent post How To Identify RAID Arrays in Linux, so today is a super quick follow up using one of my systems.
I use Synology NAS in my office and disks in the storage array are getting old, so I decided to swap them out one by one in the next few months. Synology runs a Linux based proprietary OS called DSM, and ultimately it relies on software RAID configured and managed with md devices. So all the setup is done using web-based GUI, but I always like double-checking what's going on by logging directly onto the appliance.
Here's how I use /proc/mdstat to track the faulty disk replacement:
# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid6 sda5 sdb5 sdh5 sdg5 sdf5 sde5 sdd5 sdc5 17552612736 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/7] [_UUUUUUU] [==>..................] recovery = 13.4% (393456896/2925435456) finish=1578.6min speed=26731K/sec
This tells me:
- md2 is the name of a RAID array device
- RAID type is RAID6 (confirmed by raid6 personality AND level 6 words)
- my array consists of 8 disks (sda5/sdb5/…/sdh5)
- RAID block size is 64K
- 7 devices are up (that's what each of the Us mean in the [_UUUUUUU] section)
- 1 device is down (that's what the underscore _ means in [_UUUUUUU])
- Array is going through a recovery procedure, we're 13.4% there with another 26 hours (finish=1578.6min) to go
- Speed of the RAID array recovery (effectively that's the speed of populating the new disk with parity-based data from other disks in the array) is 26.1MB/sec (speed=26731K/sec)