체크섬 오류로 인해 mdadm이 마운트되지 않습니다


0

더러운 종료 또는 전원 문제가없는 1TB 디스크의 4 디스크에 우분투 raid5가 있습니다. 부트 디스크는 mdadm에없는 5 번째 디스크입니다. 또한 오늘 방금 시작한 부트 디스크에 XP가 있습니다. XP는 mdadm을 마운트 할 수 없거나 디스크를 만지지 않습니다.

XP를 닫은 이후, 우분투는 부팅 후 / s / md0을 마운트 할 수 없기 때문에 fstab이 그것을 막고있을 수도 있습니다. 이제 원래 우분투 설치에 들어갈 수 없습니다.

그래서 나는 모든 레이드 멤버를 제거하고 모두 외부 디스크 베이에 넣고 복구를 위해 맥북에서 우분투를 시작했습니다.

/dev/sdh:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 05143452:9d98ca6b:c59a91b5:fda8b846
           Name : vikas-VirtualBox:0
  Creation Time : Sat Dec 31 17:31:47 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
     Array Size : 2929889280 (2794.16 GiB 3000.21 GB)
  Used Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
    Data Offset : 259072 sectors
   Super Offset : 8 sectors
   Unused Space : before=258984 sectors, after=6576 sectors
          State : clean
    Device UUID : b0cc00bc:b20c2671:1eb062bc:28eb229b

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Aug 11 17:08:49 2017
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 846ac784 - correct
         Events : 18840

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
===============================
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05143452:9d98ca6b:c59a91b5:fda8b846
           Name : vikas-VirtualBox:0
  Creation Time : Sat Dec 31 17:31:47 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
     Array Size : 2929889280 (2794.16 GiB 3000.21 GB)
    Data Offset : 259072 sectors
   Super Offset : 8 sectors
   Unused Space : before=258984 sectors, after=3072 sectors
          State : clean
    Device UUID : a36f72c1:d4ec55f0:e4a4ff8a:19a0d659

    Update Time : Fri Aug 11 17:08:49 2017
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 965ce69e - expected 965ce69d
         Events : 18840

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
===============================
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 05143452:9d98ca6b:c59a91b5:fda8b846
           Name : vikas-VirtualBox:0
  Creation Time : Sat Dec 31 17:31:47 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
     Array Size : 2929889280 (2794.16 GiB 3000.21 GB)
    Data Offset : 259072 sectors
   Super Offset : 8 sectors
   Unused Space : before=258984 sectors, after=3072 sectors
          State : clean
    Device UUID : 04920971:8ce054dc:4756516d:07eedc84

    Update Time : Fri Aug 11 17:08:49 2017
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 3f4afc07 - expected 3f4afc06
         Events : 18840

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
===============================
/dev/sdi:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x1
     Array UUID : 05143452:9d98ca6b:c59a91b5:fda8b846
           Name : vikas-VirtualBox:0
  Creation Time : Sat Dec 31 17:31:47 2016
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
     Array Size : 2929889280 (2794.16 GiB 3000.21 GB)
  Used Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
    Data Offset : 259072 sectors
   Super Offset : 8 sectors
   Unused Space : before=258984 sectors, after=6576 sectors
          State : clean
    Device UUID : 426c61e9:ea61c2f3:cf27167c:09807918

Internal Bitmap : 8 sectors from superblock
    Update Time : Fri Aug 11 17:08:49 2017
  Bad Block Log : 512 entries available at offset 72 sectors
       Checksum : 7171c8e1 - correct
         Events : 18840

         Layout : left-symmetric
     Chunk Size : 512K

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

어셈블리 힘을 시도 할 때 :

sudo mdadm --assemble /dev/md0 --verbose --force --run /dev/sde1 /dev/sdf1 /dev/sdh /dev/sdi
mdadm: looking for devices for /dev/md0
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdh is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdi is identified as a member of /dev/md0, slot 3.
mdadm: added /dev/sdf1 to /dev/md0 as 1
mdadm: added /dev/sdh to /dev/md0 as 2
mdadm: added /dev/sdi to /dev/md0 as 3
mdadm: added /dev/sde1 to /dev/md0 as 0
mdadm: failed to RUN_ARRAY /dev/md0: Invalid argument

dmesg에서 :

[ 2208.363750] RAID conf printout:
[ 2208.363752]  --- level:5 rd:4 wd:4
[ 2208.363755]  disk 0, o:1, dev:sde1
[ 2208.363758]  disk 1, o:1, dev:sdf1
[ 2208.363760]  disk 2, o:1, dev:sdh
[ 2208.363763]  disk 3, o:1, dev:sdi
[ 2208.363994] md0: invalid bitmap file superblock: bad magic
[ 2208.363997] md0: bitmap file superblock:
[ 2208.364000]          magic: ff88ffff
[ 2208.364002]        version: 11
[ 2208.364005]           uuid: 00000000.00000000.00000000.00000000
[ 2208.364007]         events: 0
[ 2208.364009] events cleared: 0
[ 2208.364012]          state: 00000000
[ 2208.364014]      chunksize: 0 B
[ 2208.364016]   daemon sleep: 0s
[ 2208.364018]      sync size: 0 KB
[ 2208.364020] max write behind: 0
[ 2208.364023] md0: failed to create bitmap (-22)

내 생각 엔 XP 부팅이이 디스크 멤버를 건드렸어야하므로 마법이 다릅니다.

--create새 배열에 대한 옵션을 보았지만 데이터 손실이 있는지 확실하지 않습니다. 둘째, diff 우분투에서 만들면 다른 우분투 작업을 다시 시작합니까?

무결성을 확인하고 모든 구성원의 체크섬을 재설정하는 쉬운 방법이 없습니까? 제안 해주세요. 감사.

답변:


1

이 이메일 스레드를 찾았습니다 . 귀하와 동일한 문제를 설명하는 것 같습니다.

그 사람의 해결책은 다음 명령을 실행하는 것이 었습니다.

sudo mdadm -A --update=super-minor /dev/md0

그 사용자는 다음과 같이 썼습니다.

나는 이것을 mdadm 소스를 통한 sleuthing을 통해 스스로 알아 냈습니다. mdadm은 수퍼 블록을 읽을 때 유효하지 않은 비트 맵에 대해 비트 맵 파일을 자동으로 지 웁니다 (커널은 그렇지 않습니다). 따라서 mdadm이 해당 수퍼 블록을 디스크에 다시 저장할 수있는 방법을 알아 내기 만하면됩니다. 문제를 해결 한 저의 마술 명령은 다음과 같습니다.

mdadm -A --update=super-minor /dev/md0

--update 명령은 mdadm이 디스크를 마운트하려고 시도하기 전에 raid 수퍼 블록을 디스크에 다시 저장하도록하여 비트 맵 플래그가 지워지도록합니다.

그 사용자는 메타 데이터 버전을 가지고 00.90.01있으며 mdadm(8)매뉴얼 페이지 에 따르면 :

수퍼 마이너 는 v0.90 메타 데이터에만 관련됩니다.

즉 , 버전 1 메타 데이터에는 존재하지 않는 수퍼 마이너 대신 최신 버전 수퍼 블록 에서 배열 이름 을 업데이트해야합니다 .1.2

매뉴얼 페이지에서 :

-U , --update =

어레이를 조립하는 동안 각 장치에서 수퍼 블록을 업데이트하십시오. 이 플래그에 주어진 인수 중 하나가 될 수 있습니다 sparc2.2 , 요약 , UUID , 이름 , homehost , 재 동기화 , 바이트 순서 , 방법 devicesize , 노 비트 맵 , 또는 슈퍼 사소한 .

이름 옵션은 변경됩니다 이름 수퍼 블록에 저장된 배열을. 버전 1 수퍼 블록에만 지원됩니다.


점점mdadm: --update=super-minor not understood for 1.x metadata
thevikas

--update=name일했고 나는 적극적으로 습격 설정을하고 내 orig 컴퓨터에서도 작동하도록했습니다. 감사합니다
thevikas

@ thevikas : 메타 데이터 버전 1.2에 적용되도록 답변을 수정했습니다.
Deltik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.