출처:  http://www-903.ibm.com/kr/techinfo/pseries/tech/rootvamgt.html#aa



root 디렉토리(/) 및 /var 파일 시스템 관리



파일 시스템 공간이 100%에 가깝게 꽉 차게 되면 성능이 저하될 뿐만 아니라, 루트(/)나 /var 파일 시스템이 꽉 차는 경우에는 시스템이 부팅이 안되거나 CDE 로그인이 안되거나, 혹은 vi 명령 및 큐잉 시스템이 작동이 되지 않는 등 여러 가지 문제가 발생할 수 있다. 따라서 평소에 df -k 명령으로 파일 시스템 사용율을 점검하고 적절한 조치를 취해야 한다. 여기에서는 / 및 /var 파일 시스템의 파일 공간 관리에 대해 소개하고자 한다.


root (/)가 Full 인 경우 

1. /etc/security/failedlogin 파일을 점검한다.

다음과 같이 who 명령을 사용하여 이 파일의 내용을 읽을 수 있다.
# who /etc/security/failedlogin

tty의 respawning too rapidly 조건이 failed login 입력항목을 만들어 내는 경우가 종종 발생한다. 해당 경우에는 다음의 명령으로 파일의 내용을 비운다.
# cp /dev/null /etc/security/failedlogin


2. /dev 디렉토리를 점검한다.

가령, "rmt0" 대신 "rmto"를 쓰는 것과 같이 디바이스명을 잘못 타이핑하면, "rmto"라는 파일이 /dev에 생성된다. 보통은 전체 루트 파일 시스템이 꽉 찰 때까지 실패하지 않고 명령이 계속 진행된다. (/dev는 / 파일 시스템의 일부분임). 디바이스가 아닌(즉, major 또는 minor 번호가 없음) 입력항목이 있는지 찾아본다.

일반 파일의 파일 크기는 보통 눈에 보이는 반면, 디바이스 파일은 다음과 같이 콤마로 분리된 두 개의 번호(즉, major 번호와 minor 번호)를 가지고 있다.
crw-rw-rw- 1 root system 12, 0 Oct 25 10:19 rmt0

앞에서 언급한 바와 같이 다음과 같이 나타나는 파일은 제거해야 한다.
crw-rw-rw- 1 root system 9375473 Oct 25 10:19 rmto

주: 시스템 감사(auditing)가 실행중이라면, /audit 디렉토리(디폴트)가 금방 꽉 차게 될 수 있으니 주의한다.


3. 크기가 아주 큰 파일들이 있는지 점검한다.

find 명령으로 크키가 큰 파일들을 찾을 수 있다. 예를 들어, / 디렉토리 내에서 1 MB를 넘는 파일들을 모두 찾으려면, 다음 명령을 수행한다.
# find / -xdev -size +2048 -ls |sort -r +6

이 명령은 1 MB를 넘는 모든 파일을 찾아 가장 큰 파일을 맨 먼저 나열하면서 역순으로 정렬한다.

주: 루트 디렉토리 점검 시, "실제" 파일 여기저기에 파일 크기 대신 major 및 minor 번호를 가지는 /dev 디렉토리로부터의 입력항목이 있을 것이며 이들은 무시될 수 있습니다.
-newer 플래그와 같은 다른 유용한 find 명령 플래그가 도움이 될 수도 있습니다. 

주: 어떤 파일이든 제거에 앞서, 파일이 현재 활동중인 사용자 프로세스에 의해 사용 중에 있는지 확인한다. 파일이 사용자 프로세스에 의해 현재 사용중인지 확인하기 위해서는 다음 명령을 실행한다.
# fuser < filename >
여기서 < filename >은 제거하고자 하는 파일 이름이다.

파일이 제거시 "open" 상태인 경우에는, 디렉토리 리스팅으로부터만 제거됩니다. 즉 파일에 할당된 블록은 파일을 열고 있는 프로세스가 kill되고 나서야만 비워진다.




/var가 Full인 경우 

1. /var/tmp에서, 오랫동안 사용되지 않은 파일들이 있는지 살펴본다.

/var/adm/wtmp 파일은 모든 "logins", "rlogins" 및 "tn" 세션을 로깅하는 데 사용된다. 파일은 수시로 점검하지 않으면, 시스템 accounting을 수행하고 있지 않는 한 끊임없이 커지게 된다. 만약 시스템 accounting을 사용한다면 정해진 시간에 이 파일의 내용이 비워진다. /var/adm/wtmp 파일을 아예 지우거나, 혹은 이 파일에서 오래되고 원하지 않는 정보를 제거하도록 편집할 수 있다.

다음의 명령으로 /var/adm/wtmp를 비울 수 있다.
# cp /dev/null /var/adm/wtmp

다음의 명령으로 파일을 편집하여 원하지 않는 입력항목을 제거할 수 있다.
# /usr/sbin/acct/fwtmp < /var/adm/wtmp >/tmp/out

/tmp/out 파일을 편집하여 원하지 않는 입력항목을 제거한 후 다음 명령으로 편집된 버전을 다시 wtmp에 넣는다.
# /usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp


2. /var/adm/ras 디렉토리에서 오류 로그를 비운다.

이 디렉토리에는 오류 로그인 errlog가 존재한다. 이 파일은 수작업으로 비우지 않는 한 계속 쌓이게 되는데 그렇다고 위에서 처럼 이 파일에 cp /dev/null 명령을 사용할 수는 없다. 이 명령은 시스템의 오류 로깅 기능을 작동되지 못하게 한다. 만약 사용했을 경우에는 백업 테이프로부터 제로(0) 길이의 errlog 파일을 가져다 대체해야 한다. errlog 파일은 errclear 명령을 사용하여 특정 일수까지 모든 입력항목을 로그에서 없앨 수 있다.

다음의 명령으로 오류 로그를 완전히 비울 수 있다.
# errclear 0

오류 로그를 비우되, 지난 주의 오류 입력항목은 그대로 두려면 다음과 같이 한다.
# errclear 7

주: trace 수행으로 인해 이 디렉토리에 있는 trcfile 파일이 커지는 경우도 발생한다. 이 파일은 다음 명령으로 제거할 수 있다.
# rm /var/adm/ras/trcfile


3. /var/spool 디렉토리에는 큐잉 서브시스템 파일들을 비운다.

다음 명령을 실행하여 큐잉 서브시스템을 비운다.
# stopsrc -s qdaemon
# rm /var/spool/lpd/qdir/*
# rm /var/spool/lpd/stat/*
# rm /var/spool/qdaemon/*
# startsrc -s qdaemon


4. /var/adm/acct 디렉토리에는 accounting 레코드의 관리

accounting이 실행중이라면, 이 디렉토리에 여러 개의 커다란 파일이 들어 있을 수 있다.이러한 파일들은 accounting 관리 매뉴얼을 참고하여 불필요한 파일들이라면 삭제한다.


5. /var/preserve 디렉토리에 존재하는 vi 편집 파일

이 디렉토리에는 이전에 사용하던 vi 편집 파일들이 존재하며, 내용을 확인하여 복구할 필요가 없는 파일들은 삭제한다.


6. /var/adm/sulog를 수정한다.

이 파일은 su를 시도한 횟수와 그러한 시도의 성공 여부를 추적한다. 이는 플랫 파일로서 원하는 편집기를 사용해 열람 및 수정이 가능하다. 파일은 제거해도 다음 번에 su를 시도할 때 다시 생성된다.


7. /var/tmp/snmpd.log를 수정한다.

snmpd 디몬은 이 파일을 로그로 사용한다. 이 파일은 제거되어도 snmpd 디몬에 의해 재생성된다.

주: /etc/snmpd.conf 파일에서 크기에 대해 지정하는 섹션을 편집해 이 파일의 크기를 제한하여 파일이 무한히 커지는 것을 막을 수 있으며 크기는 바이트 단위로 되어 있다.

주: AIX에서는 skulker(/var/sbin 디렉토리에 위치)라고 하는 범용 시스템 cleanup 스크립트를 제공한다. 스크립트를 읽어보고 skulker가 어떤 파일을 삭제하고 파일이 삭제되기 전에 해당 파일이 얼마 동안 존재하는지 등에 대해 살펴볼 필요가 있다. skulker는 다음과 같은 crontab 입력항목을 사용하여 cron 작업으로서 실행할 수도 있다.
0 3 * * * /usr/sbin/skulker

cron에서 다음을 실행함으로써 errlog의 내용가운데 특정 내용만을 비울 수도 있다.
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90 



기타 파일 시스템 또는 일반 탐색 기법 

-size 플래그와 함께 find 명령을 사용하여 큰 파일이 어디 있는지 찾아 낼 수 있다.
어떤 파일 시스템이 금방 꽉 찼다면 -newer 플래그를 사용하여 최근 수정된 파일을 찾아내 어 살펴 볼 수 있다. find에 사용할

-newer 플래그를 위한 파일을 작성하려면 다음의 touch 명령을 사용한다.

# touch mmddhhmm filename
( 여기서, mm은 월, dd는 날짜, hh는 시간(24시간 형태), mm은 분을 나타냄)
# find /filesystem_name -xdev -newer touched_file -ls


'::: OS ::: > AIX' 카테고리의 다른 글

AIX 환경에서 tcp_wrapper 설치  (0) 2009.06.03
AIX 로그  (0) 2009.05.18
nmon 및 애널라이저  (0) 2009.05.14
NMON, NMON Analyser를 이용한 시스템 성능 리포트 만들기  (0) 2009.05.14
AIX 자주 쓰이는 관리 명령 모음  (0) 2009.04.18

+ Recent posts