Skip to content

e2fsck - 파일 시스템 복구 및 검사. - fsck

조회 수 60903 추천 수 0 2010.09.12 04:35:12

리눅스는 부팅단계에서 /etc/rc.d/rc.sysinit 스크립트에 내용에 따라  

fsck 가 /etc/fstab파일을 참조하여  각 마운트된 (디스크)장치의 파일 시스템을 점검 한답니다.

그런데 점검도중 파일시스템이 맛텡이가 가버린 파티션이 있다면 부팅이 안된답니다.

그럴때 fsck를 이용하여 우리는 응급조치를 취해야 한답니다.그럼 이 fsck를 이용하는 방법을 알아 봅시다.

 k-6_izlaen.png

 

부팅 도중에 위와 같은 오류 메시지와 함께 부팅이 멈춰 버립니다. 익숙한 X윈도우 환경은 온데간데 없구요..ㅜㅜ

먼저 우리는 오류 메시지에 대한 정확 한 이해가 필요 합니다. 네이버 영한 사전을 펼치고 모르는 단어를 찾아가며

시스템이 머라고 알리는지 정확하게..아니면 대충이라도 알아볼 필요가 있습니다

우리가 주목해야 하는 부분은 저 빨간색 [FAILED] 위의 메시지 입니다.

/dev/sdb1 : UNEXPECTED UNCONSISTENCY : RUN fsck MANUALLY.   <- 바로 이 부분이지요.

 

해석 해보면.. /dev/sdb1 파티션을 메뉴얼에 따라 fsck를 이용하여 체크 하는 도중에 예상치 못한 오류가

있더라. 

우린 어뜨케 해야 할가요? 먼저 root의 비밀번호를 때려 넣어줍니다.

그러면

(Repair filesystem) :

위와 같은 프롬프트가 뜨는데요 파일 시스템을 복구 하란 말이 겠죠 .

우린 오류가 난 부분을 진단해서 고쳐줘야 한답니다.

 

(Repair filesystem):e2fsck /dev/sdb1

와 같이 명령어를 쳐주면 알아서 몽창그리 처리해줍니다. 그럼 이런 저런 메시지가 뜬답니다. 그리고 리부팅을 해주면

아주 잘 부팅이 되는 걸 볼수 있습니다. 참 쉽죠잉~? 한때 제가 이걸 못해서 다시 설치를 했던때가 있었는데..ㅜㅜ;

 

fsck의 여러 가지 옵션을 알아봅시다.

 

먼저  fsck를 이용하여 파일시스템을 점검 할때에는 파티션을 언마운트 시킨후에 해야 한답니다. 안그러면 점검하다가 파일시스템에

되려 손상이 가는 경우가 있을수 있답니다.

 

k-7_izlaen.png

 

위와 같은 명령어로 장치들의 마운트 정보를 확인 할 수 있겠죠 .(df명령은 시스템의 파일시스템별 디스크 정보에 대한 정보를

쉽게 확인 할수 있는 명령으로 man페이지를 보고 공부해 두는게 좋아용!)

 

 -f : 이는 파일시스 템이 이상이 없더라도 강제적으로 파일 시스템을 점검 할때 사용 합니다.

ex) #e2fsck -f /dev/sdb1   

 

-j : 이는 저널링 파일 시스템을 대상으로 작업할때 사용 하는 옵션입니다. 저널링 파일 시스템(보통 ext3)를 대상으로 작업할때

     옵션이 아니라 필수 해줘야 하는 옵션입니다.

ex)#e2fsck -j ext3 /dev/sda1

 

-v : 점검내역 상세 보기

ex)#e2fsck -j ext3 -fv /dev/sda2                   ext3의 파일 시스템으로 구성된 sda1파티션을 강제로 점검하면서 상세내역도 보는명령

 

-p : 오류 있는 파일 시스템의 자동 복구    (아주 유용한 옵션이랍니다..) 

ex)#e2fsck -b 98304 -p /dev/sda1

 

-y : 수행 과정의 질문에 모두 yes라 응답하는 옵션

ex)#e2fsck -b 98304 -y /dev/sdb1

 

-n :수행 과정의 질몬에 모두 no 로 응답하는 옵션

ex)#e2fsck -b 98304 -n /dev/sdb1

 

-c : 점검 과정에서 찾게된 베드블록을 마킹하여 사용치 못하게 하는 옵션

ex)e2fsck -j ext3 -cv /dev/sda2              (/dev/sda2 파일 시스템내의 배드블록이 있다면 배드블록 아이노드에 마킹하는 작업)

 

 

◈백업 슈퍼블록을 이용한 파일 시스템 복구.

 

위와 같은 많은 방법을 동원하여 복구 하려 해도 안될때 우리는 백업 수퍼 블록을 이용하여야 한답니다.

리눅스의 파일 시스템의 구조와 수퍼 블록의 정확한 개념, 그리고 백업 슈퍼 블록의 위치를 알아야 한답니다.

 

리눅스 파일시스템의 경우 대게 슈퍼블록을 이용하여 읽고 쓰기를 하는데 이녀석이 깨지면 끝장나게 되는 것이죠.

그래서 이 슈퍼블록의 위치 바로 ~ 뒤에 저러게의 슈퍼블록 백업 블록이 있는데요 이녀석들을 이용한 복구 방버이죠.

 

먼저 슈퍼 블록과 그의 분신들의 위치를 알아 봅시다.

 

k-8_izlaen.png

 

위와 같이 확인 할수 있습니다.대게 메인 블록이 맛텡이가면 저 백업 블록에 의해 작업하면 된답니다. 몽땅 맛이가면 우리도

맛텡이 가는 거죠 . 단 하나만 살아 있으면 되는 겁니다.

 

실사용 예를 봅시다.

 

#e2fsck -b 57345 -f -j ext3 -y /dev/sda1  ( sda1 파티션의 파일시스템을 4번째 슈퍼블록 복사본을 이용하여 강제로 복구 하는데 질의되

                                                            모든 질문에 모두 yes로 대답 하여 하겠다 )  

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
267 time.bora.net 시간 동기화후 dovecot 데몬이 죽는 현상 해결 ADMINPLAY 2009-04-27 23894
266 [Linux] too many files 에러가 날때 ADMINPLAY 2009-09-20 23833
265 DRBD(Distributed Replicated Block Device) 에 대해서 ADMINPLAY 2012-01-16 23737
264 [Linux]RedHat Enterprise Linux 5 계열 VNC Server 설정 ADMINPLAY 2009-09-25 23712
263 리눅스에서 실수로 삭제한 파일을 복구 ADMIN 2008-12-10 23594
262 kernel: nf_conntrack: table full, dropping packet. ADMINPLAY 2009-11-26 23587
261 리눅스 로그파일 관리 [로그파일 삭제하는 방법] ADMINPLAY 2009-07-31 23532
260 리눅스 쓸데없는 파일,로그파일 주기적으로 삭제하기 ADMINPLAY 2009-07-02 23524
259 libphp4.so: cannot restore segment prot after reloc: P... ADMINPLAY 2011-02-07 23518
258 리눅스에서 베드섹터 검사명령어 ADMINPLAY 2009-08-18 23513
257 포트 포워딩 도구 ipmasqadm file ADMINPLAY 2009-09-08 23496
256 vi 이용한 파일내용 일괄변경 ADMINPLAY 2010-08-10 23491
255 eAccelerator설치와 PHP 성능 향상 분석 ADMINPLAY 2011-06-22 23472
254 서버 점검 : 자원 및 apache, mysql ADMIN 2008-12-10 23466
253 LVS 기능 및 장점과 설치프로그램 및 적용사이트 ADMINPLAY 2009-11-04 23389
252 Linux 파일 오픈 갯수 확인 ADMINPLAY 2009-05-10 23386
251 X-window 설치 ADMINPLAY 2010-03-24 23361
250 single mode readonly 파티션 rw로 다시 마운트 ADMINPLAY 2008-12-10 23302
249 인터넷 속도 단위 (bps, cps) ADMINPLAY 2009-08-03 23301
248 FreeBSD SSH 접속 안되요 ADMINPLAY 2009-07-14 23279

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234