재 할당 된 섹터를 계산하지 않는 불량 섹터 / 하드 디스크에 0을 쓸 수 없음


10

현재 보류중인 섹터가 "45"라고보고하는 드라이브가 있습니다. 내가 사용이 배드 블럭 하는 분야를 확인하기를 내가 그들에 0을 쓰기 위해 노력 해왔다 DD .

내가 이해 한 바에 따르면, 불량 섹터에 직접 데이터를 쓰려고 할 때 재 할당을 트리거하여 현재 보류중인 섹터를 하나씩 줄이고 재 할당 된 섹터 수를 늘려야합니다.

그러나이 디스크에서 Reallocated_Sector_Ct 및 Reallocated_Event_Count 원시 값은 모두 0이며 불량 섹터에 0을 쓰려고하면 dd 가 I / O 오류와 함께 실패합니다. 그러나 좋은 분야에 글을 쓸 때 dd 는 잘 작동합니다.

# dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=217152
dd: error writing ‘/dev/sdb’: Input/output error

이것은 어떤 식 으로든 내 드라이브에 재 할당에 사용할 예비 섹터가 없음을 의미합니까? 내 운전은 일반적으로 끔찍한 사람입니까? (드라이브는 실제로 내 것이 아니며 친구를 돕고 있습니다. 그들은 싼 드라이브 나 무언가를 얻었을 것입니다.)

관련이있는 경우 smartctl -i 의 출력은 다음과 같습니다.

Model Family:     Western Digital Caviar Green (AF)
Device Model:     WDC WD15EARS-00Z5B1
Serial Number:    WD-WMAVU3027748
LU WWN Device Id: 5 0014ee 25998d213
Firmware Version: 80.00A80
User Capacity:    1,500,301,910,016 bytes [1.50 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Fri Oct 18 17:47:29 2013 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

업데이트 : 디스크에서
실행 shred되어 Current_Pending_Sector가 0이되었습니다. 그러나 Reallocated_Sector_Ct 및 Reallocated_Event_Count는 여전히 0이며, dd는 이제 이전에는 불가능했던 섹터에 데이터를 쓸 수 있습니다. 이것은 다른 몇 가지 질문으로 이어집니다.

  • 디스크가 재 할당을하지 않는 이유는 무엇입니까? 나는 지금 재 할당 할 수 없었던 섹터에 직접 데이터를 쓸 수 있기 때문에 재 할당이 발생했다고 가정합니다.

  • 파쇄가 왜 dd가 아닌 재 할당을 유발 했습니까? 파쇄가 0이 아닌 임의의 데이터를 기록한다는 사실이 차이를 만들어 줍니까?


다른 SMART 값은 어떻습니까? 가 Uncorrectable Sector Count0보다?
— Synetech

내가 생각하는 Offline_Uncorrectable은 같은 값을 갖습니다. raw 값은 25입니다.
— MetaNova

네, 그렇습니다. 드라이브가 실제로 나쁜 모양 인 것 같습니다. 빨간색 행 (건강에 중요한 값)에 특히주의하면서이 테이블 에 대해 값을 확인할 수 있습니다 . 가장 좋은 방법은 가치가 있거나 대체 할 수없는 모든 것을 다른 곳으로 복사 (이동하지 않음)하고 재부팅하여 전원을 껐다가 다시 켜면 여전히 잘 닦이는 것입니다 (바람직하게는 전용 도구 로) 다운로드 한 비디오와 같은 중요하지 않은 데이터를위한 여분의 스토리지
— Synetech

답변 주셔서 감사합니다. 내 주요 질문은 아마도 해당 섹터를 재 할당 할 수없는 이유 일 것입니다. 그것은 단지 섹터가 나쁘다는 것을 감지해서는 안되며, 그들을 빈 공간으로 피하고 재 할당하고 계속해야합니까? 디스크가 오래 전에 정리 되었기 때문에 디스크의 데이터에 대해 걱정하지 않습니다. 제 친구는 피할 수 있다면 1.5TB 문진을 갖고 싶어하지 않습니다.
— MetaNova

그것은 기대하는 것처럼 보이지만 머리가 좋지 않을 수 있습니다. 그렇다면 드라이브를 읽으려고하면 불량 헤드가있는 플래터에 액세스 할 때까지 작동합니다. 읽을 헤드가 없으면 전체 플래터에 액세스 할 수 없기 때문에 많은 읽기 오류가 발생합니다. 물론 섹터 45는 이미 재 할당 되었으나 SMART가 업데이트되지 않았기 때문에 나쁘다고 말합니다. 보증 기간이 만료 몇 달 전에,하지만 당신은 그들에게 이메일을 시도 할 수 있습니다 어쩌면 그들은 의례 교체 할 수 있습니다.
— Synetech

답변:


9

WD15EARS 드라이브 (및 가장 최근에 생산 된 다른 드라이브)는 Advanced Format을 사용 합니다. 즉,이 드라이브의 실제 물리 섹터 크기는 4 KiB이며 기존의 512 바이트 섹터 크기는 에뮬레이션됩니다. 이 때문에 단일 4 KiB 물리 섹터가 나빠지면 해당하는 에뮬레이트 된 512 바이트 섹터 8 개를 모두 한 번에 읽을 수 없게됩니다.

( 일부 WD15EARS 드라이브는 잘못된 물리 섹터 크기를보고 하기 때문에 Sector Size: 512 bytes logical/physical출력 smartctl이 정확하지 않습니다.  드라이브에 펌웨어 버전이있는 것 같습니다.)

또한 단일 에뮬레이트 된 512 바이트 섹터가 기록 될 때 Advanced Format 드라이브는 실제로 전체 4KiB 물리 섹터를 읽고 해당 512 바이트 부분을 변경 한 다음 전체 물리 섹터를 미디어에 기록해야합니다. 미디어가 양호하면이 읽기-수정-쓰기 작업은 실제 512 바이트 물리 섹터가있는 드라이브와 비교하여 상당히 느려집니다. 그러나 4 KiB 물리 섹터가 잘못되어 읽을 수 없으면 섹터를 완전히 다시 쓰지 않는 쓰기 작업이 실패합니다. 이 때문에 사용하여 같은 드라이브 부문의 재 할당을 강요 할 수 dd와 함께 bs=512 count=1 - 당신은 적어도 사용해야 bs=512 count=8하고 있는지 확인 그의 섹터 번호seek= 옵션은 8의 배수입니다 (이것은“Windows XP 호환”점퍼가 설치되지 않은 것으로 가정합니다. 그렇지 않으면이 점퍼에 의해 추가 된 정렬 오프셋도 고려해야합니다.)

재 할당 dd이 실패 하는 또 다른 이유 는 기본적으로 Linux가 블록 계층의 캐시를 사용하여 블록 장치에 액세스하기 때문에 소프트웨어에서 읽기-수정-쓰기 작업을 수행 할 수 있으며 읽을 수없는 섹터가 발생하면 실패 할 수도 있습니다. oflag=direct지정된 장치에 대해이 캐시를 무시 하는 옵션을 추가 할 수 있습니다 of=...( iflag=direct입력 장치에 적용되는 옵션 도 있음 ).


감사합니다. 감사합니다. 감사합니다. 드라이브의 레이블을 읽었으며 "고급 형식"이라고 표시되어 있습니다. 나는 그것이 지금 무엇을 의미하는지 안다. 그러나 당신은 재 할당 된 섹터를보고하지 않는 드라이브에 대해 어떤 아이디어가 있습니까?
— MetaNova

1
"현재 계류중인 섹터"는 반드시 불량 섹터 일 필요는 없으며, 디스크는 유휴 검사에서 디스크를 읽는 데 약간의 어려움을 겪었습니다. 아마도 오랫동안 기록하지 않았고 데이터가 희미 해지기 시작했기 때문입니다 (예 : 자기장 약화) ). 해당 섹터에 새 데이터를 쓰면 디스크에 강력하게 형성된 새 데이터로 해당 섹터의 데이터를 새로 고칩니다. 따라서 보류중인 섹터에 쓰면 디스크가 정상이라고 가정합니다. 해당 섹터에서 데이터를 다시 읽어 안정적인지 확인해야합니다.
— BeowulfNode42

디스크의 데이터를 신경 쓰지 않고 정확한 섹터 목록을 찾거나 섹터 수 계산을 원하지 않는 사람들은 16MiB와 같은 4KiB의 블록 크기로 전체 디스크를 dd하십시오. 그런 다음 이전에 선택한 블록 크기보다 작은 디스크의 마지막 부분에 4KiB의 블록 크기를 사용하십시오.
— BeowulfNode42

0

나는 최근에 이것을해야했고 전체 디스크에서 조각을 실행하는 것이 매우 효과적이라는 것을 알았습니다. 파쇄는 디스켓을 제외하고 의도 된 목적으로 쓸모가 없지만,자가 치유가 불량 블록에서 진행되도록하는 데 필요한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.