어레이에서 자동으로 "제거된" MDADM RAID 디스크를 식별하는 방법은 무엇입니까?

어레이에서 자동으로 "제거된" MDADM RAID 디스크를 식별하는 방법은 무엇입니까?

RAID1 md 어레이에는 2개의 디스크가 있습니다. MDADM은 디스크 오류를 감지하고 에서 디스크를 "실패"시키지만 mdadm서버가 예기치 않게 다시 시작됩니다. 확인해보니 /proc/mdstat" mdadm --detail /dev/md0삭제되었습니다"라고 뜹니다.

일반적으로 디스크가 "실패"로 표시되면 mdadm디스크 이름이 에 표시되거나 에 표시됩니다. 이를 통해 장애가 발생한 디스크를 쉽게 식별하고 교체를 위해 서버에서 올바른 디스크를 제거할 수 있습니다./proc/mdstat(F)mdadm --detail /dev/md0

그러나 재부팅 후 mdadm드라이브가 mdadm 배열에서 자동으로 "제거"되면 실패한 디스크는 이러한 명령에 표시되지 않습니다. 각 드라이브를 반복하여 UUID 배열이 포함된 mdadm 헤더를 찾을 수 있다는 것을 알고 있지만 어떤 경우에는 올바른 드라이브에서도 mdadm --examine /dev/dm-*표시되는 것을 볼 수 있습니다 (다른 테스트 서버에서는 드라이브가 무엇인지 정확히 알고 있습니다). mdadm: No md superblock detected on xxx) 디스크 이름은 다음과 같습니다)

그래서 내 질문은 m이 자동으로 디스크 이름을 삭제할 때 실패한 디스크 이름을 어떻게 일관되게 식별할 수 있느냐는 것입니다 mdad( mdadm이것은 "실패"한 다음 서버가 어떻게든(또는 의도적으로) 다시 시작될 때만 발생한다는 점을 알아차렸습니다).

답변1

디스크의 가능한 오류 모드 중 하나는 디스크가 완전히 응답하지 않아 후속 재부팅 시 디스크를 감지할 수 없다는 것입니다. 커널에 관한 한 디스크는 플러그가 뽑힌 것처럼 보입니다.

따라서 이 상황에서 오류가 발생한 디스크를 식별하는 완전히 일반적이고 신뢰할 수 있는 유일한 방법은 제거: 오류가 발생한 모든 디스크를 나열하는 것입니다.작업(예: lsblk -o +SERIAL,MODEL디스크 일련 번호와 모델 이름을 목록에 포함)한 다음 실제 디스크를 찾습니다.아니요목록에.

lsblk시스템이 여전히 장애가 발생한 디스크를 감지할 수 있는 경우 장치에 파티션이 있을 수도 있고 없을 수도 있지만 연결된 마운트 지점이 없고 RAID 세트와 더 이상 연결되어 있지 않기 때문에 출력에서도 상당히 명확해야 합니다. .

일부 디스크는 내부 자체 테스트에 실패하면 크기를 0으로 보고하기 시작하므로 여기서도 SIZE출력 열이 유용합니다.lsblk

관련 정보