리눅스/운영참고

부팅 시 파일시스템이 깨졌을때 조치방법

KWMBLOG 2018. 12. 1. 11:37

이번 글에는 이미지가 하나도 없다.

콘솔에서 확인할 수 있는데,

서버는 서울에 있어서 갈 수가 없다.




checking filesystems

중략

/var: unexpected inconsistency; run fsck manually.

(i.e.,without -a or -p options

                                        [failed]


***An error occurred during the file system check.

***Dropping you to a shell; the system will reboot

***when you leave the shell.

Give root password for maintenance

(or type Control-D for normal startup):


요래 나온뒤로 멈춰있다.

그러면 파일시스템이 깨졌다는 뜻이다.


Give root password~~

루트 패스워드를 입력하라는 뜻이다.


루트패스워드를 입력하고 들어가서

df -h를 입력해보면

/ 만 마운트 되어있다.


여기서 방법 1, 2로 나뉜다.




방법 1.

조건 : 시스템필수항목 있는

파일시스템이 문제가 없어야 한다.


/etc/fstab

을 열어서 문제가 있는 파티션을 주석(#)처리한다.


그럼 분명 읽기전용이라고

저장을 못할 것이다.


:q 로 나와서

mount -o remount,rw /

를 입력하고 다시 위 작업을 반복한다.


저장이 되었으면

다시 부팅을 해본다.


부팅이 완료되고 나면

아까 문제가 있었던 파티션의

badblock 검사를 한다.

badblocks -v /dev/파티션

(시간이 없으면 생략한다.)


e2fsck -cfv /dev/파티션

을 입력하고 기다린다.


여기서 성공한다면 다행이지만

실패가 뜨면... 음...




방법 2.

루트패스워드를 입력하고

들어간 다음 바로

e2fsck -cfv /dev/파티션

을 입력한다.


다 끝나고 나면

리부팅 후 정상적으로 켜지는지 본다.




방법1 과 방법2의 차이점은

통신을 하고 못하고의 차이인데,

불완전한 시스템으로 라도

서버를 돌려야 한다면

첫번째 방법을 사용하면 되고,

궂이 그럴필요까지 없다면

두번째 방법을 사용하면 된다.


그리고 e2fsck를 실행하기 전에

반드시 백업을 해둬야 한다.

e2fsck 가 실행되면서

몇몇 파일이 지워지는 경우가

가끔씩 있기 때문이다.


나는 예전 회사에서 야간근무 중일 때 이걸 발견하게

됐었는데, 정말 보자마자 소리질렀다.

그만큼 짜증난다.


3줄 요약

부팅할때 파일시스템이 깨졌다면 우선 root패스워드를 입력해서 들어가라.

방법 1, 2중에 상황에 맞는 방법을 사용해라.

실제로 겪어보면 개짜증난다.