很久以前,我从 JMicron JMB363 卡的启动菜单中创建了 RAID1 对。在 Windows 下一切运行正常,RAID1 阵列被识别为单个磁盘。我不记得磁盘有多少个分区,但可以肯定有一个 NTFS 分区,这是镜像在 Windows 上工作时唯一使用的分区。
我最近将操作系统从 Windows 移到了 Linux,无法再使用 NTFS 分区。从分区的角度来看,我可以看到这两个磁盘与预期的完全相同:
#lsblk --fs
...
sdb linux_raid_member 1.2 MyRAIDLabel <uuid>
└─md127
sdc linux_raid_member 1.2 MyRAIDLabel <uuid>
└─md127
该fdisk
命令显示磁盘对中的 NTFS 分区
#fdisk -l
Disk /dev/sdc: 465.76 GiB, 500107862016 bytes, 976773168 sectors
...
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 204802047 204800000 97.7G 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1BD14
...
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 204802047 204800000 97.7G 7 HPFS/NTFS/exFAT
然而奇怪的是,文件系统中没有/dev/sdb1
或/dev/sdc1
,只有/dev/sdb
和/dev/sdc
。因此 NTFS 分区看起来像是“隐藏”的。
还md
显示了该设备
...
Disk /dev/md127: 465.64 GiB, 499973619712 bytes, 976510976 sectors
...
但是据我所知,md
它是通过软件实现多个磁盘的 RAID。我不明白 JMicron 卡是否处理了两个磁盘之间的同步,或者是否由 Windows 驱动程序处理。所以问题是:
当卡处理 RAID 阵列时,我是否也需要使用 Linux md?
如果我尝试挂载,/dev/md127
我会收到错误:
#mount -t auto -o loop /dev/md127 /mnt/raid
mount: /mnt/raid: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
如果我尝试安装/dev/sdb
或/dev/sdc
收到另一个错误:
mount: /mnt/raid: unknown filesystem type 'linux_raid_member'
另一个无法解释的事情是,如果我从两个磁盘设备读取前 16 个字节,我得到的结果与以下结果不同md
:
# hexdump -C -n 16 /dev/md127
00000000 20 69 6e 20 6f 72 67 2e 61 70 61 63 68 65 2e 68 | in org.apache.h|
00000010
# hexdump -C -n 16 /dev/sdb
00000000 33 c0 8e d0 bc 00 7c 8e c0 8e d8 be 00 7c bf 00 |3.....|......|..|
00000010
# hexdump -C -n 16 /dev/sdc
00000000 33 c0 8e d0 bc 00 7c 8e c0 8e d8 be 00 7c bf 00 |3.....|......|..|
00000010
看起来md
设备以文件内容开始。
这怎么可能?
我如何恢复阵列中的数据?
附加md
数据:
以下是mdstat
文件中报告的一些附加信息:
#cat /proc/mdstat
Personalities : [raid1]
md127 : active (auto-read-only) raid1 sdb[1] sdc[0]
488255488 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
unused devices: <none>
以下是输出mdadm
:
mdadm --detail /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Array Size : 488255488 (465.64 GiB 499.97 GB)
Used Dev Size : 488255488 (465.64 GiB 499.97 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sat Feb 25 20:21:09 2023
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : bitmap
Name : MirrorRAID:0
UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Events : 150294
Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 16 1 active sync /dev/sdb
#mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Name : MirrorRAID:0
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 976511024 sectors (465.64 GiB 499.97 GB)
Array Size : 488255488 KiB (465.64 GiB 499.97 GB)
Used Dev Size : 976510976 sectors (465.64 GiB 499.97 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=48 sectors
State : clean
Device UUID : 934abcd2:ead8a42a:ca23dd27:cd380990
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Feb 25 20:21:09 2023
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 87fc2008 - correct
Events : 150294
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
#mdadm --examine /dev/sdc
/dev/sdc:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 95f02fbb:71f61cca:e24e932f:2dcfc5e0
Name : MirrorRAID:0
Creation Time : Sun Sep 7 17:57:53 2014
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 976511024 sectors (465.64 GiB 499.97 GB)
Array Size : 488255488 KiB (465.64 GiB 499.97 GB)
Used Dev Size : 976510976 sectors (465.64 GiB 499.97 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=48 sectors
State : clean
Device UUID : ce4a6223:22a98469:8486de1b:16f34071
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Feb 25 20:21:09 2023
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : ecbb0d7c - correct
Events : 150294
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)