mdadm raid 1 정상적으로 설치하려면 raid를 제거하고 데이터 오프셋을 삭제하는 방법은 무엇입니까?

mdadm raid 1 정상적으로 설치하려면 raid를 제거하고 데이터 오프셋을 삭제하는 방법은 무엇입니까?

btrfs 파티션이 있는 mdadm raid1에 디스크가 있습니다. 이제 RAID 콘텐츠 없이 이 파티션을 사용하고 정상적으로 마운트하고 싶습니다. mdadm 슈퍼블록을 0으로 설정했지만 이제 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 -o loop,ro,offset=$offset /dev/sdb3 /mountpoint

( ro실험 중 안전상의 이유로 추가했습니다.)

관련 정보