드라이브를 어레이로 조립할 수 없음

드라이브를 어레이로 조립할 수 없음

나는 달렸다

mdadm -A /dev/md0 /dev/sda1 /dev/sdb1

하지만 /dev/sdb1배열에만 로드됩니다. 동일한 두 드라이브에 더 많은 어레이가 있습니다. 파티셔닝은 매번 실패합니다 sda. 동기화되지 않았다고 dmesg말해 주세요 sda...이것은 복구 CD에 있기 때문입니다. sda부팅이 되지 않아서 일시적으로 연결을 끊었습니다(하드웨어 측면에서) .

어떻게 진행해야 하나요? 이것이 손상된 드라이브의 원인이 될 수 있습니까? 일전에 추적할 수 없는 이상한 파일 시스템 문제(아마도 전조)에 부딪혔습니다. 누락된 파일이 나중에 마법처럼 다시 나타나는 문제였습니다. 케이블이 누락된 것이 아닐까요?

주요 질문은 드라이브를 다시 동기화하는 방법입니다.

cat /proc/mdstat
Personalities : [raid10] 
md3 : active raid10 sda4[1]
      955683840 blocks super 1.2 512K chunks 2 far-copies [2/1] [_U]

md2 : active raid10 sda3[1]
      10483712 blocks super 1.2 512K chunks 2 far-copies [2/1] [_U]

md1 : active raid10 sda2[1]
      10484736 blocks 512K chunks 2 far-copies [2/1] [_U]

md0 : active raid10 sda1[1]
      101376 blocks 512K chunks 2 far-copies [2/1] [_U]

unused devices: <none>

고쳐 쓰다

다른 드라이브에서 실행 badblocks하고 오랫동안 테스트했지만 smartctl아무런 문제도 발견되지 않았습니다.

출력 요청mdadm -D /dev/md0 (다른 것이 필요하면 md0-3이 있습니다)

/dev/md0:
        Version : 0.90
  Creation Time : Mon May 31 20:24:14 2010
     Raid Level : raid10
     Array Size : 101376 (99.02 MiB 103.81 MB)
  Used Dev Size : 101376 (99.02 MiB 103.81 MB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Oct 25 07:58:25 2010
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

         Layout : far=2
     Chunk Size : 512K

           UUID : 30ffe1d2:f5759995:820bb796:b5530bd2 (local to host slave-iv)
         Events : 0.212

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8        1        1      active sync   /dev/sda1

드라이브에 실제 문제는 보이지 않지만 뭔가 분명히 잘못된 것 같으니 어떻게 해야 할까요?오늘부로 중요한 데이터의 전체 백업이 완료되었습니다.

업데이트 2원본 콘텐츠를 다시 추가하려고 할 때마다 sda(적어도 삭제하지 않고) 커널 매직 넘버 오류로 인해 부팅 프로세스가 엉망이 됩니다. 커널 버전이 동기화되지 않았기 때문인 것 같습니다. 드라이브는 현재 외부 엔클로저에 있습니다 sdd. USB를 통해 연결된 경우 드라이브를 다시 추가(재동기화)해야 합니까? 이로 인해 문제가 발생합니까?

df
Filesystem            Size  Used Avail Use% Mounted on
udev                   10M  284K  9.8M   3% /dev
/dev/md1              9.9G  7.0G  2.4G  75% /
shm                   3.0G  1.5M  3.0G   1% /dev/shm
/dev/md0               96M   15M   77M  16% /boot
/dev/md2              9.9G  6.5G  3.0G  69% /var
/dev/md3              898G  451G  402G  53% /home
none                  1.0G   45M  980M   5% /tmp
/dev/sdb1             992M   36M  956M   4% /media/D4A4-B7C1

각 md 드라이브에는 해당 sda/sdb가 있습니다. 어레이에서 sda 드라이브(또는 드라이브 0)를 뽑아내야 합니다.

답변1

좋습니다. 디스크 중 하나가 현재 어레이에서 활성화되지 않은 것 같습니다. 예를 들어, 현재 열거형 /dev/md0에서 /dev/sdb1.

/dev/sdb1이전 상태로 다시 추가하려면 :

mdadm -a --re-add /dev/md0 /dev/sdb1

데이터가 모두 일치하는지 확인하기 위해 어레이를 다시 확인해야 할 수도 있습니다.

echo check >>/sys/block/md0/md/sync_action

처음부터 이미지를 다시 작성하려면 다음을 수행하십시오.

/dev/sdb1어레이에서 완전히 제거되었는지 확인하십시오 .

mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1

마치 새 디스크인 것처럼 배열에 다시 추가할 수 /dev/sdb1있도록 구성을 삭제합니다 .mdadm

mdadm --zero-superblock /dev/sdb1

배열에 구성원으로 다시 추가되었습니다 /dev/sdb1.

mdadm -a /dev/md0 /dev/sdb1

USB 디스크 동기화가 느립니다.

그러나 귀하의 문제는 부트로더가 두 번째 드라이브에 제대로 설치되지 않아 연결 시 부팅이 불가능하다는 것입니다.

시스템이 양호한 구성으로 알려진 드라이브에서 부팅되도록 두 드라이브의 순서를 바꿀 수 있습니다.

일단 실행되어 두 드라이브를 동기화할 수 있게 되면 두 드라이브 모두에 ​​부트로더를 다시 설치해야 합니다. 이렇게 하면 어떤 드라이브가 없거나 먼저 열거되는지에 상관없이 항상 부팅할 수 있습니다.

부트로더를 다시 설치하는 방법에는 여러 가지가 있습니다.

  • lilo≥ 22.0을 사용하는 경우 지정 boot = /dev/md0하고 다시 실행하십시오. 이전 lilo 구성을 사용하는 경우 어레이의 각 디스크에 하나씩 두 개의 lilo 구성을 만들고 각 디스크에 별도로 설치하십시오.raid-extra-boot = mbr/etc/lilo.conflilolilolilo
  • Grub을 사용하는 경우 grub-install /dev/sdagrub-install /dev/sdb. 실패하면 Grub 쉘을 사용하여 Grub 의 하드 드라이브 번호를 setup (hd0)확인해 보세요.setup (hd1)cat /boot/grub/device.map

관련 정보