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.


  • css responsive images
  • responsive table without changing much code solution
  • yum how to install old obsolete packages
  • PHP Howto Store Value of Included File Output Into Variable
  • PHP Migration from 5.3 to 5.4+ and dealing with deprecated functions
  • ffmpeg vidstab to stabilize video
  • userdel user userdel: cannot lock /etc/passwd; try again later.
  • mdadm how to mount inactive array
  • How to find and mount mdadm arrays automatically
  • M2Crypto.SSL.Checker.WrongHost: Peer certificate subjectAltName does not match host, expected fedora-archive.ip-connect.vn.ua, got DNS:mirror.ip-connect.vn.ua
  • [Wed Sep 20 15:34:44 2017] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Wed Sep 20 15:34:44 2017] [error] Init: Unable to read server certificate from file /www/ssl-certs/server.crt [Wed Sep 20 15:34:44 2017] [error] SSL Library Err
  • linux how to answer yes to copy
  • linux cp and mv will not overwrite due to alias!
  • ERROR 2006 (HY000) at line 567: MySQL server has gone away
  • vbulletin 4.2.5 after upgrading from 3.6 white screen fatal php errors
  • iptables v1.4.7: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.
  • Linux and FreeBSD how to set time and date
  • FreeBSD/OpenBSD OpenVPN Client error "Cannot allocate TUN/TAP dev dynamically"
  • kdenlive - No LADSPA plugins were found! Check your LADSPA_PATH environment variable. [producer_xml] failed to load transition "qtblend"
  • /usr/bin/supermin-helper exited with error status 1. To see full error messages you may need to enable debugging. See http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs at /usr/bin/virt-list-partitions line 177.