1개의 드라이브가 실패한 후 Linux 소프트웨어 Raid 10이 중단되고 mdadm에서 결함이 있는 장치를 강제로 제거할 수 없습니다.

1개의 드라이브가 실패한 후 Linux 소프트웨어 Raid 10이 중단되고 mdadm에서 결함이 있는 장치를 강제로 제거할 수 없습니다.

5개의 RAID 1(미러링된 설정당 2개의 드라이브)과 5개의 RAID 1 쌍 전체에 대한 RAID 0으로 구성된 Linux 소프트웨어 RAID 10 설정이 있습니다. 로드 시 어떤 드라이브도 빠르게 실패하지 않는지 테스트하기 위해 파괴적인 읽기/쓰기 모드가 있는 RAID 0 전체에 배드 블록을 사용했습니다.

Badblocks 명령: badblocks -b 4096 -c 98304 -p 0 -w -s /dev/md13

장치 중 하나에 오류가 발생했고 badblocks 프로그램 대신에 행복하게 작동이 중단되었습니다. sync 명령을 실행하면 이것도 중단됩니다. 먼저 이것이 RAID 1 장치의 표준 동작이 아니라고 가정합니다. 드라이브 중 하나에 오류가 발생하더라도 문제 없이 두 드라이브가 구성하는 가상 장치에 계속 쓸 수 있어야 합니다.

그래서 드라이브를 강제로 실패시키고 제거하려고 했습니다. 아무 문제 없이 드라이브를 결함으로 설정할 수 있습니다(그러나 IO 작업은 여전히 ​​중단됩니다). 사용 중이라고 표시된 Raid에서 장치를 완전히 제거할 수 없습니다. 내 가정은 공격대에서 완전히 쫓아낼 수 있다면 IO가 계속될 것이라는 것입니다. 그러나 그것은 단지 가정일 뿐이며 일종의 버그를 다루고 있다고 생각합니다.

여기서 정확히 무슨 일이 일어나고 있는 걸까요? 버그로 인해 복구할 수 없는 상황에 처한 걸까요?

시스템은 커널 2.6.18을 실행하고 있으므로 완전히 새로운 것은 아니지만 소프트웨어 습격이 오랫동안 존재해 왔다는 점을 고려하면 이와 같은 문제는 발생하지 않을 것이라고 생각합니다.

어떤 통찰력이라도 대단히 감사하겠습니다.

mdadm --detail /dev/md13

/dev/md13:

    Version : 00.90.03   Creation Time : Thu Jan 21 14:21:57 2010
 Raid Level : raid0
 Array Size : 2441919360 (2328.80 GiB 2500.53 GB)    Raid Devices : 5  

총 장치 수: 5개 선호 미성년자: 13개 지속성: 슈퍼블록은 지속성입니다.

Update Time : Thu Jan 21 14:21:57 2010
      State : clean  Active Devices : 5 Working Devices : 5 

실패한 장치: 0 예비 장치: 0

 Chunk Size : 64K

       UUID : cfabfaee:06cf0cb2:22929c7b:7b037984
     Events : 0.3

Number   Major   Minor   RaidDevice State
   0       9        7        0      active sync   /dev/md7
   1       9        8        1      active sync   /dev/md8
   2       9        9        2      active sync   /dev/md9
   3       9       10        3      active sync   /dev/md10
   4       9       11        4      active sync   /dev/md11

실패한 습격 출력:

/dev/md8: 버전 : 00.90.03 생성 시간 : Thu Jan 21 14:20:47 2010 Raid Level : raid1 어레이 크기 : 488383936 (465.76 GiB 500.11 GB) 장치 크기 : 488383936 (465.76 GiB 500.11 GB) Raid 장치 : 2
총 장치 수: 2개 선호 미성년자: 8개 지속성: 슈퍼블록은 지속성입니다.

Update Time : Mon Jan 25 04:52:25 2010
      State : active, degraded  Active Devices : 1 Working Devices : 1

실패한 장치: 1 예비 장치: 0

       UUID : 2865aefa:ab6358d8:8f82caf4:1663e806
     Events : 0.11

Number   Major   Minor   RaidDevice State
   0      65       17        0      active sync   /dev/sdr1
   1       8      209        1      faulty   /dev/sdn1

답변1

죄송합니다. 제가 잘 이해하지 못했을 수도 있고 cat /proc/mdstat가 도움이 될 수도 있지만 제가 볼 수 있는 한 당신은 RAID0 및 기본 RAID1 어레이의 데이터를 파괴하면서 발에 총을 맞았습니다. 즉, RAID 신뢰성을 테스트해야 하는 경우 문제를 잘 이해했다면 모든 기본 RAID1 디스크를 참조하는 논리 블록을 파괴하지 말고 드라이브, 디스크에 오류가 있는 것으로 태그를 지정해야 합니다(알려주세요).

답변2

어쩌면 결함이 있는 드라이브를 제거하기 위해 커널에 요청해야 할 수도 있습니다. hangy RAID가 해제됩니다.

다음과 같은 스크립트를 사용하여 제거할 수 있습니다.http://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/

관련 정보