리눅스 quota 설정

리눅스/OS 일반|2014. 12. 30. 23:48
반응형

우선, 예전 쿼타 설정 문서(http://kldp.org/HOWTO/mini/html/Quota/index.html)을
참조하시길 바랍니다.
쿼타패키지의 버전업에 따라 쿼타설정이 다소 차이가 있습니다.


1.Quota 설정상태 확인
시스템에 설치된 quota 패키지의 버전을 확인합니다.
rpm -qa | grep quota
quota-3.03-1


2.fstab 파일에 usrquota 옵션 추가
quota를 설정하고자 하는 파티션에 usrquota (사용자별) 또는 grpquota (그룹별) 등의 옵션을 추가합니다. 같이 사용 가능합니다.

vi /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
LABEL=/home             /home                   ext3    defaults,usrquota        1 2
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/tmp              /tmp                    ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
LABEL=/usr/local        /usr/local              ext3    defaults        1 2
LABEL=/var              /var                    ext3    defaults        1 2
/dev/hda2               swap                    swap    defaults        0 0


3. Quota 기록 파일 생성
quota를 설정하고자 하는 최상위 파티션에 aquota.user 또는 aquota.group 등의
쿼타기록 파일을 생성합니다.
그 파일들의 퍼미션은 보안상 600 모드를 줍니다.

cd /home
touch aquota.user
chmod 600 aquota.user


4. 파티션 리로드
파일시스템을 재인식 시키기 위해서 리부팅을 하거나

mount -o remount /home 의 명령으로 리마운트를 합니다.


5. Quota 데이타베이스파일 초기화
quota 상태를 체크하여 aquota.user 파일을 초기화시킵니다.

quotaoff -avug
/dev/hda3 [/home]: user quotas turned off

quotacheck -avug
quotacheck: WARNING -  Quotafile /home/aquota.user was probably truncated. Can't save quota settings...
quotacheck: Scanning /dev/hda3 [/home] done
quotacheck: Checked 456 directories and 6013 files

quotaon -avug
/dev/hda3 [/home]: user quotas turned on


6. Quota 상태 확인
현재 설정된 쿼타 내용을 확인합니다.

repquota -a
*** Report for user quotas on device /dev/hda3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  889244       0       0           1124     0     0       
admin     -- 2253416       0       0            414     0     0       
test      --    1160       0       0             25     0     0


7. Quota 할당
하드용량을 admin 계정에게 200MB을 할당하고자 한다면 아래와 같이
명령을 내린 후 수동으로 soft와 hard에 204800을 입력하고 저장합니다. 

edquota -u admin
Disk quotas for user admin (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda3                   2253416    204800   204800        414        0        0       

저장후 쿼타할당 상태를 확인하면 아래와 같이 바뀌어 있을 것입니다.

repquota -a
*** Report for user quotas on device /dev/hda3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  889244       0       0           1124     0     0       
admin     -- 2253416 204800 204800            414     0     0       
test      --    1160       0       0             25     0     0       


8. 기타 (명령 command 로 limit 설정)
수동으로 편집하여 적용하기 어려운 환경에서는 quotatool 을 이용하면 명령 command 로 적용이 가능해집니다.

rpmfind.net 에서 검색해서 받으면 되며, 아래는 CentOS 7 에서 설치할 수 있는 rpm 파일입니다.


# wget http://rpmfind.net/linux/epel/7/x86_64/Packages/q/quotatool-1.6.2-3.el7.x86_64.rpm

# rpm -i quotatool-1.6.2-3.el7.x86_64.rpm


적용

# quotatool -u sysdocu -b -q 10M -l 10M /home

// 설명: sysdocu 계정의 -b (블록설정) -q (소프트쿼터:경고알림) 10M -l (하드쿼터:강제적용) 10M /home (파티션위치)

// 설명 : inode 제한은 -b 대신 -i 로 하면 됩니다. 모든 설명은 --help 를 참조.


반응형

댓글()