mdadm 어레이를 시작하기에 장치가 부족합니다. 복구가 가능합니까?

mdadm 어레이를 시작하기에 장치가 부족합니다. 복구가 가능합니까?

MD raid5 어레이가 갑자기 작동을 멈춘 것 같습니다. 증상이 좀 비슷하네요이 문제어레이를 시작하기에 장치가 충분하지 않다는 오류가 발생하지만 제 경우에는 세 드라이브 모두의 이벤트 수가 동일합니다. 2개의 활성 드라이브와 1개의 패리티가 있어야 하는 RAID 5 어레이이지만 각 드라이브에 대한 mdadm --examine에서는 그 중 2개는 예비로 역할이 나열되고 하나만 활성 드라이브로 표시됩니다.

난 노력 했어mdadm --stop /dev/md1이어서mdadm --/dev/md1 조립(--force 및 --run 플래그를 사용한 시도 포함)

SMART 데이터는 드라이브에 어떤 문제도 나타내지 않습니다(현재 보류 중인 섹터 수와 재할당된 섹터 수는 모두 0입니다).raid.wiki.kernel.org 가이드매핑된 오버레이 장치 설정과 관련된 단계를 통해 Frostschutz가 아래에 링크했습니다.

그런 다음 다음 명령을 실행하면 읽기 전용 마운트를 시도할 수 있는 RAID 배열을 생성하고 그 결과 읽기 가능한 파일 시스템이 발생했는지 또는 혼란스러운 결과가 발생했는지 확인한다고 가정했을 것입니다(즉, sdf1이 패리티인지 추측하는지 확인하기 위해). 드라이브가 정확했거나 sde1로 다시 시도해야 하는지 여부) - 대신 아래에 오류가 표시됩니다(관련 루프 장치로도 시도했습니다).losstup --list, 결과는 동일합니다).

mdadm --create /dev/md2 --assume-clean --level=5 --chunk=64K --metadata=1.2 --data-offset=261888s --raid-devices=3 누락 /dev/mapper/sdh1 / 개발/매퍼/sdf1

mdadm: super1.x cannot open /dev/mapper/sdh1: Device or resource busy
mdadm: /dev/mapper/sdh1 is not suitable for this array.
mdadm: super1.x cannot open /dev/mapper/sdf1: Device or resource busy
mdadm: /dev/mapper/sdf1 is not suitable for this array.
mdadm: create aborted

또한, 동안mdadm --detail /dev/md1이전에는 아래의 출력(추가)을 제공했지만 이제는 다음을 제공합니다.

/dev/md1:
           Version : 1.2
        Raid Level : raid0
     Total Devices : 3
       Persistence : Superblock is persistent

             State : inactive
   Working Devices : 3

              Name : bob:1  (local to host bob)
              UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
            Events : 373364

    Number   Major   Minor   RaidDevice

       -     253       11        -        /dev/dm-11
       -     253       10        -        /dev/dm-10
       -     253        9        -        /dev/dm-9

또한, 나는 알아차렸다.dmsetup 상태세 오버레이 모두에 대해 동일한 정보를 제공하며 개별 드라이브(8TB)가 아닌 원래 RAID 어레이(16TB)의 크기를 나타내는 것처럼 의심스럽게 보이는 숫자가 있습니다. 이것이 그래야 하는지 확실하지 않습니까?

sde1: 0 15627528888 snapshot 16/16777216000 16
sdh1: 0 15627528888 snapshot 16/16777216000 16
sdf1: 0 15627528888 snapshot 16/16777216000 16

장치 생성을 시도하는 한 이 시점부터 어떻게 진행해야 할지 잘 모르겠습니다. 파일 시스템을 마운트하고 검사하여 올바른 패리티 장치를 추측했는지 여부를 확인하고 오버레이를 사용하여 실제 드라이브에 아무것도 기록되지 않도록 합니다.

업데이트: 아래 Frostschutz의 제안에 따르면 어레이는 기본 드라이브로 작업을 수행하기 전에 --stop을 실행해야 하는 일종의 상태에 있었습니다. 나는 이전에 그 가능성을 다음과 같이 할인했습니다.고양이 /proc/mdstat어레이가 비활성으로 표시되었습니다. 이는 드라이브를 묶는 원인이 아닐 수 있음을 의미한다고 생각했지만 실제로는 그렇지 않았습니다. (이전에 --stop도 실행했지만 뭔가 있는 것 같습니다. 이후에 완료되면 중지되지 않은 상태로 돌아갑니다). 올바른 드라이브 순서를 얻은 후(첫 번째 시도에서는 아니었지만 오버레이를 사용하고 있어서 다행이었습니다) 어레이는 보고된 오류 없이 fsck 검사를 통과했습니다.지금은 아무 일도 없었던 것처럼 작동 중입니다..


다른 진단 명령을 실행한 결과:

고양이 /proc/mdstat:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md1 : inactive sdh1[1](S) sde1[3](S) sdf1[0](S)
      23440900500 blocks super 1.2

mdadm --detail /dev/md1:

/dev/md1:
           Version : 1.2
        Raid Level : raid0
     Total Devices : 3
       Persistence : Superblock is persistent

             State : inactive
   Working Devices : 3

              Name : bob:1  (local to host bob)
              UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
            Events : 373364

    Number   Major   Minor   RaidDevice

       -       8      113        -        /dev/sdh1
       -       8       81        -        /dev/sdf1
       -       8       65        -        /dev/sde1

시도할 때 dmesg에 나타나는 줄mdadm --/dev/md1 조립:

md/raid:md1: device sdh1 operational as raid disk 1
md/raid:md1: not enough operational devices (2/3 failed)
md/raid:md1: failed to run raid set.
md: pers->run() failed ..

그리고mdadm --검사에스

/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261808 sectors, after=312 sectors
          State : clean
    Device UUID : e856f539:6a1b5822:b3b8bfb7:4d0f4741

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 40 sectors
       Checksum : 9b5703bc - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

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

/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261800 sectors, after=312 sectors
          State : clean
    Device UUID : 7919e56f:2e08430e:95a4c4a6:1e64606a

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : d54ff3e1 - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

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

/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 07ff9ba9:e8100e68:94c12c1a:3d7ad811
           Name : bob:1  (local to host bob)
  Creation Time : Mon Mar  4 22:10:29 2019
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 15627267000 (7451.66 GiB 8001.16 GB)
     Array Size : 15627266688 (14903.32 GiB 16002.32 GB)
  Used Dev Size : 15627266688 (7451.66 GiB 8001.16 GB)
    Data Offset : 261888 sectors
   Super Offset : 8 sectors
   Unused Space : before=261800 sectors, after=312 sectors
          State : clean
    Device UUID : 0c9a8237:7e79a439:d4e35b31:659f3c86

Internal Bitmap : 8 sectors from superblock
    Update Time : Sun May 30 00:22:45 2021
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 6ec2604b - correct
         Events : 373364

         Layout : left-symmetric
     Chunk Size : 64K

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


답변1

이상해 보인다. 당신은해야 할 수도 있습니다mdadm --오버레이로 생성이 경우(올바른 데이터 오프셋, 청크 크기 및 드라이브 순서 포함) 그리고 첫 번째 드라이브가 누락된 경우 첫 번째 드라이브가 실패한 것 같습니다...

기본적으로 드라이브가 더 이상 해당 장치 역할을 기억하지 못하면 기존 방법으로 복구할 방법이 없습니다. 둘 다 "예비"라고 말하므로 드라이브가 역할 0인지, 역할 2인지, 아니면 전혀 아무것도 아닌지 알 수 없습니다(일부 raid5 설정은 실제로 어떤 이유로 예비를 사용합니다). 따라서 유용한 데이터가 있는지, 그렇다면 어떤 순서로 되어 있는지는 불분명합니다. 스스로 결정해야 합니다.

그 동안 SMART 데이터도 확인하고 ddrescue이러한 드라이브 중 실제로 RAID 실패의 원인이 되었을 수 있는 재할당되었거나 보류 중인 섹터가 있는 경우 먼저 사용하십시오.

관련 정보