收到 RAID 进入降级状态的消息:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
524224 blocks [2/2] [UU]
md2 : active raid10 sda5[0] sdb5[1] sdd5[3] sdc5[2](F)
1128864768 blocks super 1.2 512K chunks 2 near-copies [4/3] [UU_U]
md1 : active raid10 sda2[0] sdb2[1] sdc2[2] sdd2[3]
41909248 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
登录到服务器并删除故障磁盘(未将其标记为故障):
#> mdadm --manage /dev/md2 --remove /dev/sdc5
当前状态如下:
#> cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
524224 blocks [2/2] [UU]
md2 : active raid10 sda5[0] sdb5[1] sdd5[3]
1128864768 blocks super 1.2 512K chunks 2 near-copies [4/3] [UU_U]
md1 : active raid10 sda2[0] sdb2[1] sdc2[2] sdd2[3]
41909248 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
更多详细信息:
#> mdadm --detail /dev/md2
/dev/md2:
Version : 1.2
Creation Time : Sun Apr 6 13:42:43 2014
Raid Level : raid10
Array Size : 1128864768 (1076.57 GiB 1155.96 GB)
Used Dev Size : 564432384 (538.28 GiB 577.98 GB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Wed Jun 3 10:29:14 2015
State : active, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : yyc-controller:2
UUID : c9fe371a:2c8345bf:68054eba:bb4d78aa
Events : 41545
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 21 1 active sync /dev/sdb5
2 0 0 2 removed
3 8 53 3 active sync /dev/sdd5
现在我尝试将其添加回来但失败了:
#> mdadm --manage /dev/md2 --add /dev/sdc5
mdadm: add new device failed for /dev/sdc5 as 4: Invalid argument
我怎样才能将磁盘添加为 2 号而不是删除?
答案1
我遇到了类似的问题。raid1 的一个磁盘出现了一些问题,我已将整个磁盘从 raid 中移除。在破坏性坏块检查写入随机模式后,磁盘的四个分区中的三个可以毫无问题地重新添加到 raid 中。只有最后一个分区出现上述错误。系统日志报告:
md: sdb4 does not have a valid v1.2 superblock, not importing!
我不想像有时建议的那样停止突袭并完全重建它,但我可以通过将随机模式清零来解决这个问题,其中 mdadm 似乎使用 dd 找到一些类似超级块的字节:
dd of=/dev/sdb4 if=/dev/zero bs=1M count=1
之后 mdadm 可以添加分区并且不会出现错误。
答案2
如果确实是同一个驱动器/分区,则可以使用开关--re-add
,如下所示:mdadm --manage /dev/md1 --re-add /dev/sdc5
。请参阅这了解其工作原理的更多信息。我强烈建议在操作之前做好备份。