mdadm raid 1如何删除raid并删除数据偏移以正常安装?

mdadm raid 1如何删除raid并删除数据偏移以正常安装?

我有一个磁盘位于带有 btrfs 分区的 mdadm raid1 中。现在我想使用这个没有 raid 内容的分区并正常挂载它。我已经将 mdadm 超级块归零,但现在 mdadm 创建的偏移仍然存在,我无法挂载该分区。在我删除超级块之前,我注意到数据偏移量是 2048。

我现在能做什么?我会尝试将分区移动 2048 位,但我不确定如何准确执行此操作。

更改分区表并将起始扇区进一步设置为 2048 位难道还不够吗?

编辑:这是 mdadm 的完整信息

mdadm --examine /dev/sdb
/dev/sdb:
   MBR Magic : aa55
Partition[0] :      4980480 sectors at         2048 (type fd)
Partition[1] :      4194304 sectors at      4982528 (type fd)
Partition[2] :     11329536 sectors at      9437184 (type fd)
root@debian-test:/home/debian# mdadm --examine /dev/sdb3
/dev/sdb3:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8bd40f46:896acdc5:6f3fa1f7:67f779fc
           Name : dsm-virtualbox:2
  Creation Time : Thu Jul 12 23:05:16 2018
     Raid Level : raid1
   Raid Devices : 1

 Avail Dev Size : 11327488 (5.40 GiB 5.80 GB)
     Array Size : 5663744 (5.40 GiB 5.80 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=0 sectors
          State : clean
    Device UUID : 5cf0a635:f107d2b7:18498037:0a9d68f7

    Update Time : Thu Jul 12 23:29:40 2018
       Checksum : b3b49d3d - correct
         Events : 6


   Device Role : Active device 0
   Array State : A ('A' == active, '.' == missing, 'R' == replacing)

我只对分区 3 感兴趣,其余的是我将删除的系统分区。

答案1

我不是 mdadm 方面的专家,但假设原始数据只有一个偏移量,你是对的,因为你可以更改分区表来访问分区。您可能需要删除分区,然后在所需位置创建新分区。 MBR 是自包含的,不会将任何数据写入分区本身(仅适用于主分区)。

或者,您可以使用循环设备包装块设备,从给定的偏移量开始。据报道,偏移量为 2048 个扇区,相当于 2048 · 512 = 1048576 字节。

offset=1048576
losetup -f /dev/sdb3 -o $offset

然后挂载新创建的循环块设备(通常是/dev/loop0)。

或者直接使用mount:

mount -o loop,ro,offset=$offset /dev/sdb3 /mountpoint

ro出于实验过程中安全原因添加。)

相关内容