현재 보류중인 섹터 수를 수정하는 방법


8

SMART Data에서 3 개의 보류 섹터 수가 있음을 보여줍니다. (우분투 매버릭 실행)

나는 그것을 해결하는 방법에 관한 포럼 링크를 따라 보았지만 해당 섹터에 쓸 정확한 섹터 수를 식별 할 수 없습니다. 디스크 유틸리티에서 전체 자체 테스트를 실행했지만 디스크 유틸리티에 Maverick의 정확한 섹터 번호가 표시되지 않지만 이전 버전에 대해서는 확실하지 않습니다. 매버릭에서 변경 되었습니까?

섹터를 어떻게 식별하고 보류중인 수를 수정합니까? 포럼의 팁이 안전합니까?

추신 : 나는 "재 할당 섹터 수"와 관련된 다른 문제가 있는데, 내가 구글에서 찾은 것에서 고칠 수는 없습니다. 상승하지 못하게 할 방법이 있습니까?


1
스마트 데이터의 스크린 샷 : foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..! 추신 : 두 개 이상의 하이퍼 링크를 허용 할 필요가있다, 또는 새로운 사용자에 대한 이미지 링크이어야 : - /
— Vish

"긴"테스트를 실행 했습니까?
— TJ L

1
예, "확장"을 시도했지만 섹터 번호가 표시되지 않습니다. 아니면 테스트를 실행 한 후 올바른 위치를 찾지 못하고 있습니까?
— Vish

답변:


7

이것은 실제로 긴 의견입니다 ;-)

IMO 파일 시스템은 특히 자체 테스트를 실행 한 이후에 파일 시스템이 자동으로 처리해야합니다. 보시다시피, 쓰기 실패시 리 맵핑이 완료되어 다음에 쓰기를 시도하면 다시 매핑됩니다.

이 작업을 수행하는 데 큰 목적이 있다고 말씀해 주시겠습니까? 리매핑을 필요로하는 블록에 대한 우려 외에도,이 작업을 통해 해결하려는 다른 성가심 / 문제가 있습니까?

당신이 인용 한 우분투 포럼 게시물의 팁은 어떤 섹터가 잘못되었는지 정확하게 알고 그것을 수정해야 할 강력한 이유가있는 한 안전합니다. 일반적으로 섹터 #는 파일 시스템에 의해 내부적으로 추상화되고 처리되므로 파일 검사 프로그램에서도보고되지 않습니다.

그러나 문제가되는 불량 블록을 찾아야하는 경우 다음 단계를 사용할 수 있습니다.

  1. 파일 시스템에 해당하는 장치 파일을 기록하십시오. 디스크 유형에 따라 / dev / hdc 또는 / dev / sdb 형식입니다. 디스크 유틸리티 ( System -> Administration -> Disk Utility)에 표시됩니다 . 왼쪽 패널에 표시된 목록에서 디스크 이름을 클릭하면 오른쪽의 "Device :"에 대해 장치 이름을 읽을 수 있습니다.

  2. 해당 디스크의 모든 파일 시스템을 마운트 해제하십시오. 다음 명령은 출력을 반환하지 않아야합니다.

    mount | grep -i <device-name>
    
  3. 다음 명령을 실행하십시오

    badblocks -sv -b 512 <device-name>
    

    참고이-b 512 명령으로보고 된 번호를 포럼 게시물에dd 설명 된 대로 입력으로 사용할 수 있도록 블록 크기를 512로 정렬 하는 것 입니다.

어쨌든 정상적인 디스크 작업으로 처리되기 때문에 위의 모든 것을 권장하지는 않습니다.


1
자세한 답변 주셔서 감사합니다. 이 3 개의 보류 섹터는 거의 6 개월 이상 동안 매우 오랫동안 존재했기 때문에 보류중인 섹터를 수정하고 싶었습니다. 그리고 그 섹터는 내 메인 / 홈 파티션에 있습니다. 어떻게 온라인으로 할 수 있습니까? 모든 파티션 마운트 해제를 언급했는데 라이브 CD에서이 작업을 수행해야합니까?
— Vish

설치를위한 홈 파티션이므로 livecd에서 위의 단계를 수행하고 싶을 것입니다. 디스크의 모든 파티션이 마운트 해제되었는지 확인하십시오 (스왑 파티션 교체 포함).
— koushik

이상하게도, ext4로 거의 6 개월 동안 보류중인 수를 가지고 있었지만 brtfs로 다시 설치하면 사라집니다. 그러므로 나는 걱정했다. 당신의 조언에서 나는 무언가를하기 전에 몇 주를 기다리는 것을 고려했습니다. 이제 갑자기 그들은 모두 사라졌습니다! 그래서 기다리는 것이 최고라고 생각합니다. :-) btrfs로 더 빨리 해결되는 것처럼 보였습니다.
— Vish

1

최악의 경우 항상 이렇게 할 수 있습니다 : 디스크 나 어레이를 마운트 해제하고 어레이를 중지하십시오.

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

시간이 오래 걸리지 만 작동합니다.

이상적으로는 하드 드라이브 성장 결함 목록 (glist)을 쿼리 할 수 ​​있지만 그 방법을 알지 못했습니다.


1

conv=noerror옵션이 도움 이 될 것 같습니다 . I / O 오류가있는 경우이 옵션 dd은 읽기 / 쓰기가 완료 될 때까지 다시 시도해야하는 것처럼 보입니다 . badblocks 명령 (위 Kaushik에서 제공)에서 찾은 각 불량 블록에 대해 다음 명령을 사용하여 소스 파일을 작성했으며 "현재 보류중인 섹터 수"( "재 매핑 대기 중")를 5에서 0으로 지 웁니다.

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809

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