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.


  • zip warning: name not matched: in Linux Solution
  • ls in Linux with full directory path with files howto
  • bash how to check if a symlink exists as a file or directory
  • css .ul and .li how to remove the identation padding/margin from list items?
  • how to extract .xz file in Linux Centos/Debian/Ubuntu
  • Linux how to whois query other gTLDs such as .club solution
  • How to verify SSL SHA-1 Certificate Fingerprnit Signature of your mail/web server to avoid hijacking/man-in-the-middle attacks
  • Linux Ubuntu Mint how to view RAW image files .arw?
  • ecryptfs errors
  • What happens when you unplug 1 or more devices from an mdadm RAID array to simulate a failure in Linux Ubuntu/Centos/Debian?
  • Migrating from Linux Mint 17.2 mdadm RAID array to a new one (because I upgraded to larger drives).
  • Linux how to reformat html file code solution
  • ENOM how to do a 301 redirect to another domain/site
  • ENOM TRANSFER passwords do not match - solution
  • Linux how to check http headers using bash/curl for SEO
  • mdadm: CREATE group disk not found Incrementally started RAID arrays. Incrementally starting RAID arrays...
  • Linux SAMBA does not work with symlinks
  • How to Execute PHP in .html files with Apache in Linux Centos/Debian/Ubuntu etc
  • mdadm how to recover from failed drive
  • yum Packages skipped because of dependency problems: