Server관련/Sever(OS)

e2fsck를 이용한 리눅스 파일 시스템 복구하기

saltdoll 2008. 9. 16. 11:41
반응형
e2fsck를 이용한 리눅스 파일 시스템 복구하기

e2fsck는 리눅스 파일시스템 점검 및 복구 할 수 있는 명령어이고 리눅스에서 사용할 수 있는 거의 모든 파일시스템의 점검과 복구가 가능하다. 서버관리자라면 반드시 알아야 할 중요한 명령어이다!

- e2fsck 작업에서 기본적으로 점검하는 항목 -
1. inodes 점검
2. blocks 점검
3. sizes 점검
4. 디렉토리구조 점검
5. 디렉토리 연결성점검
6. 파일링크 정보
7. 전체파일갯수 점검
8. 전체블록수중 사용중인 블록 점검

- 명령어의 위치 -
[root@omyworld ~]# which e2fsck
/sbin/e2fsck

- 사용법 -

1. 특정 파일시스템의 점검 및 복구
[root@omyworld ~]# e2fsck /dev/hda1
e2fsck 1.35 (28-Feb-2004)
/dev/hda1 is mounted. 

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)?yes

/boot1: recovering journal
/boot1: clean, 34/26104 files, 11778/104388 blocks

2. 특정 파일 시스템 강제 점검 및 복구
*** 강제점검및 복구는 불가피한 상황이 아니면 사용하지 않습니다. ***
[root@omyworld ~]# e2fsck -f /dev/hda1
e2fsck 1.35 (28-Feb-2004)
/dev/hda1 is mounted. 

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/boot1: 34/26104 files (2.9% non-contiguous), 11778/104388 blocks

3. ext3(저널링)파일시스템의 점검 및 복구
"-j ext3" 옵션을 주면 됩니다.
[root@omyworld ~]# e2fsck -j ext3 /dev/hda1 --> 요론식으로 하면 되겠죠? *^^*

4. 특정 파일시스템 강제 점검 및 상세 작업내용보기
[root@omyworld ~]# e2fsck -fv /dev/hda1
e2fsck 1.35 (28-Feb-2004)
/dev/hda1 is mounted. 

WARNING!!!  Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

     34 inodes used (0%)
      1 non-contiguous inode (2.9%)
        # of inodes with ind/dind/tind blocks: 5/3/0
  11778 blocks used (11%)
      0 bad blocks
      0 large files

     21 regular files
      3 directories
      0 character device files
      0 block device files
      0 fifos
      0 links
      1 symbolic link (1 fast symbolic link)
      0 sockets
--------
     25 files
5. 디스크의 배드블럭 마크하기
e2fsck의 옵션중 badblocks를 실행하여 배드블록을 찾은 후에 디스크의 배드블록 inode에 추가하여 마크함으로써 마킹된 배드블록을 사용하지 못하도록 하는 방법
-c 옵션을 사용하세요~
[root@omyworld ~]# e2fsck -cv /dev/hda1

6. 오류 자동수정
-p 옵션 : 복구하는 과정에서 많은 질문이 발생할 수 있는데 이런 질문을 계속해서 답해주는것도 참 힘든일이겠죠? 이런 과정을 자동으로하도록 하는 옵션입니다.

7. 모든 질문항목에 yes라고 대답하기
-y 옵션

8. 모든 질문 항목에 no라고 대답하기
-n 옵션


[ 발생 원인 및 기타 ]

  파일 시스템의 손상은 갑작스런 정전이나 비 정상적인 시스템 종료시 흔히 발행한다.
  이런 경우 시스템은 부팅되면서 자동으로 파일시스템을 check 하게끔 etc/fstab 에 설
  정되어있다.

  부팅과정을 지켜보면 해당 파티션에대한 check 작업을 하는 과정을 볼수가있다.
  이때 아무런 문제없이 파일 시스템의 check 가 끝나게되면 OK 라는 싸인이 떨어지게된다.
  그렇지 못할경우 PASSED 하는 사인이 뜰어진다. PASSED 라는 메시지가뜰어지면 정상적으 
  로 부팅후 파일시스템을 check 해주는게 좋을듯 싶다.

  하지만, 위의 내용처럼 간단한 파일시스템 손상의 경우는 문제가 되지않지만, 심각한 
  손상이있을경우 파일시스템을 마운드하지못하고 root 패스워드를 입력하라는 화면에서 
  멈출때가 종종있다.
  이때는 root 패스워드를 입력하고 파일시스템을 check 한후 재부팅을 하게되면 그런 문제 
  는 해결할수가있다. 
  하지만 이미 손상이된 파일시스템은 차후에 동일한 결과를 가져올수있기 때문에 심각한
  오류가 발행한 시스템은 새로이 설치하는게 차후의 서비스에대한 대비책이라고 생각된다.

[ 파일시스템의 손상형태 - 복구쉬움 ]

  1. 참조되지않은 inode
  2. 납득할수없이 큰 링크의 갯수
  3. 블록멥에 기록되지않은 사용되지않는 데이터 블럭
  4. 파일에서 사용하고있지만 비어있다고 기록된 데이터 블럭
  5. 슈퍼블럭의 부정확한 요약정보
 
  위의 5가지 내용은 부팅되면서 자동으로 fsck로 고쳐진다. - 단 fstab 에 부팅되면서 파일
  시스템을 check 하라고 지정되어있을시.....

[ 위험한 손상형태 ]

  1. 하나이상의 파일이 요구되는 블럭
  2. 파일시스템의 범위밖에서 요구하는 블럭
  3. 너무 작은 링크 갯수
  4. 셀수없는 블럭
  5. 할당되지않은 inode를 가리키를 디렉토리
  6. 다양한 포맷 에러

[ e2fsck 사용하기 - man 페이지를 참고로 했습니다 ]

1. e2fsck 는 ?

  e2fsck - 리눅스 파일시스템을 check & repair 하기위해서 사용되는 명령어이다.
            e2fsck 는 ext2 파일시스템을 지원한다.

2. 사용 방법

  e2fsck [옵션] [디바이스명] 

3. 사용 옵션

  -p : 파일시스템을 검사하면서 자동으로 복구해준다.
  -n : 파일 시스템을 바꾼다.
  -y : 모든 질문에대한 응답을 yes 로 취급한다.
  -c : BAD BLOCK 을 CHECK 한다.
  -f : 깨끗한 파일시스템까지 강제적으로 check 한다.



출처 : http://www.imgun.com/
반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)