![SSD 发生故障,mdadm 认为 RAID0 阵列没有问题](https://linux22.com/image/1484728/SSD%20%E5%8F%91%E7%94%9F%E6%95%85%E9%9A%9C%EF%BC%8Cmdadm%20%E8%AE%A4%E4%B8%BA%20RAID0%20%E9%98%B5%E5%88%97%E6%B2%A1%E6%9C%89%E9%97%AE%E9%A2%98.png)
我有一个使用 Debian 中的 mdadm 创建的 RAID0 阵列。sdf 是损坏的驱动器。
$ cat /proc/mdstat
md4 : active raid0 sdf1[1] sde1[0]
468859904 blocks super 1.2 512k chunks
$ mdadm --misc --detail /dev/md4
/dev/md4:
Version : 1.2
Creation Time : <...>
Raid Level : raid0
Array Size : 468859904 (447.14 GiB 480.11 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : <...>
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Name : server:4 (local to host server)
UUID : <...>
Events : 0
Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1
1 8 81 1 active sync
$ file /dev/sdf
/dev/sdf: ERROR: cannot open `/dev/sdf' (No such file or directory)
$ tail /var/log/messages
Feb 24 08:03:32 server kernel: [33166523.696833] sd 0:0:5:0: [sdf] CDB: Write(10): 2a 00 05 e0 88 50 00 00 30 00
Feb 24 08:03:32 server kernel: [33166523.696903] sd 0:0:5:0: [sdf] Device not ready
Feb 24 08:03:32 server kernel: [33166523.696906] sd 0:0:5:0: [sdf] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 24 08:03:32 server kernel: [33166523.696909] sd 0:0:5:0: [sdf] Sense Key : Not Ready [current]
Feb 24 08:03:32 server kernel: [33166523.696912] sd 0:0:5:0: [sdf] Add. Sense: Logical unit not ready, cause not reportable
Feb 24 08:03:32 server kernel: [33166523.696916] sd 0:0:5:0: [sdf] CDB: Write(10): 2a 00 05 e0 88 90 00 00 08 00
值得注意的事情:
/var/log/messages 中的消息在几分钟内重复数百次,然后停止。
mdadm 不认为阵列已经失败。
mdadm --misc --detail /dev/md4
/dev/sdf1 所在位置底部的空白处。块设备 /dev/sdf 不再存在。
我无法手动将驱动器标记为阵列中的故障,因为 /dev/sdf 不存在。
由于 mdadm 认为阵列没有问题,所以我从未收到驱动器发生故障的警报。什么原因导致这种情况发生?
答案1
这一页说:
如果物理磁盘坏了或者被拔掉了,只需
mdadm /dev/mdX --fail detached --remove detached