mdadm/md-check how to check array integrity without rebuilding -

mdadm/md-check how to check array integrity without rebuilding

This doesn't seem to be widely known (maybe it's in some documentation that none of us read though) but there's an easy way to check the integrity of any mdadm array:

sudo echo check > /sys/block/md0/md/sync_action
-bash: /sys/block/md0/md/sync_action: Permission denied

sudo will never work, this only works as root since echo is not actually a binary/command.  It is built-into bash.


/sys/devices/virtual/block/md0/md# echo check >sync_action
 cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md_d1 : inactive sdc2[1](S)
      20490816 blocks
      
md0 : active raid1 sda1[0] sdc1[1]
      943730240 blocks [2/2] [UU]
      [>....................]  check =  0.0% (424768/943730240) finish=111.0min speed=141589K/sec
     
unused devices: <none>

 

In dmesg you'll see the following:

[ 1761.813250] md: data-check of RAID array md0
[ 1761.813257] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[ 1761.813263] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
[ 1761.813273] md: using 128k window, over a total of 943730240 blocks.
[11451.021752] md: md0: data-check done.
[32917.662549] md: data-check of RAID array md0
[32917.662556] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
[32917.662562] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
[32917.662571] md: using 128k window, over a total of 943730240 blocks.
 

When it's done you'll see this:

[11451.021752] md: md0: data-check done.

 

When there's corruption I have no idea what you'd see, maybe in mdstat you'll see a bad disk is off-line and marked as failed and an entry in dmesg/messages that the check is failed or completed with errors.  Just a guess, I've never seen any example of reference on the net about what happens or what is said if there is an inconsistency found.  Distributions like Ubuntu have a cronjob/script that check the array once a week though.


  • Migrate Centos 7 from Single HDD to mdadm RAID 10 array:
  • How to change reserved blocks in Linux partition
  • Reading package lists... Done W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D46F45428842CE5E
  • Centos 7 A start job is running for dev-mapper-clx2droot.device (8min 44s / no limit)
  • USB 3.0 External HDD Enclosure Seagate UAS problems - [sdd] tag#1 CDB: Write(16) 8a 00 00 00 00 01 70 04 08 68 00 00 00 08 00 00
  • Centos 7 Cudaminer Nvidia setup guide
  • USB 3.0 PCI x1 Card Review VIA VL805 on Linux Review and Experience
  • rsync run as root sudo without password
  • Why won't my Linux Mint boot after I manually installed a new kernel?
  • cudaminer freezes Linux Mint taints kernel
  • Linux Mint Intel Screen Tearing Horizontal Line Solution Fix
  • process_usershare_file: stat of /var/lib/samba/usershares/dump failed. Permission denied - samba error solution
  • imagemagick pdf convert error solution - **** Warning: can't process font stream, loading font by the name. Can't find CMap Identity-UTF16-H building a CIDDecoding resource. Warning: falling back to Identity ordering **** Error reading a conte
  • php read file into variable
  • USB Device/MP3 Player not working properly and can't browse the device filesystem? Check the cable twice and again!
  • Centos/Linux Bash Script Warning when exiting/logging out of bash/shell/terminal for scripts running in the background
  • Wifi Antenna Extension Cable is called RP-SMA
  • Nvidia Linux Mint/Ubuntu screentearing horizontal line solution
  • Openshot 2.2 is very unstable always crashing in Linux Mint 18.1!
  • Apache SSL very slow response with Firefox Freezes/Loads Very slow when checking self-signed SSL certificate