리눅스에서 배드섹터 확인하기 badblocks

리눅스 디스크 배드섹터 확인해주는 명령어중에 badblocks 이 있다.
본래 용도는 플로피 디스크를 검사하는 용도지만, HDD 디스크에도 사용하고 싶을 때 -b 값을 지정하여 검사한다.

하드디스크에 불량한 섹터를 검색하고 싶을 때 아래 명령어로 디스크를 검사하자.

badblocks -b 4096 -v -s -o badblocks.txt /dev/sdb
💡
SSD 에서는 사용하지 마세요!

BadBlocks 옵션

badblocks {string}
fdisk 로 디스크를 찾거나 /dev/ 목록에서 검사할 디스크를 지정한다.

-b {number}
{block_size} 디스크에는 섹터 및 블록이 있다. 4TB 디스크 부터는 4096 이상 지정 한다.
기본값 512

-c {number}
{blocks_at_once} 블록을 한번에 검사할 양을 정한다.

-v
{vervose} 디스크검사 진행사항을 상세하게 출력해준다.

-n
{non-destructive read-write} 디스크 검사시 read와 write 모두 검사해준다(기본값은 read only)

-w
{non-destructive write} 디스크 검사시 write만 검사해준다.

-s
검사 도중 진행사항을 퍼센티지로 지정한다. 단 -w -p 옵션을 주어진 경우 디스크를 여러번 검사할 수 있으니 주의해야한다.

-p {number}
검사 횟수를 지정한다. 불량 블록이 일시적인 문제인지 확인할 때 사용한다.

-o {string}
{output_file} 배드블록 섹터발생시 파일로 저장해준다. 값을 지정하지 않는 경우 표준(콘솔) 출력한다.

-i {string}
{input_file} 기존의 배드블록.txt 파일을 지정한 경우, 해당 배드블록을 제외하고 검사한다.

배드섹터 발생

중고 14TB 하드디스크 구매하였는데. 초기에는 정상이었으나 검사하니 배드섹터가 발생한 것으로 보아, S.M.A.R.T 리셋을 시킨 것 같다.

1973756800 x 4096 = 약 8TB 영역부터 배드섹터가 발생한 부분을 확인해주고 있다.