/proc/mdstat

/proc/mdstat provides a way to examine the state of the md driver, including information about active software arrays. When no arrays are running, displaying /proc/mdstat simply shows which RAID levels the kernel supports.

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead not set
unused devices: <none>

In this example, there are no active arrays, but this kernel supports linear, RAID-0, RAID-1, and RAID-4/5. The read_ahead value is not currently set, because no arrays are active. read_ahead defines the number of sectors the kernel should cache during sequential reads. Finally, unused devices is also empty, because there are no devices in the md subsystem that are not currently in use by an array.

If arrays are defined, /proc/mdstat provides detailed information about them, as shown in the following code:

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md2 : active raid1 sde1[1] sdd1[0]
      17920384 blocks [2/2] [UU]

md1 : active raid0 sdc1[1] sdb1[0]
      35840768 blocks 64k chunks

First, note that read_ahead is now set to 1024 sectors. That means that during sequential reads, the kernel will attempt to cache a maximum of 1024 sectors worth of data, or about 512 K (1024 sectors, with approximately 512 bytes per sector). The default value of 1024 sectors is a hard limit set by the md driver. Next, each array is listed, with the most recently activated array first. In this case, /dev/md2, a RAID-1, is listed first ...

Get Managing RAID on Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.