|
|
|
|
본 문서는 시스템 운영 중 모니터링 되어야 할 불필요하게 늘어나는 파일에 대한 내용 및 예견치 못한 상태에서 파일시스템이 full 났을 때 무엇을 확인해야 하는지에 대한 내용을 담고 있으며 여기서 언급되는 내용은 AIX의 모든 버전에 상관없이 적용된다.
- /etc/security/failedlogin 파일을 확인해본다.
파일의 내용을 보기위해 아래 명령을 수행한다. <PRE> who /etc/security/failedlogin</PRE>TTYs respawning 이 너무 자주 일어날 경우 실패한 login 시도에 대한 기록이 이 파일에 남게된다.
내용을 확인한 후 또는 다른 파일로 보관한 후 다음의 명령어를 통해 내용을 지운다.: <PRE> cp /dev/null /etc/security/failedlogin</PRE> - /dev 디렉토리를 확인해본다.
예를 들어 rmt0 를 rmto 로 잘못 쓴 것처럼, 디바이스 이름이 잘못 입력될 경우 /dev 디렉토리에 rmto 라는 파일이 생성된다. 보통 root 파일시스템이 full 나서 error를 일으킬 때까지 계속해서 일어나는데 그 이유는 /dev 디렉토리가 root (/)의 일부이기 때문이다. 따라서 실제로 존재하지 않는 디바이스를 찾아내는 것이 중요하다.(major, minor number를 가지지 않는 디바이스)
다음의 명령을 수행해 본다: <PRE> cd /dev ls -l |pg</PRE>정상적인 파일의 경우에는 파일의 크기가 표시되지만, 디바이스 파일인 경우에는 ','로 분리된 두개의 숫자(major, minor number)가 표시된다.
<PRE>예: crw-rw-rw- 1 root system 12,0 Oct 25 10:19 rmt0</PRE>만약, 다음과 같은 결과가 나왔다면 해당 파일을 삭제하도록 한다. <PRE> crw-rw-rw- 1 root system 9375473 Oct 25 10:19 rmto</PRE>NOTE: /dev 디렉토리의 경우 일부 유효한 파일을 포함하고 있는데 주로 사이즈가 큰 파일 (500bytes 이상의 크기) 일 경우가 많으므로 이에 대한 확인도 잊지 말자.
NOTE: 만약 시스템 auditing이 수행중일 경우, /audit 디렉토리가 빠르게 찰 수 있으므로 이에 대한 주의가 필요하다.
- 사이즈가 큰 파일
다음과 같은 명령을 통해 사이즈가 큰 파일을 찾아낼 수 있다. 예를 들어 root (/) 디렉토리내의 파일 중 1MB 이상의 크기를 가지는 파일을 찾고자 할 때 find 명령어를 사용한다.: <PRE> find / -xdev -size +2048 -ls |sort -r +6</PRE>위의 명령을 통해 1MB 이상의 파일을 사이즈가 제일 큰 것부터 찾아 순서대로 표시해준다.
NOTE: root 디렉토리를 체크 할 경우에는 파일대신에 /dev 디렉토리에 존재하는 디바이스들의 major, minor 숫자가 섞여서 표시될 수 있는데 이 파일들은 무시해도 된다.
find 명령어에 대한 여러 가지 플래그 중 유용한 것이 몇 개 있는데 그중 -newer 플래그가 한 예이다. 보다 자세한 내용은 제품 설명서를 참조하기 바란다.
NOTE: 실제로 파일을 삭제하기 전에 해당 파일이 현재 사용중인지 먼저 확인하도록 한다. 다음의 명령을 통해 확인할 수 있다. <PRE> fuser <filename></PRE>
- /var/tmp 에서 예전에 사용된 임시파일을 찾아본다.
/var/adm/wtmp 내에는 모든 login, rlogin, telnet, telnet session 에 대한 log가 저장되는 곳이다. 만약 제대로 관리되고 있지 않다면 이 파일은 계속해서 커질 것이다. 만약 시스템 accounting이 수행 중이라면 이러한 정보는 저녁 때마다 제거될 것이다.
/var/adm/wtmp 내의 모든 내용을 삭제하고자 할 때 다음의 명령을 수행한다: <PRE> cp /dev/null /var/adm/wtmp</PRE>원하지 않는 일부 내용만 삭제하고자 할 때 다음의 명령을 수행한다:
- /usr/sbin/acct/fwtmp < /var/adm/wtmp >/tmp/out
- /tmp/out 파일에서 불필요한 내용 삭제
- 편집된 wtmp 를 다시 원위치로 옮긴다:
/usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp
- /var/adm/ras 디렉토리의 error log 삭제하기.
이 디렉토리에는 errlog라는 이름의 error log가 저장되며 작업자가 지우기 전까지는 절대 지워지지 않는다. 아울러 cp /dev/null 명령으로 내용을 지우면 더 이상 error logging 이 작동하지 않게 되므로 주의를 요한다.
- 먼저 아래 명령을 통해 error daemon을 중지시킨다:
/usr/lib/errstop
- 다음, 아래의 파일을 삭제하거나 다른 파일시스템으로 옮긴다:
/var/adm/ras/errlog
- 다음의 명령을 통해 error daemon을 다시 시작한다:
/usr/lib/errdemon
NOTE: 이 디렉토리 내의 trcfile 파일의 경우 trace 수행으로 인해 파일 사이즈가 클 수 있는데 이때 다음의 명령을 통해 이를 삭제 할 수 있다: <PRE> rm /var/adm/ras/trcfile</PRE>만약 dump device 가 hd6 로 지정되어 있을 경우 /var/adm/ras 디렉토리 내에 vmcore* 파일들을 가지고 있을 수 있는데 더 이상 이 파일들을 필요로 하지 않을 경우 이 파일들을 삭제하도록 한다.
- /var/spool 디렉토리는 subsystem에 대한 queue 를 저장하는데 아래의 명령을 통해 이를 삭제할 수 있다:
- stopsrc -s qdaemon
- rm /var/spool/lpd/qdir/*
- rm /var/spool/lpd/stat/*
- rm /var/spool/qdaemon/*
- startsrc -s qdaemon
- /var/preserve 디렉토리는 종료된 vi 세션들을 저장하고 있으며 이 파일들은 삭제해도 무방하다.
하지만 이미 종료된 vi 세션들은 이상종료시 문제가 된 파일들을 복구하는데 사용될 수 있으므로 최근 몇 개에 대해서는 파일 복구를 위해 보관을 원할 수도 있다. 파일 복구를 위해 먼저 아래의 명령을 수행한다: <PRE> -r <filename> or -r</PRE>이 명령은 복구가능한 모든 파일들의 리스트를 보여줄 것이다.
- /var/adm/sulog 파일을 편집한다.
이 파일은 su 명령어의 성공여부에 관계없이 모든 log를 보관한다. 이 파일은 flat 파일로 되어 있으며 원하는 editor를 사용하여 볼 수 있고 또한 편집도 할 수 있다. 만약 이 파일이 삭제되어도 다음번 su 시도시 재생성될 것이다.
- /var/tmp/snmpd.log 편집
snmpd daemon 이 사용하는 log 이며 삭제되어도 snmpd daemon에 의해 재생성된다.
NOTE: /etc/snmpd.conf 파일에서 snmpd.log 파일의 사이즈를 제한할 수 있다. 이때 사용하는 단위는 byte이다.
NOTE: find 명령을 통해 /var 밑의 파일을 큰것부터 찾아낼 수 있다: <PRE> find /var -xdev -size +2048 -ls| sort -r +6</PRE>NOTE: AIX 에서는 /usr/sbin 디렉토리내에 일반적인 시스템 cleanup script 인 skulker 를 제공한다. 실행전에 반드시 그 내용을 확인하여 충분히 이해한 다음 수행하도록 한다.
skulker 는 또한 다음과 같은 형태로 crontab 에 추가될 수도 있다: <PRE> 0 3 * * * /usr/sbin/skulker</PRE>cron 에 다음의 내용을 추가하여 errlog 를 제한할 수도 있다: <PRE> 0 11 * * * /usr/bin/errclear -d S,O 30 0 12 * * * /usr/bin/errclear -d H 90</PRE>
find 명령어의 -size 플래그를 통해 사이즈가 큰 파일부터 찾아내도록 하고 만약 방금 파일시스템이 full 났을 경우에는 -newer 플래그를 사용하여 최근에 바뀐 파일을 찾아낼 수도 있다. 이때 다음의 touch 명령을 함께 사용하도록 한다: <PRE> touch <mmddhhmm filename></PRE>이때 왼쪽부터:
- mm is month
- dd is day
- hh is hour (24 hour format)
- mm is minute
다음의 명령을 수행하도록 한다: <PRE> find /<filesystem_name> -xdev -newer <touched_file> -ls</PRE>한편 지난 24시간안에 바뀐 파일을 찾기 위해 사용할 수 있는 또다른 유용한 find 명령어는 다음과 같다. <PRE>For example: find /<filesystem_name> -xdev -mtime 0 -ls </PRE>
|
http://kr.blog.yahoo.com/ychany/trackback/3384428/955129
|
|
|
|
|