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

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

더러운 종료나 전원 문제가 없는 1TB 디스크 4개에 ubuntu raid5가 있습니다. 부트디스크는 mdadm에 없는 5번째 디스크입니다. 오늘 막 시작한 부트디스크에도 XP가 있습니다. XP는 mdadm을 마운트할 수 없거나 디스크를 건드릴 수 없기 때문에 그렇게 생각했습니다.

XP를 닫은 이후 우분투는 부팅되지 않습니다. 대기 후 /dev/md0을 마운트할 수 없기 때문에 fstab이 XP를 차단할 수도 있습니다. 이제 원래 우분투 설치에 들어갈 수 없습니다.

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

/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 소스를 통한 조사를 통해 이것을 스스로 알아냈습니다. mdadm은 슈퍼 블록을 읽을 때 유효하지 않은 비트맵에 대해 비트맵 파일을 자동으로 지우는 것 같습니다(그러나 커널은 그렇지 않습니다). 따라서 여러분이 해야 할 일은 mdadm이 해당 슈퍼 블록을 디스크에 다시 저장하는 방법을 찾는 것입니다. 문제를 해결한 마법 명령은 다음과 같습니다.

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

--update 명령은 mdadm이 디스크 마운트를 시도하기 전에 raid 슈퍼 블록을 디스크에 다시 저장하도록 강제하므로 비트맵 플래그가 지워집니다.

00.90.01하지만 해당 사용자는 메타데이터 버전을 갖고 있었고mdadm(8)매뉴얼 페이지:

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

이는 다음을 업데이트해야 함을 의미합니다.이름1.2대신 최신 버전의 슈퍼블록에 있는 배열의슈퍼 마이너버전 1 메타데이터에는 존재하지 않습니다.

매뉴얼 페이지에서:

-유,--업데이트=

어레이를 조립하는 동안 각 장치의 슈퍼블록을 업데이트합니다. 이 플래그에 주어진 인수는 다음 중 하나일 수 있습니다.스파크2.2, 요약,uuid,이름,홈호스트,재동기화,바이트 순서,장치 크기, 비트맵 없음, 또는슈퍼 마이너.

그만큼이름옵션이 변경됩니다이름슈퍼블록에 저장된 배열의 내용입니다. 이는 버전 1 슈퍼블록에만 지원됩니다.

관련 정보