我可以強制掛載無法修復的 raid 檔案系統嗎?

我可以強制掛載無法修復的 raid 檔案系統嗎?

我有一個 3 磁碟 RAID5 設定。遷移時不小心,一塊磁碟從陣列中彈出,緊接著另一塊磁碟緊跟在後。

因此,我無法合法地重建陣列,因為沒有對齊的磁碟對。

我已經使用 dd 將陣列的兩個磁碟克隆到一對備用(相同)磁碟中,這樣我就可以將其搞亂並根據需要多次重新啟動。

我知道如果資料不匹配我很可能會被損壞,但我想嘗試只是作為學習某些東西的一種手段。

如果我強制組裝兩個磁碟,我可以啟動陣列,但無法安裝它,因為:

$ 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(它什麼都不做)和dumpe2fs /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)

相關內容