RAID ファイルシステムを修復不能なほど強制マウントできますか?

RAID ファイルシステムを修復不能なほど強制マウントできますか?

3 ディスクの RAID5 セットアップを使用していました。不注意に移行中に、ディスクがアレイから飛び出し、その後すぐに別のディスクも飛び出しました。

したがって、ディスクのペアが揃っていないため、アレイを正当に再構築することはできません。

すでに dd を使用してアレイの 2 つのディスクを予備の (同一の) ディスクのペアにクローン作成してあるので、何度でも失敗してもやり直すことができます。

データが一致しないと破損する可能性が高いことはわかっていますが、何かを学ぶ手段として試してみたいと思います。

2 つのディスクを強制的にアセンブルするとアレイを起動できますが、次の理由によりマウントできません:

$ sudo mdadm /dev/md1 --assemble /dev/sde2 /dev/sdd2 -f 
mdadm: /dev/md1 has been started with 2 drives (out of 3).


sudo mount -v /dev/md1 /media/mfloris/raidNas/ 
mount: /media/mfloris/raidNas: wrong fs type, bad option, bad superblock on /dev/md1, missing codepage or helper program, or other error.

メタデータをいじって、ディスクが整列しているとシステムに認識させる方法はありますか?

すでに試してみましたfsck -n /dev/md1(何もしない)そしてダンプ2fs /dev/md1(スーパーブロックに不正なマジックナンバーがあると表示されます)

私も試しました:

$sudo file -skL /dev/md1 
/dev/md1: BTRFS Filesystem sectorsize 4096, nodesize 16384, leafsize 16384, UUID=f0b84f7d-7247-4781-959d-1da2eea20e66, 407236403200/5999719088128 bytes used, 1 devices\012- data

$ sudo grep btrfs /proc/filesystems
    btrfs

$ lsmod | grep btrfs
btrfs                1138688  0
zstd_compress         163840  1 btrfs
xor                    24576  2 async_xor,btrfs
raid6_pq              114688  4 async_pq,btrfs,raid456,async_raid6_recov

sudo mount -t btrfs -v /dev/md1 /media/mfloris/raidNas/
mount: /media/mfloris/raidNas: wrong fs type, bad option, bad superblock on /dev/md1, missing codepage or helper program, or other error.

$sudo btrfs check /dev/md1
parent transid verify failed on 654950400 wanted 8458 found 8456
parent transid verify failed on 654950400 wanted 8458 found 8456
parent transid verify failed on 654950400 wanted 8458 found 8460
parent transid verify failed on 654950400 wanted 8458 found 8460
Ignoring transid failure
leaf parent key incorrect 654950400
ERROR: cannot open file system

そして危険な

$ sudo btrfsck --init-extent-tree /dev/md1 
Checking filesystem on /dev/md1
UUID: f0b84f7d-7247-4781-959d-1da2eea20e66
Creating a new extent tree
ERROR: tree block bytenr 169114808628 is not aligned to sectorsize 4096
Error reading tree block
error pinning down used bytes
ERROR: attempt to start transaction over already running one
extent buffer leak: start 653361152 len 16384

スーパーブロックを修正するにはどうすればいいでしょうか?

これはデバイスの状態です。イベント カウンターは近く、更新時間は約 8 時間離れていますが、その期間中にデータが変更されなかった可能性が高くなります。

$sudo mdadm -E /dev/sd*2
/dev/sdd2:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b57aca26:65609077:9fe7889a:6241c63a
           Name : NAS:1
  Creation Time : Fri Aug  3 08:13:23 2018
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5859101344 (2793.84 GiB 2999.86 GB)
     Array Size : 5859100672 (5587.67 GiB 5999.72 GB)
  Used Dev Size : 5859100672 (2793.84 GiB 2999.86 GB)
   Super Offset : 5859101600 sectors
   Unused Space : before=0 sectors, after=912 sectors
          State : clean
    Device UUID : bb700941:772cb7b0:db32a940:e902d0bd

Internal Bitmap : -16 sectors from superblock
    Update Time : Tue Aug 28 07:47:49 2018
       Checksum : 153fd25e - correct
         Events : 78660

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : .A. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde2:
          Magic : a92b4efc
        Version : 1.0
    Feature Map : 0x1
     Array UUID : b57aca26:65609077:9fe7889a:6241c63a
           Name : NAS:1
  Creation Time : Fri Aug  3 08:13:23 2018
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 5859101344 (2793.84 GiB 2999.86 GB)
     Array Size : 5859100672 (5587.67 GiB 5999.72 GB)
  Used Dev Size : 5859100672 (2793.84 GiB 2999.86 GB)
   Super Offset : 5859101600 sectors
   Unused Space : before=0 sectors, after=912 sectors
          State : clean
    Device UUID : c844b66b:fe21447d:e74c865a:751baa07

Internal Bitmap : -16 sectors from superblock
    Update Time : Tue Aug 28 00:04:18 2018
       Checksum : 703361e6 - correct
         Events : 78660

         Layout : left-symmetric
     Chunk Size : 512K

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

関連情報