我有一个带有两个 USB 拇指驱动器的树莓派,它们位于镜像 raid 阵列中,并存储我使用 Nextcloud 共享的数据。现在,我今天随机发现一个 USB 驱动器 LED 闪烁,没有任何明显的原因,所以我连接到我的 pi 并执行操作,cat /proc/mdstat
我看到的是:
$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[2]
120109056 blocks super 1.2 [2/2] [UU]
[===================>.] check = 99.9% (120103296/120109056) finish=0.0min speed=18842K/sec
bitmap: 0/1 pages [0KB], 65536KB chunk
我在它达到 99.9% 之前正在观看它,但这是我捕获的最后一条重新同步消息,在此之后它看起来像:
$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[2]
120109056 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
现在,我如何找出重新同步发生的原因以及其中一个驱动器是否实际上已损坏并应更换?sda1 and
sdb1 still looks good with
lsblk`:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 119.3G 0 disk
└─sda1 8:1 1 114.6G 0 part
└─md0 9:0 0 114.6G 0 raid1 /mnt/usb
sdb 8:16 1 114.6G 0 disk
└─sdb1 8:17 1 114.6G 0 part
└─md0 9:0 0 114.6G 0 raid1 /mnt/usb
mmcblk0 179:0 0 29.2G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29G 0 part /
更新:
没有/etc/charray
,但/etc/cron.d/mdadm
看起来像:
$ cat /etc/cron.d/mdadm
#
# cron.d/mdadm -- schedules periodic redundancy checks of MD devices
#
# Copyright © martin f. krafft <[email protected]>
# distributed under the terms of the Artistic Licence 2.0
#
# By default, run at 00:57 on every Sunday, but do nothing unless the day of
# the month is less than or equal to 7. Thus, only run on the first Sunday of
# each month. crontab(5) sucks, unfortunately, in this regard; therefore this
# hack (see #380425).
57 0 * * 0 root if [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ]; then /usr/share/mdadm/checkarray --cron --all --idle --quiet; fi
它指的是/usr/share/mdadm/checkarray
运行时不会向 stdout 生成 ant 输出的脚本。
答案1
每月第一个星期日凌晨运行一个 cron 作业,对阵列进行全面检查。 OP 发现它正在运行。