Subject : Disk Quota System 관련 Tip
Description :
. Section
1. 개요
2. Setting Quotas
3. Checking Quotas
. Content
1. 개요
불특정 다수의 User를 대상으로 File Server를 운영할때
어느 User가 Disk를 독점하는것을 방지하고 제한된 System의 file(indoe)수를
효율적으로 관리하기위해 Quota를 관리한다.
아래는 포항공대 물리학과에서 TEST 및 운영했던 사례를 기술한 것이다.
참고로 포항공대 물리학과는 YP로 묶여있다.
2. Setting Quotas ( Super User에서 )
- Kernel안에 Quota를 지원하도록 설정( SunOS 4.1.x )
options QUOTAS #disk quotas
options UFS #filesystem code
- mount시 Option으로 Quota를 지정
SunOS 4.1.x)
#vi /etc/fstab
..
/dev/sd3h /home 4.2 rw,quota 1 3
..
Solaris 2.x)
#vi /etc/vfstab
..
/dev/dsk/c0t3d0s7 /dev/rdsk/c0t3d0s7 /home ufs 2 yes rw,quota
..
- 각 filesystem의 mount point 에 quotas 화일을 생성
ex)
#touch /home/quotas
- 각사용자의 사용량을 할당
* /usr/etc/edquota(Solaris 2.x는 /usr/sbin/edquota)를 사용하여 편집
* #edquota user1
..
fs /home blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)
..
* edquota [ -p proto_user ] username1 username2 ...
위의 예제는 p option을 이용하여 proto_user를 source로 하여
나머지 user를 target으로 일률적으로 setting하고자 할때 사용한다.
* edquota -t username1 username2 ...
fs /home blocks time limit = 3.50 days,
files time limit = 3.50 days
위의 예제는 t option을 이용하여 time limit를 setting을 한다.
time limit setting이란 생성된 file이 setting된 기간이 경과되면
단 수정된 file인 경우 soft limit까지 자동으로 소멸된다는 것이다. 그러므로
주의를 요한다.
Default값은 7.0 day,
time limit를 주는 경우,
sec[onds],min[utes],hour[s],day[s],week[s],and month[s].
- example)
#edquota user1
자동으로 편집기가 올라온다. (환경변수 EDITOR, default vi)
fs /home blocks (soft = 2500, hard = 4500)
inodes (soft = 800, hard = 1250)
위의 예제에서 1 block은 1024byte.
unlimit로 setting하는 경우는 0으로 setting하면 된다.
time limit를 안줄때는 soft limit를 0으로 set.
soft limit를 초과하면
quota_ufs: Warning: over disk limit (pid 489, uid 154, inum 445456, fs /home) # block soft limit 초과시
quota_ufs: Warning: too many files (pid 607, uid 154, fs /home) #file수 soft limit 초과시
이상의 Message를 뿌리면서 경고를 한다.
또한 login하는 경우
Over file quota on /home, remove 10 files within 7.0 days
Over disk quota on /home, remove 297K within 7.0 days
Block limit reaced on /home
File count limit reaced on /home
이상과 같은 경고message를 뿌려준다.
hard limit를 초과하면
quota_ufs: over hard disk limit (pid 489, uid 154, inum 445456, fs /home)#block hard limit 초과시
quota_ufs: over file hard limit (pid 607, uid 154, fs /home) #file수 soft limit 초과시
이상의 Message를 뿌리고 Disc quota exceeded 라는 Message를 뿌리면서
더이상의 file writting이 안된다.
- reboot
booting 할때 해당 quota를 지정한 filesystem check시
"Checking UFS quotas: done"이라는 message가 나온다.
booing이 되고나면 quota가 구동된다.
mount된상태에서 quota를 안쓸 경우
#quotaoff -v -a
#quotaoff -v /home
다시 quota를 시작할 경우
#quotaon -v -a (모든 filesystem quota 구동)
#quotaon -v /home
quotaon 또는 quotaoff 는 system booting시 마다 해주지않아도 된다.
해당 시스템의 filesystem quota정보는 home filesystem의 quotas에
정보가 있기때문이다.
3. Checking Quotas
- 각 partion의 사용자별 사용량을 KB단위로 보여준다.
#quot /dev/dsk/c0t2d0s7
/dev/dsk/c0t2d0s7 (/home):
711024 root
498 user1
302 user2
1 user3
1 user4
#quot -a (모든 partion의 사용자별 사용량을 KB단위로 보여준다.)
#quot -f /dev/dsk/c0t2d0s7 (block size 뿐만 아니라 file count도 보여줌.)
/dev/dsk/c0t2d0s7 (/home):
711024 7518 root
498 3 user1
302 11 user2
1 1 user3
1 1 user4
- 각 사용자의 disk quota와 사용량을 check
#quota user1
Over disk quota on /home, remove 297K within 7.0 days
#quota -v user2
Disk quotas for user2 (uid 155):
Filesystem usage quota limit timeleft files quota limit timeleft
/home 300 0 0 9 4 6 7.0 days
- Filesystem에 대한 quotas의 요약
# repquota -v -a
/dev/dsk/c0t2d0s7 (/home):
Block limits File limits
User used soft hard timeleft used soft hard timeleft
user1 +- 497 200 500 7.0 days 0 0 0
user2 -+ 300 0 0 9 4 6 7.0 days
Revision History
작성일자 : 96.06.13
작성자 : 이민호
수정일자 :
수정자