RadarURL

유닉스/리눅스
2014.08.19 01:46

Unix/Linux DISK 검사 및 복구

조회 수 1600 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

badblocks 명령어는 하드디스크와 플로피디스크의 배드블럭(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)함으로서 배드블럭의 번호를 확인할 수 있다.



fsck / e2fsck - 리눅스 파일시스템 검사 및 복구


■ fsck : 파일 시스템을 점검하고 수리한다
Unix 계열에서  하드 디스크를 치료 하는 프로그램은 fsck 이며 마운트 타입에
따라 e2fsck e3fsck resifsck 등으로 나누어 진다.

RedHat 계열의 경우 현재는 거의 ext3 타입을 사용하나 ext2 타입을 사용할 경우
e2fsck 로 검사 및 복구 가능하다.

■ 형식 : fsck, e2fsck

■ 종료 코드는 다음 값의 합계로 나타난다.

0 - 에러 없음
1 - 화일 시스템 에러 고쳐짐
2 - 리부팅이 필요함
4 - 화일 시스템 에러를 고치지 않고 그대로 둠
8 - 실행 에러
16 - 사용법 또는 문법 에러
128 - 공유 라이브러리 에러

■ 옵션

  -A : etc/fstab 화일에 표시된 모든 화일 시스템을 모두 검사한다
  -R : -A와 같이 사용될 때 루트 화일 시스템은 제외 한다(이미 읽기-쓰기 가능으로
         마운트되어 있는 경우)
  -T : 시작할때 제목을 보여주지 않는다
  -N : 실제 검사는 하지 않고 어떤 작업을 할것인가만 보여준다
  -V : 자세히 출력한다
  -a : 물어보지 않고 자동 복구한다
  -r : 물어보고 복구한다
  -s : fsck 동작을 시리얼화한다. 대화형 모드에서 여러 화일 시스템을 점검할 때
        유용하다
  -t [type] : 화일 시스템 유형을 지정한다.
       -A 플래그가 설정되어 있는 경우 파일시스템유형에 맞는 것만 점검한다.
       화일시스템유형 앞에 no 를 붙이면 화일시스템유형 아닌 것만 점검한다.
       보통 /etc/fstab 화일에 들어있는 화일시스템유형을 따른다.
       만약 해당 유형을 알아낼 수 없을 때는 fsck 는 -t 옵션에서 주어진 값을 사용한다.
       주어진 값이 유효하지 않다면 현재로서는 기본값인 ext2 가 사용된다


■ 사용법


- fsck [-t 파일시스템유형] [장치명]
ex) fsck   /dev/hdb2
      fsck  -r /dev/sda3

■ 설명

fsck 명령어는 리눅스 파일 시스템을 점검하고 복원시켜 주며 윈도우의 chkdsk 와
유사한 명령어이다.

fsck  (최신 e2fsck)는 single 모드로, 해당 파티션이 unmount 된 상태에서 수행해야
정확한 검사가 가능하다.

ext3 의 경우에는 보통 default 로 부팅시에  6개월에 한번 파일 시스템 점검 하도록
되어있으므로 파일시스템 손상 가능성이 거의 없지만 ext2 의 경우는 가끔 실행해
주는 것이 좋다.


■ fsck 상세 설명


1) fsck는 화일 시스템에서 내재하는 여분의 데이타를 첵크함으로서 구조적인 상태를
검증.


fsck 실행시 아래의 5가지의 과정을 거치게 된다.

 

Phase 1 - Check Blocks and Sizes : 블럭과 사이즈 검사

Phase 2 - Check Pathnames : 패스이름 검사

Phase 3 - Check Connectivity : 연결 상태 검사

Phase 4 - Check Reference Counts : 참조 수 검사

Phase 5 - Check Cyl groups : 싸이클 그룹 검사


2) fsck는 Multi-pass 프로그램인데, 화일 시스템을 여러번 시험하여 각각의 경로마다
화일 시스템의 다른 특징을 시험한다는뜻이다.


3) root에 fsck를 실행시키기전에 shutdown 명령어를 써서 시스템을 단독 사용자 형태로
옮겨야 한다. 만일 fsck에 화일 시스템을 주지 않고서 실행시키면 fsck는 /etc/checklist
화일에서 "hfs"라고 표시된 화일 시스템만 검색. 그 순서는 pass_number(6번째 필드)
에서 숫자로 결정된다.

% 예방과 유지를 위해 모든 화일 시스템에 한주에 한번 혹은 각각의 full backup 전에 fsck -p를 실행하는것이 좋다.


4) 형식)

# fsck -P/-p (-P: /file system check only. -p: /를 제외한 일반 화일 시스템 check)


5) # fsck (-b, block#) (-y|-n) (-q) (file_system)

* -y : 모든 질문에 yes라는 뜻. 가급적 안쓰는것이 좋다.
* -n : " no " . 쓰지 말것.
* -q : 구질 구질한 것이 많으니 보지 않겠다는 의미. 역시 안쓰는것이 좋다.
* -b block# : 이것은 primary super block을 잃어버렸거나 파괴되었을때 사용하기 좋고
fsck로 많은 에러가 발생되었다면 이 옵션을 사용할 것.

% fsck가 다시 부트하라는 말이 없는데 시스템을 다시 시동하지 말것.
만일 다시 시동해야 한다면 sync를 실행시키지않는 reboot -n 명령을 사용할 것.

6) The lost + found Directory

1) 모든 file system은 그의 root에 lost+found라는 디렉토리를 가져야 된다.
즉, /lost+found 이고 이것은 newfs에 의해 생성된다.

2) 만일 존재하지 않는다면 /etc/mklost+found라는 명령을 써서 다시 만들수있다.

3) fsck는 lost+found 디렉토리안에 어떤 문제의 화일들이나 디렉토리들을 위치시킨다.


출처 : http://junewoo.tistory.com/entry/DISK-%EA%B2%80%EC%82%AC-%EB%B0%8F-%EB%B3%B5%EA%B5%AC

TAG •
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928092
33 유닉스/리눅스 리눅스(Linux) 디렉토리 구조 file JaeSoo 2016.10.20 693
32 유닉스/리눅스 Linux/Unix용 nmon 설치 및 구성 file JaeSoo 2016.05.04 773
31 유닉스/리눅스 [Linux/Unix] 심볼릭 링크(ln) 만들기 및 확인/삭제 JaeSoo 2016.02.19 901
30 유닉스/리눅스 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JaeSoo 2015.02.24 855
29 유닉스/리눅스 Linux MRTG 설치 (yum install) JaeSoo 2014.12.26 803
28 유닉스/리눅스 Linux에서 Disk(HDD) Check 하기 JaeSoo 2014.12.26 859
27 유닉스/리눅스 UNIX, Linux fuser 사용법 (umount 옵션이 안될때 사용) JaeSoo 2014.12.26 892
26 유닉스/리눅스 Linux 커널이 32bit 인가 64bit인가 확인하는 법 JaeSoo 2014.12.22 880
25 유닉스/리눅스 Linux 웹서비스를 위한 퍼미션 문제 JaeSoo 2014.12.18 956
24 웹 프로그래밍 Linux/NT XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) JaeSoo 2014.12.17 1184
23 유닉스/리눅스 Linux CentOS 방화벽 설정 - iptables JaeSoo 2014.12.16 1076
22 유닉스/리눅스 Linux에서 Cron을 이용한 스케쥴러 관리 JaeSoo 2014.10.20 1518
21 유닉스/리눅스 Linux 무선랜 포팅 방법 JaeSoo 2014.08.22 1509
20 유닉스/리눅스 Linux 강제 umount 방법 (umount : device is busy 발생시) JaeSoo 2014.08.19 1474
» 유닉스/리눅스 Unix/Linux DISK 검사 및 복구 JaeSoo 2014.08.19 1600
18 유닉스/리눅스 리눅스 명령어 : find 활용법 JaeSoo 2014.08.09 1450
17 유닉스/리눅스 Linux 디렉토리나 파일 개수 세기 JaeSoo 2014.07.08 1527
16 유닉스/리눅스 Linux 톰캣 tomcat 재실행, 재시작 JaeSoo 2014.06.24 1945
15 유닉스/리눅스 Linux 서버 하드웨어 정보 확인하기 (CPU, HDD, MEM등) JaeSoo 2014.06.10 1795
14 유닉스/리눅스 Redhat Linux rhn 인증 실패로 인한 yum 사용 불가시 조치 JaeSoo 2014.05.29 2036
Board Pagination Prev 1 2 Next
/ 2


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너