2013년 11월 25일 월요일

리눅스 재부팅시 fsck 검사 설정

윈도우처럼 시스템에서 체크 디스크 및 오류 검사, 조각 모음 등의 작업을 수행할 수 있다.
하지만 이것은 마운드, 즉 리눅스라는 시스템이 구동되면서 디스크에 작업을 할 수 있게 마운트가 되어 있는 상태에서 하기에는 많이 부족하다.
그래서 리눅스 시스템이 재부팅될 때 이런 작업을 수행하게 해준다.
그 중 대표적인 리눅스 fsck 를 시작하게 설정해 놓는다.

디스크 전체와 시스템에도 영향을 미칠 수 있기 때문에
해당 작업은 crontab 에 설정하는 것이 아니다.

각 블로그나 사이트마다 방법을 적어놓았지만
이 글에는 이런 방법들을 모두 모아놓은 것이기에
안된다면 시스템에 모두 적용해볼 것을 추천한다.
물론 전부 설정해 놓으면 잘 된다.

1. /(루트) 디렉토리에 파일을 강제로 만들어 놓는다
# touch /forcefsck
해당 파일을 만들어 놓으면 재부팅 시 강제로 fsck 검사를 수행한다.
하지만 한번 재부팅하면 해당 파일이 삭제되기 때문에 계속 만들어지도록 설정해 놓는다.

우분투 ubuntu 기준
# vi /etc/rc.local
touch /forcefsck   - 라인 추가

2. /etc/fstab 에서 / 디렉토리 외 디렉토리를 검사하도록 설정
해당 파일을 열어서 / 와 /home 등의 라인 가장 끝을 살펴 보면
0 1   혹은   0  2 로 설정된 것을 확인할 수 있다.
가장 마지막 필드는 0 1 2 를 입력할 수 있다.

마지막 필드
0 - 해당 영역을 검사하지 않음
1 - 재부팅 시 반드시 검사 수행
2 - 재부팅 횟수가 디스크 설정 횟수가 되면 검사 수행

swap 영역의 마지막 필드는 0
/ 영역의 마지막 필드는 1
/ 영역 외, /home 등의 마지막 필드는 2 인 것은
이런 이유 때문이다.

검사를 수행하고자 하는 디렉토리의 마지막 필드를 1로 변경하면 된다.

3. 리눅스 제공 실행쉘을 이용한 설정
위에서 언급한, 디스크 설정 횟수라는 것을 강제로 조종하는 방법이다.
dumpe2fs 와 tune2fs 등의 쉘을 이용한다.
# dumpe2fs -h /dev/sda1 | grep -i mount
Mount count 와 Maximum mount count 라는 항목이 나오는데
이것은 현재 재부팅되면서 마운트에 연결된 횟수를 나타내며
Maximum 수치에 도달하게 되면 fsck 검사를 수행하게 하는 것이다.
dumpe2fs 는 파일시스템의 정보를 보여주는데 이런 mount 수치는 tune2fs 에서 설정한다.

# tune2fs -c 1 /dev/sda1
위에서 확인한 mount 수치 중 maximum 을 1로 변경해서 재부팅 시 검사를 수행하게 한다.



댓글 없음:

댓글 쓰기