MDADM RAID5 어레이를 어떻게 다시 활성화합니까?


22

방금 서버를 해체하고 다시 연결하는 집을 이사했습니다. 이렇게함으로써 MDADM RAID5 어레이 중 하나가 비활성으로 나타납니다.

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

모든 디스크를 찾은 것처럼 보이지만 어떤 이유로 든 디스크를 사용하고 싶지 않습니다.

그렇다면 (S) 레이블의 의미는 무엇이며 어떻게 MDADM이 어레이 사용을 다시 시작하도록 할 수 있습니까?

[편집] 방금 배열을 중지하고 어셈블하려고했습니다 -v.

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

.. 고양이를 입력해도 /proc/mdstat별다른 차이가 없습니다.

[Edit2] 도움이되는지 확실하지 않지만 각 디스크를 검사 한 결과입니다.

root @ mserver : ~ # mdadm --examine / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver : ~ # mdadm --examine / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver : ~ # mdadm --examine / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver : ~ # mdadm --examine / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

드라이브가 원래 다음과 같이 조립되었음을 나타내는 몇 가지 메모가 있습니다.

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[편집 3]

로그를 살펴보면 다음과 같은 결과 Update Time가 나타납니다 ( --examine결과에 따라).

  1. sdb와 sdf는 20 일 13:22 이후 어느 시간에 중단되었습니다.
  2. sdd는 20 일 18:37 이후에 시간이 초과되었습니다.
  3. 1 일 14:00 이후에 서버가 종료되었습니다

두 개의 디스크가 다운 감안할 때 (분명히) 동시에 나는 그 시점 (?) 이후에 기록되지 않았을 배열을 가정하는 것이 합리적으로 안전하고 있어야한다 있도록해야한다고 생각 상대적으로 인 - 임명하다 다시 그것을 강제하는 것이 안전 올바른 주문? 가장 안전한 명령은 무엇이며 변경 사항을 작성하지 않고 수행 할 수있는 방법이 있습니까?

답변:


28

S라벨은 디스크가 "예비"로 간주됩니다 것을 의미합니다. 어레이를 중지했다가 다시 시작해보십시오.

  mdadm --stop /dev/md0
  mdadm --assemble --scan

배열을 다시 어셈블하려면 그래도 작동하지 않으면를 업데이트해야 할 수도 있습니다. mdadm.conf예를 들어이 질문 을 수행하는 방법에 대한 자세한 내용은 이 질문 을 참조하십시오.


그것을 시도하고 ( -v무엇을했는지 추가 하기 위해 추가 했지만) 추가해야 할 모든 디스크는 다음 줄을 따라 응답을 얻습니다 mdadm: /dev/sdb1 is busy - skipping.
Jon Cage

md0을 중지하고 어레이를 재 조립하십시오
krizna

그것을 시도-여전히 운이 없다 (내 편집 참조)
Jon Cage

2
좋습니다. RAID가 제대로 종료되지 않은 것 같습니다. 확실하지 않은 경우 -R또는을 시도하십시오 -f. 그래도 실패하면을 사용하여 배열을 다시 만드십시오 mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. 경고 :이 모든 옵션으로 인해 데이터가 손상 될 수 있습니다.
Stefan Seidel 2016 년

3
글쎄, 나는 그것을 위해 mdadm --assemble --scan --force일했다. 어레이가 백업되어 실행 중이며 내 데이터에 액세스 할 수 있습니다. :
Jon Cage

9

이 질문은 약간 오래되었지만 비슷한 상황에 처한 사람에게 도움이 될 수 있습니다. 제공 한 mdadm --examine 출력 의 이벤트 수를 살펴보면 충분히 비슷해 보입니다 (s9551-sdb1 및 sdf1의 경우 955219, sde1의 경우 955219, sdd1의 경우 955205). 40-50 미만이면 괜찮습니다.이 경우 권장되는 조치는 어레이를 수동으로 조립하여 이벤트 수 차이에도 불구하고 mdadm이 드라이브를 수락하도록하는 것입니다.

배열을 중지하십시오.

mdadm --stop /dev/md0

그런 다음 어레이를 수동으로 다시 조립하십시오.

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

어레이의 상태를 점검하여 드라이브 목록 / 구조가 정상인지 확인하십시오 (명령 출력의 맨 아래에 어레이의 상태와 위치를 나타내는 드라이브가 표시됨).

mdadm --detail /dev/md0

구조가 정상이면 재 구축 진행 상황을 확인하십시오.

cat /proc/mdstat

0

아래 명령으로 Raid md0을 활성화 할 수 있습니다

mdadm -A /dev/md0

이 명령은 mdadm.conf 파일을 업데이트합니다

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.