ㅇ 공간 관리
파일 시스템이 꽉 차게 되었을 때 자동으로 파일 시스템의 크기가 증가하지는 않는다. 그러나, 시스템 관리자는 동적으로 파일 시스템의 크기를 증가시킬 수 있다.
파일 시스템을 지속적으로 monitoring하여, 꽉 차기 전에 SMIT을 이용하여 파일 시스템을 확장하는 것이 시스템 관리자의 역할이다.
파일 시스템이 꽉 차기 전에 확장하려면 시스템 관리자는 용량 산정을 해야 한다. 이는 사용하기에 충분하도록 파일 시스템을 설계한 다음 꽉 차게 되지 않도록 적절하게 관리하는 것은 의미한다.
ㅇ 시스템 경고
일반적으로, 파일 시스템의 용량이 모두 찼음을 알려주는 경고는 없다. 단지 사용자가 파일 시스템에 더 많은 데이터 쓰기를 시도했고, 그 때 파일 시스템이 완전히 꽉 차있는 경우, 파일 시스템이 모두 찼음을 말해주는 메시지를 받게 된다.
이는 사용자에게 예상치 못한 결과를 초래할 수 있다. 데이터 블록을 다 사용했더라도, 여전히 directory의 공간은 있을 수 있고, 이러한 경우에 파일은 생성할 수 있지만, 데이터 블록이 가용하지 않기 때문에 그 파일은 0 바이트의 크기를 갖게 된다.
ㅇ 용량 산정을 위한 지침
용량 산정은 시스템 관리자가 파일 시스템의 사용량 증가와 관련한 문제를 피할 수 있도록 도와준다. 이를 위해 시스템 관리자는 다음을 수행 할 수 있어야 한다.
- 사용량 증가의 원인을 판단
- 파일 시스템 사용량 증가를 모니터링
- 증가하는 파일을 관리.
- 파일 시스템 공간 사용을 관리
- 디스크 쿼터를 이용하여 사용자 디스크 사용을 제어
- 파일 시스템의 단편화 제거
- 파일 시스템의 무결성을 검증
- 파일 시스템의 설정을 문서화
ㅇ 사용되지 않은 디스크 공간의 목록 보기(df)
파일 시스템 증가를 모니터링 하기 위해 df(Disk Free) 명령어를 사용한다. 이 명령어는 마운트되어 있는 모든 파일 시스템의 전체 공간과 사용되지 않은 공간에 관한 정보를 보여준다.
이 명령어의 형식은 다음과 같다.
# df <options>
이 명령어와 함께 사용되는 옵션은 다음과 같다.
-I 사용된 공간의 양을 함께 보여준다.
-k 사용되지 않은 공간을 1 KB 블록 단위로 보여준다. (-m 또는 -g 도 가능)
# df -Ig
파일 시스템 GB 블록 사용됨 사용가능 %사용 마운트 위치
/dev/hd4 1.00 0.72 0.28 72% /
/dev/hd2 8.00 6.46 1.54 81% /usr
/dev/hd9var 2.00 1.04 0.96 52% /var
/dev/hd3 3.00 2.12 0.88 71% /tmp
/dev/hd1 1.00 0.32 0.68 33% /home
/proc - - - - /proc
/dev/hd10opt 1.00 0.12 0.88 12% /opt
/dev/fslv01 130.00 38.04 91.96 30% /webroot
ㅇ 파일 시스템의 경고 한계
/usr, /home, /var 그리고 /(루트) 파일 시스템은 용량이 다 차게 되면 사용자에게 경고 메시지를 보낸다.
- /usr 파일 시스템
일반적으로 /usr 파일 시스템은 파일 시스템에 관련된 바이너리 파일들이 저장되는 디렉토리이다. 운영체제의 파일들은 규칙적으로 크기가 증가하거나 개수가 증가해서는 안된다.
보통 이 파일 시스템의 93%가 사용되는 것이 적절하다. 만약 20% 정도만 사용되었다면, 이는 증가하지 않는 파일 시스템에 대해 불필요하게 디스크 공간을 많이 할당해 놓은 셈이다.
- /home 파일 시스템
/home 파일 시스템의 사용자의 데이터를 포함한다. 일반적으로 이 파일 시스템은 사용자가 파일을 생성함으로써 채워진다.
- var 파일 시스템
var 라는 용어는 variable(변하기 쉬운)을 의미한다. 이 파일 시스템은 크기와 파일의 개수가 많이 달라진다. 이는 시간이 지날수록 증가하는 수많은 관리용 로그 뿐만 아니라 프린트 파일과 메일 파일을 포함한다. 이 파일 시스템은 프린트 횟수가 최대가 될 경우에도 수용 가능한 충분한 공간을 확보하도록 할 필요가 있다.
-/ (루트) 파일 시스템
주목해야 할 가장 중요한 파일 시스템은 / , 즉 루트 파일 시스템이다. 루트 파일 시스템이 꽉 차게 되면, 시스템의 동작을 예상치 못하게 되고, 결국 이로 인해 시스템은 hang 되거나, 이로 인해 crash 될 것이다.
ㅇ 크기가 증가하는 파일들
용량 산정의 또 다른 부분은 크기가 증가하는 파일의 관리이다. 증가하는 파일은 모니터링 해야 하고 주기적으로 정리해 주어야 한다.
관리할 수 없을 정도로 증가하는 일반적인 유형의 파일들이 있는데, 시스템 관리자는 이러한 파일들을 지속적으로 관리하여 파일 시스템이 꽉 차지 않도록 해야한다. 대표적이 파일들은 다음과 같다.
/var/adm/wtmp
/var/spool/*/*
smit.log
smit.script
/etc/security/failedlogin
/var/adm/sulog
위에 나열된 파일들은 아주 크게 증가하는 경향이 있어, 주기적으로 정리를 해줄 필요가 있다. 만약 이러한 파일이 스스로 재생성 된다는 것을 확신할 수 없다면, 해당 파일들을 삭제 하지 않는 것이 좋다. 왜냐하면 touch 명령어로 파일들을 재생성 하더라도, 그 파일들은 정확한 소유권과 사용 권한을 갖도록 재생성 되지 않을 수도 있기 때문에 널 파일의 방향을 재지정을 하여 내용만 삭제하는 것이 것이 보다 안전하다.
다음 명령어는 방향 재지정의 예이다.
# cat /dev/null > filename
이 명령어의 단축은 다음의 명령어를 실행하는 것이다.
# > filename
이 명령어로 해당 파일은 삭제하지 않고 파일의 내용만 삭제할 수 있다.
- /var/adm/wtmp
이 파일은 시스템에 대한 모든 로그인 목록을 포함한다. 이 파일을 읽기 위해서는 다음의 명령어를 사용한다
# who /var/adm/wtmp
이 파일을 정리하기 전에 이 파일의 내용을 저장하고 싶으면, 아래 명령어를 사용하여 결과를 다른 파일로 방향 재지정 하여 복사할 수 있다.
# who /var/adm/wtmp > newfile
그 다음 이 파일의 내용을 정리하기 위해, /dev/null 을 해당 파일에 방향 재지정해서 파일의 내용을 지운다
/var/adm/wtmp 파일은 로그인 활동에 관한 히스토리 데이터를 포함하고 있어 필요한 파일이다.
- /var/spool/*/*
/var/spool/*/* 파일은 메일과 사용 중에 크기가 증가하는 파일 뿐만 아니라 프린터 파일을 포함한다. 증가를 모니터링 하기 위해서는, 지속적으로 오래된 파일에 대한 디렉토리를 주시해야 한다.
일반적으로 AIX는 출력 된 후에는 파일을 지운다. 하지만 때때로 파일이 남아 있게 되어 수동으로 삭제해야 한다.
- smit.log
smit.log 파일은 SMIT이 사용될 때 크기가 빠르게 증가한다. SMIT을 사용해서 mksysb 백업을 할 때, smit.log 파일은 아주 커져서 작업 후에는 크기를 줄여주거나 지워야 한다.
smit.log 파일은 자동으로 재생성 되기 때문에 삭제할 수 있다. smit.log가 루트 파일 시스템에 있으면, 그 파일이 루트 파일 시스템을 빨리 채워서 시스템 손상을 초래할 수 있기 때문에 주기적으로 지워주어야 한다.
/ (루트) 파일 시스템을 살펴보려면, 다음의 명령어를 사용한다.
# du -x
- smit.script
smit.script 파일도 자동으로 재생성 되기 때문에 삭제가 가능하다.
- /etc/security/failedlogin
이 파일은 성공하지 못한 로그인 시도의 목록을 포함한다. who 명령어를 사용해서 이 파일을 읽을 수 있고, 해당 내용을 삭제하려면 다음의 명령어를 사용한다
# cat /dev/null > /etc/security/failedlogin
- /var/adm/sulog
sulog 파일은 시스템에서 수행된 모든 su 명령어의 목록을 포함한다. su 활동에 대한 일종의 감시 트레일이다. 이 파일은 표준 텍스트 파일이어서 cat, more 또는 pg 명령어로 읽을 수 있고 vi 편집기를 사용해서 편집도 가능.
ㅇ 디스크 사용정보(du)
파일 시스템 사용이 증가하는 경우, 어느 파일이 공간을 많이 차지하는지 찾는 데에 du(disk usage) 명령어가 유용하다. 이 명령어의 형식은 다음과 같다
# du options dir_name
du 명령어를 옵션 없이 사용하면, 512 바이트 블록의 단위로 디렉토리별로 디스크 사용의 합계를 재귀적으로 보여준다. 때로 이 결과를 sort 명령어로 파이프하면 더 큰 숫자를 빨리 보는 데 도움이 될 수 있다. 이 명령어의 형식은 다음과 같다.
# du | sort -rn
-x 옵션은 특정 파일 시스템을 주목할 할 때 도움이 된다. 디렉토리를 찾아 보는 대신 du 명령어는 파일 시스템만을 찾는다. 예를 들어, 다음의 명령어는 /home 파일 시스템에 관련한 정보만을 보여준다.
# du -x /home
/ (루트) 파일 시스템을 찾아 보려 한다면, -x 옵션만이 실질적인 방법이다. -x을 사용하지 않으면 시스템의 모든 디렉토리를 보게 되기 때문이다.
-a 옵션은 개별 파일의 크기를 보여준다.