现有 mdadm RAID5 未安装,驱动器或超级块有问题

现有 mdadm RAID5 未安装,驱动器或超级块有问题

我有 4 个 3TB NAS 设置为 RAID5,已经运行近一年了。

最近突然关机(必须按下电源按钮)后,RAID 将不再在启动时安装。

我跑过:

mdadm --examine /dev/sd[bcdefghijklmn]1 >> raid.status

输出如下:

/dev/sda:
Magic : a92b4efc
版本 : 1.2
功能映射 : 0x0
数组 UUID : 7d2a94ca:d9a42ca9:a4e6f976:8b5ca26b
名称 : BruceLee:0 (主机 BruceLee 本地)
创建时间 : Mon Feb 4 23:07:01 2013
Raid Level :raid5
Raid 设备:4

可用开发大小:5860271024 (2794.40 GiB 3000.46 GB)
阵列大小:8790405888 (8383.18 GiB 9001.38 GB)
已用开发大小:5860270592 (2794.39 GiB 3000.46 GB)
数据偏移:262144 个扇区
偏移量:8 个扇区
状态:活动
设备 UUID:2c1e0041: 21d926d6:1c69aa87:f1340a12

更新时间:2014 年 12 月 27 日星期六 20:54:55
校验和:d94ccaf5 - 正确
事件:17012

布局:左对称
块大小:128K

设备角色:活动设备 0
阵列状态:AAA。 ('A' == 活动,'.' == 缺失)
/dev/sdb:
Magic : a92b4efc
版本 : 1.2
功能映射 : 0x0
数组 UUID : 7d2a94ca:d9a42ca9:a4e6f976:8b5ca26b
名称 : BruceLee:0 (主机 BruceLee 本地) )
创建时间 : Mon Feb 4 23:07:01 2013
Raid 级别 : raid5
Raid 设备 : 4

可用开发大小:5860271024 (2794.40 GiB 3000.46 GB)
阵列大小:8790405888 (8383.18 GiB 9001.38 GB)
已用开发大小:5860270592 (2794.39 GiB 3000.46 GB)
数据偏移:262144 个扇区
偏移量:8 个扇区
状态:活动
设备 UUID:a0261c8f: 8a2fbb93:4093753a:74e7c5f5

更新时间:2014 年 12 月 27 日星期六 20:54:55
校验和:7b84067b - 正确
事件:17012

布局:左对称
块大小:128K

设备角色:活动设备 1
阵列状态:AAA。 ('A' == 活动,'.' == 缺失)
/dev/sdc:
Magic : a92b4efc
版本 : 1.2
功能映射 : 0x0
数组 UUID : 7d2a94ca:d9a42ca9:a4e6f976:8b5ca26b
名称 : BruceLee:0 (主机 BruceLee 本地)
创建时间 : Mon Feb 4 23:07:01 2013
Raid 级别 : raid5
Raid 设备 : 4

可用开发大小:5860271024 (2794.40 GiB 3000.46 GB)
阵列大小:8790405888 (8383.18 GiB 9001.38 GB)
已用开发大小:5860270592 (2794.39 GiB 3000.46 GB)
数据偏移:262144 个扇区
偏移量:8 个扇区
状态:活动
设备 UUID:9dc56e9e: d6b00f7a:71da67c7:38b7436c

更新时间:2014 年 12 月 27 日星期六 20:54:55
校验和:749b3dba - 正确
事件:17012

布局:左对称
块大小:128K

设备角色:活动设备 2
阵列状态:AAA。 ('A' == 活动,'.' == 缺失)
/dev/sdd:
Magic : a92b4efc
版本 : 1.2
功能映射 : 0x0
数组 UUID : 7d2a94ca:d9a42ca9:a4e6f976:8b5ca26b
名称 : BruceLee:0 (主机 BruceLee 本地)
创建时间 : Mon Feb 4 23:07:01 2013
Raid 级别 : raid5
Raid 设备 : 4

可用开发大小:5860271024 (2794.40 GiB 3000.46 GB)
阵列大小:8790405888 (8383.18 GiB 9001.38 GB)
已用开发大小:5860270592 (2794.39 GiB 3000.46 GB)
数据偏移:262144 个扇区
偏移量:8 个扇区
状态:干净
设备 UUID:81e5776f: 2a466bee:399251a0:ab60e9a4

更新时间:2014 年 11 月 2 日星期日 09:07:02
校验和:cb4aebaf - 正确
事件:159

布局:左对称
块大小:128K

设备角色:活动设备 3
阵列状态:AAAA('A' == 活动,'.' == 缺失)

在 Ubuntu 磁盘管理器中检查磁盘时,sda/b/c 显示为正常,sdd 显示为正常,但有 64 个坏扇区

如果我跑fsck /dev/md0

上面写着:

fsck.ext2:尝试打开 /dev/md0 时参数无效

无法读取超级块或未描述有效的 ext2/ext3/ext4
文件系统。如果设备有效并且确实包含 ext2/ext3/ext4
文件系统(而不是 swap 或 ufs 或其他文件系统),则超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
e2fsck -b 8193 <device >

e2fsck -b 32768 <设备>

最后如果我跑

mdadm --examine /dev/sd[a-d] | egrep 'Event|/dev/sd'

我得到:

/dev/sda:
事件:17012
/dev/sdb:
事件:17012
/dev/sdc:
事件:17012
/dev/sdd:
事件:159

如果我运行cat /proc/mdstat我会得到:

个性 : [线性] [多路径] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : 不活动 sdb[1](S) sdc[2](S) sdd[3](S) sda[0](S)
1172054204个性:[线性] [多路径] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0:非活动 sdb[1](S) sdc[2](S) sdd[3](S) sda[0](S)
11720542048 块超级 1.2

未使用的设备:<无>

8块超1.2

未使用的设备:<无>

最后运行file -s /dev/md0

我得到:

/dev/md0: 空

基本上我认为我需要在 RAID 上运行 --assemble 但我担心会丢失我的数据,而且第四个驱动器也让我有点担心。

有人可以建议下一步最好的逻辑步骤来让它重新启动并运行吗?

答案1

我通过执行以下策略取得了最大的成功:

# mdadm --stop /dev/md0
# mdadm --create /dev/md0 --metadata=1.2 --level=5 --raid-devices=4 --chunk=128 --layout=left-symmetric /dev/sda1 /dev/sdb1 /dev/sdc1 missing

这将创建具有与最初使用的相同参数的设备。这missing会导致设备在降级模式下创建,因此不会发生磁盘重新同步。然后,您可以检查文件系统是否完好(以不干净的关闭为模);如果是这样,您可以继续添加/dev/sdd1到数组中:

# mdadm --add /dev/md0 /dev/sdd1

mdadm/dev/sdd1现在将从现有的 raid 阵列重建。

当然,您可能更喜欢执行 a--stop后接 a --assemble,但过去在另一个磁盘发生故障后热插拔错误的磁盘后,上述方法对我有用。

请注意,您的 /dev/sdd1 显然已离线 4 周。我建议使用一些监控脚本来通知您 md 失败;在 Debian 中,这是由/etc/cron.daily/mdadm脚本自动提供的,基本上是:

mdadm --monitor --scan --oneshot

也可以通过mdadm作为守护进程运行来完成:

mdadm --monitor --pid-file /run/mdadm/monitor.pid --daemonise --scan --syslog

您可以提供一个电子邮件地址来接收警报;当然,在这种情况下您的系统需要能够发送电子邮件......--mail [email protected]

相关内容