quota 설정하기

1. /etc/fstab에 설정 추가

– /etc/fstab 파일에서 quota 설정할 파일시스템 부분에 usrquota 또는 grpquota를 추가한다

/dev/sda4  /home  ext3  defaults,usrquota 1 2

 

2. aquota.user 파일 생성

– quota를 적용할 파일시스템에 aquota.user 또는 aquota.group 파일 생성

[root@localhost home]# touch aquota.user

[root@localhost home]# chmod 600 aquota.user

 

3. 리부팅 또는 파일시스템 remount

– umount 후 다시 mount 하거나 아래와 같이 remount (리부팅 권장)

[root@localhost home]# mount -o remount /home

 

4. quotacheck 명령실행

– quotacheck 명령을 실행한 후 repquota 명령으로 quota 설정사항을 확인 할 수 있다.

[root@localhost /]# quotacheck -a

[root@localhost /]# repquota -a

*** Report for user quotas on device /dev/sda4

Block grace time: 7days; Inode grace time: 7days

Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

———————————————————————-

root      —  251328       0       0           1110     0     0

mysql     —  283488       0       0           5416     0     0

jook      —    1280       0       0            269     0     0
– quota가 실행중일때 quotacheck를 실행하면 아래와 같은 에러가 발생한다. 이럴 경우는 quotaoff 후 quotacheck를 실행한다.
[root@localhost home]# quotacheck -a

quotacheck: Cannot remount filesystem mounted on /home read-only so counted values might not be right.

Please stop all programs writing to filesystem or use -m flag to force checking.

 

[root@localhost home]# quotaoff -a

[root@localhost home]# quotacheck -a

[root@localhost home]# quotaon -a

 

5. edquota 명령으로 quota 설정

– block(kb 단위)단위, inode(디렉토리포함 파일개수) 단위로 제한 설정 완료후 저장한다.

– soft 값이 실제적인 제한량이며, 유예기간이 설정되어 있는 경우는 soft 값을 초과 하여 hard 값까지 사용할 수 있다.

– hard 값은 절대로 초과할 수 없는 제한량이다.

– soft 값을 초과했을 경우 유예기간 내에 파일을 정리해야 하며, 유예기간을 초과 했을 경우는 soft 값 이하로 정리할때 까지 새로운 파일 생성이 불가능하다.

 

[root@localhost home]# edquota -u jook

Disk quotas for user esf (uid 501):

Filesystem                   blocks       soft       hard     inodes     soft     hard

/dev/sda4                      1284    3072000    3174400        270        0        0

 

– 쿼터 적용 후 repquota 명령으로 쿼터 설정 된 부분을 확인 할 수 있다.

 

[root@localhost public_html]# repquota -a

*** Report for user quotas on device /dev/sda4

Block grace time: 7days; Inode grace time: 7days

Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

———————————————————————-

root      —  251332       0       0           1111     0     0

mysql     —  283492       0       0           5417     0     0

jook       —    1284 3072000 3174400            270     0     0

 

– 특정 계정의 quota설정을 다른계정으로 복사 할 경우 아래와 같이 edqutoa -p 옵션을 사용

[root@localhost home]# edquota -p jook kykim   —> jook 의 quota 설정을 kykim으로 복사

 

6. 유예기간 설정

– soft 값을 초가했을경우, 정리 할 수 있는 유예기간 설정, default로 7일이 설정 돼 있다.

 

[root@localhost home]# edquota -t

 

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem             Block grace period     Inode grace period

/dev/sda4                     7days                  7days