메뉴 닫기

가상서버에서 쿼터제한

쿼터제한이란 사용자별로 사용할수있는 디스크의 용량 및 파일 갯수들을 제한해놓는 것을 의미합니다.

quota가 설치되어 있는지 확인후 설치되어있지 않다면 yum 으로 간단히 설치해줍니다.
# rpm -qa | grep quota*
quota-3.17-21.el6_5.x86_64

테스트 하기 위해서 계정을 만들어 줍니다.
# useradd test1

Quota를 사용하기 위해 fstab 파일을 수정해 줍니다. (usrquota추가)
# vi /etc/fstab
UUID=4f6b4c0c-e807-4f6d-9ad5-67f182f84b05 / ext4 defaults,usrquota 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5, mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

Quota를 인식하는 파일시스템(파티션)으로 수정하 기위해 usrquota라는 옵션을 준것입니다.
만약 그룹에 quota를 주기위해서는 userquota대신에 grpquota를 설정해주면 됩니다.

수정을 해주고 난 뒤에 마운트를 다시 잡아줍니다. ( mount 명령어로 적용이 잘되었는지 확인)
# mount -o remount /dev/vsda1
# mount
/dev/vda1 on / type ext4 (rw,usrquota)

touch aquota.user 명령어로 파일 생성
# touch aquota.user
# chmod 600 aquota.user

– 2.4 이전 커널은 quota.user 란 파일을 생성
– 2.4 이후 커널은 aquota.user 란 파일을 생성

원하는 계정에 대한 Quota 정책 설정 (soft = 경고메시지 , hard = 절대치 , 용량 kbyte)
# edquota test1
Disk quotas for user test1 (uid 504):
Filesystem blocks soft hard inodes soft hard
/dev/vda1 32 5 20 9 5 5
용량을 제한할 때 사용 파일의 개수를 제한할 때 사용

# 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/vda1 7days 7days

# quotaon -a
/dev/vda1 [/] : user quotas turned on
# su test1
# mkdir 1
# mkdir 2
# mkdir 3
# mkdir 4
# mkdir 5
# mkdir 6
Vda1 : write failed, user file limit reached.
mkdir : cannot create directory ‘6’: Disk quota exceeded

쿼터제한을 파일의 수를 5개로 정해놓았습니다. 초과하는 경우 위처럼 에러가 발생합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다