1TB 드라이브에서 배드 블록은 얼마나 걸립니까?


29

1TB 드라이브에서 불량 블록 (또는 "e2fsck -c")을 실행 중이며 진행률 표시기가 표시 (펑크되지 않음) 인 경우 거의 영원히 완료 될 것입니다.

지금은 0.01% done, 30:20 elapsed어떤 일이 완료되기까지 17 주 정도 걸릴 것이라고 말하는데 , 이것은 나의 책에서 다소 과도하게 보입니다.

그러한 점검에 걸리는 정상적인 시간입니까, 아니면 단순히 드라이브가 고장 나서 점검이 영원보다 약간 짧아진다는 내 의심이 맞습니까?

여기 에서이 질문을 찾았 지만 통과 한 횟수와 관련이 있습니다.


2
인터페이스, 드라이브 및 실제로 고장이 발생한 경우 드라이브의 상태에 따라 달라집니다. 내 컴퓨터 중 하나에서 SATA를 통해 연결된 1.5TB 드라이브에 대해 불량 블록 스캔에 ~ 70 시간이 걸렸다는 것을 알 수 있습니다. USB2.0 또는 1.0을 통해 연결된 경우 훨씬 길어집니다.
Zoredache

e-SATA를 사용하여 연결됩니다. 잠깐 시간을내어 숙면을 취한 후 얼마나 멀리 있는지 알 수있을 것입니다.
Steven Don

@ Zoredache-귀하의 의견이 대신 대답해야한다고 생각합니다.
Nifle

위의 Zoredache의 의견 외에도 다른 스위치는 badblocks다른 작업을 수행하도록하여 -w스위치 와 같은 런타임에 영향을 미칩니다 .
JeffG

1
필요한 시간은 또한 모드 badblocks가 실행 중인지에 따라 다릅니다 . 읽기 전용, 비파괴 읽기 / 쓰기 또는 파괴적인 읽기-쓰기. 0.1 %는 30 분이 길어 보입니다.
SabreWolfy 2016 년

답변:


20

당신이 질문에 대답하기 위해, 내가 제공 할 수있는 가장 가까운 것은 이것을 테스트 한 3TB입니다. 여기에 3 번의 테스트가 있는데, -c많은 시간이 걸리기 때문에 매개 변수 값만 변경 하고 최대 10 %까지만 수행했습니다. 평균을 얻기 위해 각각 3 회 수행되었다.

badblocks -svn /dev/sdb

1 %에 도달 : 1 시간
10 %에 도달 : 8 시간 40 분

badblocks -svn -b 512 -c 32768 /dev/sda

1 %까지 : 35 분
10 %까지 : 4 시간 10 분

badblocks -svn -b 512 -c 65536 /dev/sda

1 %까지 : 16 분
10 %까지 : 2 시간 35 분

예,이 -c파라미터는 드라이브를 확인하는 데 걸리는 시간에 매우 큰 영향을 미칩니다. 1TB 하드 드라이브의 경우 3TB와 동일한 시간 프레임을 유지한다고 가정하면 여기에서 언급 한 시간의 1/3이 될 것이므로 -c 655361TB HDD에서 10 %에 도달하면 약 50 분


5

배드 블록은 4 번의 런을 만듭니다. 1TB 외부 HD에서는 일반적으로 약 70 시간이 걸립니다.


4
완전성을 위해 badblocks, -w파괴적-쓰기 플래그를 사용하여 디폴트로 4 회 실행됩니다 .
SabreWolfy 2016 년

@SabreWolfy -w로 실행하면 badblocks가 어디에서 읽었습니까? 이 정보를 찾을 수 없습니다.
Alan Franzoni

1
-w에 대한 매뉴얼 페이지는 사용하는 네 가지 쓰기 패턴을 보여줍니다.
SabreWolfy

3

에서와 같이 함께 처리되는 블록의 양을 늘리십시오 badblocks -svn -b 512 -c 65536 /dev/sda. 이런 방식으로 8 시간 내에 1TB 하드 디스크 드라이브를 확인할 수 있습니다.


2

WD Red 4TB 드라이브에서 불량 블록을 실행하고 있습니다. 그것들은 4k 섹터 드라이브이기 때문에 (을 사용하여 확인 lsblk -o NAME,PHY-SeC) 나는 그것을 사용하고 -b 4096있습니다. 내가 사용 그래서 나는 RAM의 ~ 배드 블럭 각각의 인스턴스를 제공하기 위해 800MB를 원 -c 200000을 준다 4096 bytes * 200,000 blocks = 800,000 Kb. 그들은 각각 800Mb로 시작했지만 시간이 지남에 따라 무너졌습니다. 그러나 이러한 설정은 표준 설정보다 훨씬 빠른 속도를 제공합니다.

3 분 56 초에 1 %를 실행 했지만 4 패턴 중 1 %입니다. 또한 달리기 끝에 가까워 질수록 더 많은 시간이 걸리는 것 같습니다. 약 17 시간 만에 첫 번째 패턴으로 디스크를 검사 했으므로 약 68 시간 내에 4TB를 완료해야합니다 .

아래의 명령은 영구 쓰기를 실행합니다

내가 사용하는 명령은 다음과 같습니다. badblocks -svw -b 4096 -c 200000 /dev/sdc -o bb_sdc.txt


0

6TB RAID 6 (DESTRUCTIVE WRITE MODE!)에서 실패한 1TB 드라이브에서 어제 전날 실행했습니다.

# badblocks -svw -b 4096 -c 65536 /dev/sdb

메인 보드는 SATA3 포트에 연결된 8x Samsung SpinPoint M8 HN-M101MBB (I know…)가있는 ASRock Rack C2550D4I (I know…)입니다. 드라이브는 4K "고급 포맷"드라이브이므로 4K 블록 크기입니다.

badblocks 오류없이 완료하는 데 약 28 시간이 걸렸습니다.

단일 hdparm -tT어레이는 전체 어레이를 테스트 할 때 ~ 105MB / 초 (평균 버퍼 읽기 타이밍), 200–230MB / 초를 수행합니다. 요즘 우수한 제품은 없지만 오래된 랩톱 드라이브 더미에는 좋습니다.

이 스레드가 디스크에서 불량 블록을 빠르게 실행할 수있는 방법을 찾는 데 도움이 되었기를 바랍니다. 요즘에는 그 사용이 모호하다는 것을 알고 있지만 smartctl -t long읽기 실패로 인해 이전에 실패 했을 때 SMART 값이 어떻게 변경되는지 확인하기 위해 모든 섹터를 몇 번 터치하고 다시 작성하기로 결정했습니다. 또 다른 smartctl테스트가 보류 중입니다. 다시 실패하면 새 드라이브를 구입할 것입니다.


-1

일부 성능 관찰 :

e2fsck -c -c -v /dev/sda2이 장치에있는을 실행 중입니다.

/dev/sda2  77056 976754431 976677376  3.7T Linux filesystem

63.5 %의 현재 런타임은 53:28:40입니다. 53.5 시간 진행률은 1.186 % / 시간입니다. 이 속도로 완료하는 데 추가 31 시간이 소요되며 총 실행 시간은 85 시간입니다. 이것은 USB 3.0 장치입니다. iotop은 평균 읽기 / 쓰기 속도가 약 25MB / s임을 나타냅니다. 지금까지 불량 블록이 발견되지 않았습니다.

기본 명령 줄 e2fsck은 다음과 같습니다.

sh -c badblocks -b 4096 -X -s -n /dev/sda2 976677375

^ C (SIGTERM)를 사용하여 불량 블록을 중단하는 것이 안전합니다. 그렇게하면 디스크 블록 수준 작업이므로이 테스트를 중지하고 나중에 다시 시작할 수 있다는 단점이 없습니다. 스캔 완료 백분율로 재개하기 전에이 파일 시스템을 마운트 해제해야합니다.


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