Raid 어레이 재구축

Raid 어레이 재구축

안녕하세요. RAID 배열을 다시 구축하고 싶은데 Redhat 문서에서 이 작업을 수행하는 방법이 나와 있는 페이지를 찾았지만 말이 되지 않는 것 같습니다.

다음은 문서에 대한 링크입니다.제가 혼란스러워하는 부분은 5단계입니다.

" 디스크를 복원하려면 이전 예비 슬라이스에 대해 "소프트웨어 실패"를 수행하십시오: mdadm --manage --set-faulty /dev/md0 /dev/sdc3 ". 이제 시스템은 교체된 디스크에 어레이 재구축을 시도합니다.

이것은 영어에서는 전혀 의미가 없을 뿐만 아니라, 디스크 중 하나를 실패하도록 설정한 직후에 mdadm이 어떻게 자동으로 어레이를 재구축하는지 알 수 없습니다. 이것은 단지 문서의 실수인가요? 도와주세요. 혼란스럽습니다. 내가 뭔가를 망치기 전에 누군가 이 지침이 올바른지 말해 줄 수 있나요? 감사해요.

답변1

나는 문서가 (적어도) 잘못되었다는 점에 동의합니다.

면책조항: 저는 RHEL 시스템을 소유하고 있지 않습니다. 저는 다양한 Debian 버전의 Debian raid에 대한 광범위한 경험을 가지고 있지만 RHEL 시스템에 손을 대본 적은 없습니다. 프로덕션 머신에서 작업을 수행하기 전에 예비 시스템(VM)에서 이를 테스트하십시오.

다음과 같은 일이 일어날 것입니다:

  1. RAID 어레이에서 디스크를 제거합니다.

    mdadm --manage /dev/md0 -r /dev/sdc3

sdc3 파티션은 md0 배열에서 제거됩니다.

  1. 시스템에서 디스크를 제거합니다.

sdc3 파티션을 포함한 전체 sdc 디스크는 더 이상 시스템에 존재하지 않을 것입니다. 지금은 "그들"이 우리가 단순히 "고장난 sdc 디스크를 책상 위에 올려 놓기"를 원한다고 가정합니다.

  1. 사용fdisk, 제거된 디스크를 교체하고 교체 디스크를 다시 포맷하십시오.

당신은 연결새로운sdc 디스크로 만든 다음 실패한 디스크와 똑같이 다시 파티션을 나눕니다. 이 시점에서 "sdc3 파티션이 시스템에 다시 존재하게 됩니다.

  1. 새 디스크를 RAID 배열에 다시 추가합니다.

    mdadm --manage /dev/md0 -a /dev/sdc3

sdc3 파티션이 어레이에 추가됩니다.재동기화가 자동으로 시작되고 즉시. 이는 고장난 디스크를 교체하는 데 필요한 것입니다. /proc/mdstat를 확인하여 재동기화가 완료될 때까지 기다리기만 하면 됩니다. 그러나 문서는 계속됩니다.

  1. 디스크를 복원하려면 이전 예비 슬라이스에 대해 "소프트웨어 오류"를 수행합니다.

    mdadm --manage --set-faulty /dev/md0 /dev/sdc3

그러면 sdc3 파티션이 결함으로 설정되어 하드웨어 오류를 시뮬레이션합니다. 당신은 돌아갈 것입니다~ 전에1단계, sdc3 파티션에 오류가 발생한 경우.

  1. 이제 시스템은 교체된 디스크에 어레이 재구축을 시도합니다. 상태를 모니터링하려면 다음 명령을 사용하십시오.

    watch -n 1 cat /proc/mdstat

실제로는 그렇지 않습니다.. 시스템은 사용자 개입을 기다립니다. 이제 1~4단계를 다시 수행해야 합니다. 그러나 이 명령은 1초 업데이트로 재동기화 진행 상황을 모니터링하는 데 적합한 명령입니다. Ctrl+C를 눌러 종료하세요.보다프로세스.

  1. 어레이 재구축이 완료되면 소프트웨어 오류가 발생한 디스크를 제거한 다음 어레이에 다시 추가하십시오.

    mdadm --manage /dev/md0 -r /dev/sdc3

    mdadm --manage /dev/md0 -a /dev/sdc3

실제로 이 두 명령은 재구축(재동기화) 프로세스를 시작하게 합니다.. 이는 정확히 1단계와 4단계입니다. 실제 문제로 인해 디스크가 고장난 것이 아니라 시뮬레이션된 오류로 인해 디스크에 오류가 발생했기 때문에 지금은 2단계와 3단계가 필요하지 않습니다. 이제 /proc/mdstat를 모니터링하면서 재구축 프로세스가 완료될 때까지 기다려야 합니다.

  1. 배열을 확인하십시오.

    mdadm --detail /dev/md0

그러면 md0 배열에 대한 추가 정보가 제공되지만 /proc/mdstat에서 이미 얻을 수 있는 재동기화 프로세스에 대해서는 더 이상 제공되지 않습니다. 전혀 필요하지 않습니다.

관련 정보