현재 RAID 5 Linux 드라이브에서 읽을 수 없는 섹터

현재 RAID 5 Linux 드라이브에서 읽을 수 없는 섹터

나는 30분마다 다음의 스마트 메시지를 받습니다 /var/log/messages:

smartd[3588]: 장치: /dev/sdc, 176 현재 읽을 수 없는(보류 중) 섹터

이 드라이브(sdc)는 mdadm으로 구성된 RAID 5의 일부입니다. Mdadm 모니터에서는 RAID가 정상이라고 표시하지만 드라이브를 변경해야 하는지 여부를 알고 싶습니다. 또한 이 섹터나 OS가 불량으로 표시해야 하는 경우에도 이미 그렇게 했습니다.

드라이브를 변경해야 하는 경우 교체 드라이브를 어떻게 선택할 수 있습니까? 하드 드라이브 사양에서 블록 수를 찾을 수 없어서 원래보다 블록이 적은 것을 선택하면 문제가 발생합니다.

답변1

응, 드라이브를 바꿔봐.

읽을 수 없는(보류) 섹터는 내용을 읽을 수 없는 섹터입니다. 읽기 오류가 발생하거나 드라이브가 성공할 때까지(또는 결국 포기할 때까지) 계속해서 섹터 읽기를 시도하는 동안 긴 지연이 발생하는 일반적인 비 RAID 상황에서.

RAID를 사용하면 두 가지 일이 발생합니다.

  1. 디스크가 짧은 TLER 값으로 구성되었을 수 있습니다. 따라서 합리적인 시간 내에 해당 섹터를 읽으려는 시도를 포기할 것입니다. (따라서 긴 중단을 방지합니다).
  2. RAID 어레이는 오류를 감지하고 다른 디스크에서 데이터를 읽습니다. 이것이 RAID 5의 장점입니다. 당신은 여분의 사본을 가지고 있습니다.

당신이하고 싶은 일은 :

  1. 백업을 확인하세요. 당신은 그것들이 필요하지 않습니다만약 모든 게 잘된다면.
  2. 크기가 같거나 더 큰 교체 디스크를 가져옵니다. 로 사이즈를 확인하실 수 있습니다 smartctl -a /dev/sdc. X 크기의 모든 드라이브가 동일한 용량을 가지고 있다고 가정하지 마십시오. 제조업체는 둥근 숫자를 좋아합니다. 하나의 500GB 드라이브는 다른 500GB 드라이브보다 작을 수 있습니다.
  3. 문제가 있는 디스크를 오프라인으로 전환합니다. ( mdadm --manage --remove /dev/mdX /dev/sdc)
  4. 디스크를 새 하드웨어로 교체하고 어레이가 자체적으로 재구축되도록 합니다. ( mdadm --add /dev/mdX /dev/sdc)

대용량 디스크를 사용했다면 시간이 많이 걸릴 것입니다. 때로는 처음부터 RAID 어레이를 재구축하고 백업에서 복원하는 것이 더 빠릅니다. (먼저 해당 백업을 테스트하십시오!)

RAID를 재구축하는 동안에는 중복성이 없습니다. 따라서 다른 디스크에 장애가 발생하면(예: 재구축 스트레스로 인해) 문제가 발생합니다. 이는 대용량 디스크(재구축 시간이 길음) 및 동일한 날짜의 드라이브 배치에서 발생하는 경우가 있습니다.

답변2

일반적으로 받아들여지는 답변은 좋지만 mdadm 3.3부터는 결함이 있는 드라이브를 먼저 제거하지 않고도 어레이의 드라이브를 교체할 수 있습니다. 결함이 있는 드라이브가 대부분 읽기 가능한 경우 대부분의 이중 오류로부터 보호됩니다.

sdd가 새 드라이브라고 가정하고 포인트 3과 4 대신 다음을 수행합니다.

  1. 어레이에 새 드라이브를 추가하고 결함이 있는 드라이브를 새 드라이브로 교체합니다. mdadm /dev/mdX -add /dev/sdd --replace /dev/sdc --with /dev/sdd

사용 가능한 모든 데이터를 사용하여 재구축을 시작하고 준비가 되면 결함이 있는/오래된 드라이브를 제거합니다.

새 어레이를 생성할 때 추가로 참고할 사항은 모든 물리적 장치에 1개의 큰 파티션을 생성하고 원시 장치가 아닌 파티션에 RAID 어레이를 생성하는 것이 좋습니다.

관련 정보