RAID 1 群集中的 HDD 中分区无法访问

RAID 1 群集中的 HDD 中分区无法访问

由于缺乏知识,我在这里别无选择,我真的需要帮助才能恢复我的数据。是的,我犯了一个错误,太相信 RAID 系统了……

事情是这样的:RAID 1 中的 2 个硬盘中的一个发生故障,但无法读取任何数据。NAS 表示无法访问该卷。我想这可能是因为硬盘坏了,所以我用另一个硬盘替换了它,但没有成功。我决定将它们全部移除,用 2 个新的 2TB 硬盘重置 NAS,并计划稍后读取正常的 500g 硬盘以恢复我的数据并将其放入新配置的服务器中。

所以我买了一个 SATA 转 USB 盒,并尝试使用 mdadm 在 Linux 笔记本电脑上读取数据。我能最接近数据的方法是使用 mdadm --assemble --scan 安装 RAID。生成的卷是一个 2.1GB 的卷,其中包含etcuserlost+found文件夹。正如您在下面的输出中看到的那样,包含数据的分区就在那里,只是无法访问。

有谁能帮我吗?或者帮我转到正确的地方?还是说我肯定被坑了?

在此先感谢您的帮助 !

相关输出

$$ fdisk -l

Disque /dev/sda : 465,76 GiB, 500107862016 octets, 976773168 secteurs
Disk model: 00AAKX-001CA0   
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 33553920 octets
Type d'étiquette de disque : gpt
Identifiant de disque : C8CCF56D-AA4F-4AD3-AE23-1D626048D753

Périphérique   Début       Fin  Secteurs Taille Type
/dev/sda1       2048    524287    522240   255M Système de fichiers Linux
/dev/sda2     524288   4718591   4194304     2G RAID Linux
/dev/sda3    4718592   8912895   4194304     2G RAID Linux
/dev/sda4    8912896 976773119 967860224 461,5G RAID Linux


Disque /dev/md126 : 2 GiB, 2144337920 octets, 4188160 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 33553920 octets


Disque /dev/md0 : 2 GiB, 2144337920 octets, 4188160 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 33553920 octets

$$ mdadm --detail /dev/md0

/dev/md0:
           Version : 1.2
     Creation Time : Sat Jun 18 15:15:31 2022
        Raid Level : raid1
        Array Size : 2094080 (2045.00 MiB 2144.34 MB)
     Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

       Update Time : Sat Feb 10 11:08:47 2024
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : AS1102T-29C0:0
              UUID : 8c8a1df8:da6ea8f9:1e1d2f61:a6978048
            Events : 871

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8        2        1      active sync   /dev/sda2

$$ mdadm --检查 /dev/sda4

/dev/sda4:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x8
     Array UUID : 28a37dd1:069d4a00:848af77e:d11cf15f
           Name : AS1102T-29C0:1
  Creation Time : Sat Jun 18 15:15:44 2022
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 967596032 sectors (461.39 GiB 495.41 GB)
     Array Size : 483798016 KiB (461.39 GiB 495.41 GB)
    Data Offset : 264192 sectors
   Super Offset : 8 sectors
   Unused Space : before=263912 sectors, after=0 sectors
          State : clean
    Device UUID : e237d8b7:cd97b14d:ab095b38:af3099cb

    Update Time : Sat Feb  3 12:40:15 2024
  Bad Block Log : 512 entries available at offset 264 sectors - bad blocks present.
       Checksum : 2db3dfeb - correct
         Events : 0


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

$ mdadm --assemble --scan

mdadm: Fail to create md0 when using /sys/module/md_mod/parameters/new_array, fallback to creation via node
mdadm: /dev/md/0 has been started with 1 drive (out of 2).
$ mdadm --assemble --force
$mdadm --assemble --force /dev/md0 /dev/sda4
mdadm: failed to add /dev/sda4 to /dev/md0: Invalid argument
mdadm: /dev/md0 assembled from -1 drives and 1 spare - not enough to start the array.
$mdadm --assemble --force /dev/md0 /dev/sda1
mdadm: Cannot assemble mbr metadata on /dev/sda1
mdadm: /dev/sda1 has no superblock - assembly aborted

不要犹豫,想要更多!

答案1

关键问题是mdadm --examine /dev/sda4

Device Role : spare

这意味着幸存的磁盘存在一些问题,并且与阵列“半分离”(即:它不再处于活动状态)。警告证实了这一点bad blocks present

如果您确实需要恢复数据,我强烈建议您就此停下来并寻求专业帮助。

如果,且仅当这不是一个选择,如果出现任何问题,您已经准备好接受全部数据丢失,您可以尝试完全绕过 RAID 阵列,直接使用以下命令挂载内部文件系统:

mkdir /mnt/sda4
mount -o ro,norecovery,offset=$((264192*512)) /dev/sda4 /mnt/sda4

相关内容