Linux2014. 1. 4. 23:27

테스트 환경 CentOS 6.4 amd64(Basic Server 옵션으로 설치함)

Minimal 옵션으로 설치한 경우에는 quota 패키지를 설치해야함. < yum install quota >


필수조건>>>

1. quota를 적용할 경로가 파티션으로 나누어져 있어야한다. (단일 파티션일 경우 어떤 문제가 있을지는 모르겠다.)

2. quota를 적용할 파티션을 아래와 같은 옵션을 가지고 마운트 해야한다.


/etc/fstab 에 quota 적용할 파티션을 아래의 옵션으로 넣어준다.

예를들어 그 파티션을 /dev/sdb1 이라 하겠다.

그리고 마운트할 위치를 /home 으로 가정하며 적용할 대상인 사용자는 user 이다.

/dev/sdb1        /home        ext4       defaults,noatime,usrjquota=aquota.user,jqfmt=vfsv0            1 2


위에는 저널링을 지원하는 quota 설정방법이며, 저널링을 제외할 경우에는 아래와 같다.

/dev/sdb1        /home        ext4       defaults,noatime,usrquota            1 2


위의 둘중 하나를 /etc/fstab에 넣어주고, 아래의 명령으로 마운트를 새로한다.

# mount -o remount /home


그리고 반드시 적용여부를 확인

# mount -l 

/dev/sdb1 on /home type ext4 (rw,noatime,usrjquota=aquota.user,jqfmt=vfsv0)


바뀌지 않았다면, 해당 디바이스가 busy 상태일 가능성이 높다. lsof 와 fuser 명령을 통하여, 사용중인 프로세스를 종료하고 다시 해보자.

이제 quota를 적용해보자. 아래의 명령을 실행하면, 파티션을 스캔하고(시간이 오래걸릴 수 있다.) /home/aquota.user 파일이 자동으로 생성된다.

만일 생성되지 않는다면 빈 파일을 만들어주고 퍼미션을 600으로 설정한다.

# touch /home/aquota.user 

# chmod 600 /home/aquota.user 

# quotacheck -cugmv /home 


스캔 작업이 끝나면 아래의 명령으로 quota를 on 상태로 만든다.

# quotaon /home

# quotaon -p /home

group quota on /files (/dev/sdb1) is off

user quota on /files (/dev/sdb1) is on


on 상태가 되었으니, 유저별로 디스크 공간 사용량을 제한할 준비는 끝났다. 이제 제한하는 제한할 공간을 수치로 넣어주면 된다.

단위는 Kbyte 이며, soft(초과시 경고 발생), hard(초과시 기록불가) 가 반영되는 값이다.

# edquota -u user

Disk quotas for user mgr_team (uid 502):

  Filesystem                   blocks       soft       hard     inodes     soft     hard

  /dev/sdb1                4959020708 400000000 400000000     939945        0        0


적용이 되었는지 확인하는 방법은 아래와 같다.

# quota user

Disk quotas for user user (uid 1001):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/sdb1 4959020708* 400000000 400000000   6days  939945       0       0



Posted by 알 수 없는 사용자