MD raid5数组似乎突然停止工作。症状在某种程度上与本期相似,因为我的错误涉及到没有足够的设备来启动数组,但是在我的例子中,所有三个驱动器上的事件计数是相等的。这是一个raid 5阵列,应该有2个活动驱动器和一个奇偶校验,但是mdadm --对每个驱动器的检查显示,其中两个驱动器的角色被列为空闲驱动器,而只有一个驱动器是活动驱动器。
我试过mdadm --停止/dev/md1 1,然后是mdadm -组装/dev/md1 1(包括使用-force和-run标志的尝试)。
智能数据并不表示驱动器有任何问题(当前挂起和重新分配的扇区计数都为零),我已经通过设置映射的覆盖设备的步骤尝试了下面通过frostschutz链接的raid.wiki.kernel.org指南。
然后,我假设运行以下命令将创建一个raid数组,然后我可以尝试将其挂载为只读,并查看这是否会导致可读的文件系统或混乱(即确定我对sdf1是奇偶校验驱动器的猜测是否正确,还是应该再次尝试使用sde1) --但是它提供了下面的错误显示(也尝试了与相关的循环设备进行每次丢失-列表,结果相同)。
mdadm: super1.x cannot open /dev/mapper/sdh1: Device or resource busy
mdadm: /dev/mapper/sdh1 is not suitable for this array.
mdadm: super1.x cannot open /dev/mapper/sdf1: Device or resource busy
mdadm: /dev/mapper/sdf1 is not suitable for this array.
mdadm: create aborted此外,尽管mdadm -detail /dev/md1先前给出了以下输出(进一步),但它现在给出了:
/dev/md1:
Version : 1.2
Raid Level : raid0
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : bob:1 (local to host bob)
UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Events : 373364
Number Major Minor RaidDevice
- 253 11 - /dev/dm-11
- 253 10 - /dev/dm-10
- 253 9 - /dev/dm-9此外,我注意到dmsetup状态为所有三种覆盖提供了相同的信息,并且有一个看起来可疑的数字,它可能引用原始raid数组(16 8TB)的大小,而不是单个驱动器(8TB)的大小--不确定这是否是应该的?
sde1: 0 15627528888 snapshot 16/16777216000 16
sdh1: 0 15627528888 snapshot 16/16777216000 16
sdf1: 0 15627528888 snapshot 16/16777216000 16不确定从这一点到试图创建设备、挂载和检查文件系统以确认我是否猜到了正确的奇偶校验设备,使用覆盖来防止将任何内容写入实际驱动器。
更新:根据frostschutz下面的建议,数组在某种程度上处于某种状态,在能够对底层驱动器做任何事情之前,需要发出--停止。以前,当cat /proc/mdstat将数组显示为非活动时,我认为这意味着不可能是连接驱动器的东西,但事实并非如此(我以前也是运行-停止,但似乎后来做了一些事情,触发了不停止状态)。在获得驱动器顺序正确后(不是第一次尝试,很高兴我使用了overlays),数组通过了fsck检查,没有报告错误,现在启动并运行,好像什么都没有发生过一样。
运行其他诊断命令的结果:
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdh1[1](S) sde1[3](S) sdf1[0](S)
23440900500 blocks super 1.2/dev/md1:
Version : 1.2
Raid Level : raid0
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : bob:1 (local to host bob)
UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Events : 373364
Number Major Minor RaidDevice
- 8 113 - /dev/sdh1
- 8 81 - /dev/sdf1
- 8 65 - /dev/sde1当尝试mdadm时,dmesg中出现的行--组装/dev/md1 1:
md/raid:md1: device sdh1 operational as raid disk 1
md/raid:md1: not enough operational devices (2/3 failed)
md/raid:md1: failed to run raid set.
md: pers->run() failed ..-检查
/dev/sde1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261808 sectors, after=312 sectors
State : clean
Device UUID : e856f539:6a1b5822:b3b8bfb7:4d0f4741
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 40 sectors
Checksum : 9b5703bc - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : spare
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261800 sectors, after=312 sectors
State : clean
Device UUID : 7919e56f:2e08430e:95a4c4a6:1e64606a
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : d54ff3e1 - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : spare
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
Name : bob:1 (local to host bob)
Creation Time : Mon Mar 4 22:10:29 2019
Raid Level : raid5
Raid Devices : 3
Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
Data Offset : 261888 sectors
Super Offset : 8 sectors
Unused Space : before=261800 sectors, after=312 sectors
State : clean
Device UUID : 0c9a8237:7e79a439:d4e35b31:659f3c86
Internal Bitmap : 8 sectors from superblock
Update Time : Sun May 30 00:22:45 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 6ec2604b - correct
Events : 373364
Layout : left-symmetric
Chunk Size : 64K
Device Role : Active device 1
Array State : .AA ('A' == active, '.' == missing, 'R' == replacing)发布于 2021-05-29 16:54:55
看起来很奇怪。为此您可能必须使用mdadm -用覆盖创建 (具有正确的数据偏移量、块大小和驱动器顺序)。也许第一个驱动器不见了,因为这似乎是第一个失败了.
基本上,一旦一个驱动器不再记得它的设备角色,就没有办法用传统的方法恢复。两者都说它们是“备用的”,所以不知道驱动器是角色0,还是角色2,还是什么都没有(一些raid5设置实际上是出于某种原因使用备件)。因此,目前还不清楚:它们是否有有用的数据,如果有的话,它们的顺序是什么。你得自己决定。
当您正在执行时,也要检查智能数据,并首先使用ddrescue,如果这些驱动器中的任何一个实际上已经重新分配或挂起可能导致raid失败的扇区。
https://unix.stackexchange.com/questions/651961
复制相似问题