序幕
我的/dev/md0 RAID 6中有以下设备: /dev/sd[abcdef]
以下驱动器也存在,与RAID无关: /dev/sd[gh]
以下驱动器是已连接的读卡器的一部分,与以下版本无关: /dev/sd[ijkl]
分析
sdf的SATA电缆坏了(你可以说它在使用时被拔掉),然后sdf被从/dev/md0arrays中拒绝。 我更换了电缆,驱动器回到了/dev/sdm 。 请不要质疑我的诊断,驱动器没有问题。
mdadm --detail /dev/md0显示sdf(F) ,即sdf是错误的。 所以我用mdadm --manage /dev/md0 --remove faulty – 删除有问题的驱动器。
现在mdadm --detail /dev/md0在sdf曾经是的空间中显示“已删除”。
root @ galaxy:〜#mdadm --detail / dev / md0
的/ dev / md0的:
版本:1.2
资料来源:星期三七月30 13:17:25 2014
团队副本:raid6
arrays大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发尺寸:3906887168(3725.90 GiB 4000.65 GB)
Raid设备:6
设备总数:5
持久性:超级块是持久的
意图位图:内部
更新时间:2015年3月17日21:16:14
状态:活跃,退化
有源器件:5
工作设备:5
失败的设备:0
备用设备:0
布局:左对称
块大小:512K
名称:eclipse:0
UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:67205
数量主要次要RaidDevice状态
0 8 0 0主动同步/ dev / sda
1 8 32 1活动同步/ dev / sdc
4 0 0 4删除
3 8 48 3主动同步/ dev / sdd
4 8 64 4活动同步/ dev / sde
5 8 16 5活动同步/ dev / sdb
出于某种原因,“已删除”设备的RaidDevice现在匹配一个活动的设备。 无论如何,让我们尝试添加以前的设备(现在称为/dev/sdm ),因为这是原来的意图:
root @ galaxy:〜#mdadm --add / dev / md0 / dev / sdm
mdadm:添加了/ dev / sdm
root @ galaxy:〜#mdadm --detail / dev / md0
的/ dev / md0的:
版本:1.2
资料来源:星期三七月30 13:17:25 2014
团队副本:raid6
arrays大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发尺寸:3906887168(3725.90 GiB 4000.65 GB)
Raid设备:6
设备总数:6
持久性:超级块是持久的
意图位图:内部
更新时间:2015年3月17日21:19:30
状态:活跃,退化
有源器件:5
工作设备:6
失败的设备:0
备用设备:1
布局:左对称
块大小:512K
名称:eclipse:0
UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:67623
数量主要次要RaidDevice状态
0 8 0 0主动同步/ dev / sda
1 8 32 1活动同步/ dev / sdc
4 0 0 4删除
3 8 48 3主动同步/ dev / sdd
4 8 64 4活动同步/ dev / sde
5 8 16 5活动同步/ dev / sdb
6 8 192 - spare / dev / sdm
正如你所看到的,设备显示为备用,并拒绝与其余的数组同步:
root @ galaxy:〜#cat / proc / mdstat
个性:[raid6] [raid5] [raid4]
md0:active raid6 sdm [6](S)sdb [5] sda [0] sde [4] sdd [3] sdc [1]
15627548672块超级1.2级6,512k块,algorithm2 [6/5] [UU_UUU]
位图:17/30页[68KB],65536KB大块
未使用的设备:
在添加之前,我也尝试使用mdadm --zero-superblock /dev/sdm ,结果相同。
我使用RAID 6的原因是提供高可用性。 我不会接受停止/dev/md0并用--assume-clean或类似的解决方法重新组装它来解决这个问题。 这需要在网上解决,否则我没有看到使用mdadm的要点。
经过几个小时的谷歌search以及来自JyZyXEL的#linux-raid Freenode频道的一些非常明智的帮助,我们有一个解决scheme! 在这个过程中,RAIDarrays没有一个中断 – 正是我需要和mdadm的预期。
对于一些(目前未知的)原因,RAID状态被冻结。 获得这个命令是cat /sys/block/md0/md/sync_action :
root @ galaxy:〜#cat / sys / block / md0 / md / sync_action 冻结的
简而言之,这就是为什么它没有使用可用的备件。 我所有的头发都是以一个简单的猫命令为代价的!
所以,只需解冻数组:
root @ galaxy:〜#echo idle> / sys / block / md0 / md / sync_action
你走了!
root @ galaxy:〜#cat / sys / block / md0 / md / sync_action
恢复
root @ galaxy:〜#cat / proc / mdstat
个性:[raid6] [raid5] [raid4]
md0:active raid6 sdm [6] sdb [5] sda [0] sde [4] sdd [3] sdc [1]
15627548672块超级1.2级6,512k块,algorithm2 [6/5] [UU_UUU]
[> ....................]恢复= 0.0%(129664/3906887168)完成= 4016.8分钟速度= 16208K /秒
位图:17/30页[68KB],65536KB大块
未使用的设备:
root @ galaxy:〜#mdadm --detail / dev / md0
的/ dev / md0的:
版本:1.2
资料来源:星期三七月30 13:17:25 2014
团队副本:raid6
arrays大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发尺寸:3906887168(3725.90 GiB 4000.65 GB)
Raid设备:6
设备总数:6
持久性:超级块是持久的
意图位图:内部
更新时间:2015年3月17日22:05:30
状态:活跃,退化,恢复
有源器件:5
工作设备:6
失败的设备:0
备用设备:1
布局:左对称
块大小:512K
重build状态:完成0%
名称:eclipse:0
UUID:cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:73562
数量主要次要RaidDevice状态
0 8 0 0主动同步/ dev / sda
1 8 32 1活动同步/ dev / sdc
6 8 192 2备用重build/ dev / sdm
3 8 48 3主动同步/ dev / sdd
4 8 64 4活动同步/ dev / sde
5 8 16 5活动同步/ dev / sdb
幸福:-)