하드디스크 배드블록 점검 툴 - badblocks

by 조쉬 posted Mar 18, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

* Incident

 

배드블록을 점검하는 badblocks 명령어에 대해서 안내한다.

badblocks 명령어는 기본적으로 읽기 테스트만 진행하며 특정 옵션을 사용하여 읽기/쓰기 테스트도 할 수 있다.

 

 

* Resolution

- 사용방법

badblocks [-b 블록크기] [-o 출력파일] [-v] [-w] 장치명


- 옵션

[-b 블록크기] : 블록의 크기를 바이트 단위로 나타낸다. (디스크 용량이 클 경우 블록의 크기를 증가해야 한다.)

[-c 블록 수] : 한번에 테스트할 블록의 갯수를 지정한다. (기본값 : 64블록)

[-n] : 안전한 read/write 모드로 점검한다. mount 되어 있는 경우에는 점검하지 않는다. (기본값 : read only 모드)

[-o 출력파일] : 배드블록의 목록을 파일에 저장한다. 이 옵션이 없으면 모니터에 출력한다.

[-v] : 상세한 내용을 출력한다.

[-w] : 쓰기모드를 테스트한다. 이 옵션을 선택하면 장치상의 모든 블록에 read/write 하여 내용을 비교함으로서 배드블록을 찾아낸다. 기존에 데이터가 있을 경우 모두 삭제되므로 주의가 필요한 옵션이다.

n 옵션과 함께 사용 불가능하며, n 옵션은 랜덤패턴을 사용하여 배드블록을 점검하지만

w 옵션은 특정패턴(0xaa, 0x55, 0xff, 0x00)을 사용하여 배드블록을 점검한다.


- 사용 예

[root@mooon]# badblocks -v /dev/xvdb1

/dev/xvdb1 파일시스템을 점검한다.


[root@mooon]# badblocks -v -o badblocks.txt /dev/xvdb1

배드블럭이 발견 되었을 때 그 결과를 badblocks.txt 에 저장한다. 이경우 모니터에는 출력되지 않는다.


[root@mooon]# badblocks -n -v /dev/xvdb1

read/write 모드로 배드블록을 점검한다. 자세한 점검을 할 때 추천하는 방법이나 umount 해야한다.

그리고 write 테스트를 하므로 read only 모드보다 점검시간이 오래 걸린다.


[root@mooon]# badblocks -b 4096 -v /dev/xvdb1

디스크의 용량이 클 경우 "Value too large for defined data type invalid end block" 오류가 발생한다.

이 때 b 옵션을 사용하여 블록의 크기를 증가시키면 해결할 수 있다.

 


 * Reference 

 

http://askubuntu.com/questions/548945/how-to-check-badsector-on-ext4-6tb