Questo non sembra essere ampiamente noto, ma c’è un modo semplice per controllare l’integrità di qualsiasi array mdadm:
echo check > /sys/block/md0/md/sync_action
In caso di permesso negato basta farlo in questo modo:
cd /sys/devices/virtual/block/md0/md
echo check >sync_action
Ecco l’output:
debianuzzo:~# more /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
878899968 blocks [2/2] [UU]
md2 : active raid1 sda3[0] sdb3[1] 75392960 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1] 19534976 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1] 2931712 blocks [2/2] [UU] [===>.................] check = 18.8% (553664/2931712) finish=0.5min speed=79094K/sec
unused devices: <none>
Nel dmesg uscira una scritta simile alla seguente:
[12333718.322202] md: data-check of RAID array md0
[12333718.322202] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
[12333718.322202] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
[12333718.322202] md: using 128k window, over a total of 2931712 blocks.
Al termine uscirà questo:
[12333759.249742] md: md0: data-check done.
[12333759.333896] RAID1 conf printout:
[12333759.333915] — wd:2 rd:2
[12333759.333932] disk 0, wo:0, o:1, dev:sda1
[12333759.337448] disk 1, wo:0, o:1, dev:sdb1
Spero possa essere utile
Frank