smartctl은 불량 섹터를 다시 테스트합니다.

smartctl은 불량 섹터를 다시 테스트합니다.

오늘 내 하드 드라이브가 24시간 이내에 오류가 발생할 것이라는 알림을 받았습니다. "Reallocation_Sector_Ct"는 이미 약 3000이고 지난 몇 시간 동안 4004로 상승했습니다. 그러나 몇 주 전에 나는 사건을 뒤집어서 다시 똑바로 세우려고 노력했습니다. 그 이후로 중요한 데이터를 다른 드라이브에 tar/zip할 때 현재 많은 디스크 활동이 있음에도 불구하고 "Reallocation_Sector_Ct"는 올라가지 않았습니다.

측면에서 읽을 수 없는 하드 드라이브가 문제라는 것을 알고 있지만, 하드 드라이브를 똑바로 세워 놓으면 문제가 일시적으로 해결되는 것처럼 보이더라도 최소한 크게 당황할 필요는 없습니다.

이러한 "불량 섹터"를 다시 테스트하고 통과하면 양호한 것으로 표시할 수 있는 방법이 있습니까? 상자를 똑바로 세운 후 다시 테스트한 후 "실제" 불량 섹터가 몇 개 있는지 확인하고 싶습니다(물론 백업이 완료된 후에 이 작업을 수행하겠습니다).

저는 데비안을 사용하고 있습니다. 차이가 있다면요.

답변1

나는 von Brand의 대답에 두 번째로 답할 수 있습니다. 지난 달에 나는 SMART에서 사전 장애가 발생한 후 적어도 두 개의 HDD가 죽는 것을 보았습니다.

그러나 가장 좋은 옵션은 SMART 자체가 아니라 badblocks유틸리티일 수 있습니다.

badblocks전체 디스크를 읽고 다시 쓸 수 있으므로 HDD가 보류 중인 섹터를 다시 할당하게 됩니다. 이것은 일반적으로 잘 작동합니다.

실행할 시간이 없다면 badblocks(더 큰 디스크에서는 며칠이 걸릴 수 있음) SMART 오류 로그를 읽고 smartctl -x /dev/<hdd>불량 섹터 목록을 얻을 수 있습니다.

hdparm그런 다음 다음을 사용하여 해당 섹터를 읽을 수 있습니다 .

hdparm --read-sector <sector> /dev/<hdd>` 

실패하면 다음을 사용하여 강제로 다시 매핑할 수 있습니다.

hdparm --yes-i-know-what-i-am-doing --write-sector <sector> /dev/<hdd>` 

이것은 잘 작동합니다(적어도 WD-Green 드라이브의 경우, 다른 드라이브의 경우에는 알 수 없습니다).

실패한 섹터에 대한 로그 메시지가 있으면 dmesg더 쉽습니다 .

sectors=$(dmesg | grep <hdd> | grep sector | awk '{print $8}')

for s in $sectors; do <hdparm stuff>; done

볼륨을 다시 장착하기 전에 강제 수행fsck

fsck -f -y /dev/<hdd> 

어제 의욕이 떨어졌다고 가정해 봅시다!

행운을 빌어요:)

답변2

머신을 종료하고 교체 디스크를 얻습니다.지금! 하드 드라이브의 불량 섹터는 기하급수적으로 증가하는 경향이 있으며 대규모 데이터 손실이 임박합니다.

답변3

드라이브가 불량으로 표시하고 다시 매핑한 섹터를 다시 테스트하는 것은 불가능하다고 생각합니다. 이는 "보증을 위해 반송" 영역입니다. (예를 들어 공급업체는 이론적으로 이러한 드라이브를 확인하고 재설정할 수 있는 도구를 보유할 수 있습니다.)

관련 정보