# dmesg 또는 # cat /var/log/dmesg
확인하여 보면 아래와 같은 디스크 관련 정보가 출력 된다.
운영중인 하드디스크의 무결성을 점검하는 명령
방법 :
# badblock [옵션] <파티션명>
옵션 :
-b : 블록의 크기
-o : 체크된 배드 블록의 목록을 작성할 파일명 정의
-w : 쓰기 모드 테스트를 할 수 있다.
배드 블록이란 하드디스크의 일부분에 물리적인 손상이 있어 그 부분에는 데이터 입출력이 이루어질 수 없는 것을 말한다. 리눅스 시스템에서 하드디스크의 무결성은 대단히 중요한 부분으로써 이유 없이 서버가 갑자기 다운이 되거나 load average가 계속 증가하고 있다면 하드디스크의 이상을 의심해 보아야 한다.
badblocks 명령은 하드디스크의 배드 블록을 검사할 수 있다. 이 명령은 상당히 오래 걸리는 명령이므로 백그라운드 명령으로 실행하는 것이 좋다. 아래는 파티션별로 배드 블록 검사 명령을 준 예이다.
[root@ns root]# badblocks -o /home/log/sda1-check /dev/sda1 &
[1] 2027
[root@ns root]# badblocks -o /home/log/sda2-check /dev/sda2 &
[2] 2028
[root@ns root]# jobs
[1]- Running badblocks -o /home/log/sda1-check /dev/sda1 &
[2]+ Running badblocks -o /home/log/sda2-check /dev/sda2 &
[root@ns root]#
배드 볼록 여부를 정확히 알기 위해서 검사한 내용을 -o 옵션을 사용해서 /var/log 디렉토리에 파일로 남게 하였다. 만약 하드디스크에 배드 블곡이 존재한다면 배드 블곡의 inode번호를 파일에 저장시킨다. 파일의 내용에 아무 것도 없다면 하드디스크는 이상이 없는 것이다.
badblocks 명령을 실행하면서 -w 옵션을 상용할 경우에는 주의해야한다. -w 옵션은 쓰기 테스트까지 진행하므로 데이터가 있는 파티션이라면 데이터가 유실될 위험있다.
이 명령어는 하드디스크와 플로피디스크의 배드블럭(bad block)을 검사하는 명령어이다.
배드블럭이 존재하는 하드디스크를 사용하게 되면 정상적인 운용중에도 갑자기 서버가 다운되는 등의 심각한 장애를 초래할 수 있다.
따라서 배드블럭은 서버설치시 또는 설치직후에 반드시 점검을 해야하며 배드블럭이 존재할 경우에는 깨끗한 디스크로 반드시 교체해야한다.
아래는 실제 배드블럭을 검사하는 예이다.
---------------------------------------------------------------------------------------------------------------------------------------
배드블럭 추가 설명
[root@www named]# badblocks -v /dev/sda5
Checking for bad blocks in read-only mode
From block 0 to 15615148
Pass completed, 0 bad blocks found.
[root@www named]#
위의 예는 배드블럭이 존재하지 않았을 경우의 예이다. 이상이 없는 깨끗한 디스크이므로 정상적인 사용이 가능하다고 할 수 있다.
[root@www root]# badblocks -v -o badblock.txt /dev/sda3
Checking for bad blocks in read-only mode
From block 0 to 16755795
Pass completed, 3 bad blocks found.
[root@www root]#
[root@www root]#
[root@www root]#
[root@www root]# ll
total 8
-rw-r--r-- 1 root root 1199 Jun 30 2002 anaconda-ks.cfg
-rw-r--r-- 1 root root 27 Jan 17 22:34 badblock.txt
[root@www root]#
[root@www root]# cat badblock.txt
16755792
16755793
16755794
[root@www root]#
위의 경우에는 3개의 배드블럭이 존재하는 경우이다. 배드블럭이 존재할 경우에는 몇개의 배드블럭이 존재하는지 결과에서 알려준다.
이 경우처럼 -o옵션을 주게 되면 지정된 파일(badblock.txt)에 결과를 저장하며 그 파일을 확인(cat badblock.txt)함으로서 배드블럭의 번호를 확인할 수 있다.
'리눅스' 카테고리의 다른 글
리눅스 포트 상태 확인 및 포트 열기 (0) | 2018.11.12 |
---|---|
VMware 에서 설치한 CentOS 6.4 네트워크 오류 (0) | 2018.11.12 |
리눅스 글자 꺠짐 (0) | 2018.11.12 |
HeartBeat (irmv1 , irmv2) (0) | 2018.11.12 |
리눅스 Secondary ip 설정 (0) | 2018.11.12 |