Mil*_*vic 4 linux raid hard-drive mdadm software-raid
序幕
我的/dev/md0RAID 6 中有以下设备:/dev/sd[abcdef]
以下驱动器也存在,与 RAID 无关: /dev/sd[gh]
以下驱动器是已连接的读卡器的一部分,同样是无关的: /dev/sd[ijkl]
分析
sdf的 SATA 电缆坏了(你可以说它在使用时被拔掉了),sdf随后被/dev/md0阵列拒绝。我更换了电缆,驱动器又回来了,现在在/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
创建时间:2014 年 7 月 30 日星期三 13:17:25
突袭等级:raid6
阵列大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发大小:3906887168(3725.90 GiB 4000.65 GB)
突袭装置:6
设备总数:5
持久性:超级块是持久性的
意图位图:内部
更新时间:2015 年 3 月 17 日星期二 21:16:14
状态:活动,降级
有源设备:5
工作装置:5
失败的设备:0
备用设备:0
布局:左对称
块大小:512K
名称:日食:0
UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:67205
Number Major Minor 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
创建时间:2014 年 7 月 30 日星期三 13:17:25
突袭等级:raid6
阵列大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发大小:3906887168(3725.90 GiB 4000.65 GB)
突袭装置:6
设备总数:6
持久性:超级块是持久性的
意图位图:内部
更新时间:2015 年 3 月 17 日星期二 21:19:30
状态:活动,降级
有源设备:5
工作装置:6
失败的设备:0
备用设备:1
布局:左对称
块大小:512K
名称:日食:0
UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:67623
Number Major Minor 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 - 备用 /dev/sdm
如您所见,该设备显示为备用设备并拒绝与阵列的其余部分同步:
root@galaxy:~# cat /proc/mdstat
个性:[raid6] [raid5] [raid4]
md0 : 活动 raid6 sdm[6](S) sdb[5] sda[0] sde[4] sdd[3] sdc[1]
15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [UU_UUU]
位图:17/30 页 [68KB],65536KB 块
未使用的设备:
mdadm --zero-superblock /dev/sdm在添加之前我也尝试使用,结果相同。
我使用 RAID 6 的原因是为了提供高可用性。我不会接受停止/dev/md0并重新组装它--assume-clean或类似的解决方法来解决这个问题。这个需要在线解决,否则我看不出使用mdadm的意义。
经过数小时的谷歌搜索和来自#linux-raid Freenode 频道的 JyZyXEL 的一些非常明智的帮助,我们有了一个解决方案!在此过程中,RAID 阵列没有发生任何中断——这正是我需要和期望的 mdadm。
由于某些(目前未知的)原因,RAID 状态被冻结。解决这个问题的获胜命令是cat /sys/block/md0/md/sync_action:
root@galaxy:~# cat /sys/block/md0/md/sync_action 冻结
简而言之,这就是它没有使用可用备件的原因。我所有的头发都以一个简单的 cat 命令为代价消失了!
因此,只需解冻数组:
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 : 活动 raid6 sdm[6] sdb[5] sda[0] sde[4] sdd[3] sdc[1]
15627548672 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [UU_UUU]
[>........] 恢复 = 0.0% (129664/3906887168) 完成=4016.8min 速度=16208K/sec
位图:17/30 页 [68KB],65536KB 块
未使用的设备:
root@galaxy:~# mdadm --detail /dev/md0
/dev/md0:
版本:1.2
创建时间:2014 年 7 月 30 日星期三 13:17:25
突袭等级:raid6
阵列大小:15627548672(14903.59 GiB 16002.61 GB)
使用的开发大小:3906887168(3725.90 GiB 4000.65 GB)
突袭装置:6
设备总数:6
持久性:超级块是持久性的
意图位图:内部
更新时间:2015 年 3 月 17 日星期二 22:05:30
状态:活动、降级、恢复中
有源设备:5
工作装置:6
失败的设备:0
备用设备:1
布局:左对称
块大小:512K
重建状态:0% 完成
名称:日食:0
UUID : cc7dac66:f6ac1117:ca755769:0e59d5c5
活动:73562
Number Major Minor RaidDevice 状态
0 8 0 0 主动同步 /dev/sda
1 8 32 1 主动同步 /dev/sdc
6 8 192 2 备用重建 /dev/sdm
3 8 48 3 主动同步 /dev/sdd
4 8 64 4 主动同步 /dev/sde
5 8 16 5 主动同步 /dev/sdb
幸福:-)