테스트 환경 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
'Linux' 카테고리의 다른 글
[ShellScript] cron 으로 메일발송하면 한글이 ???? 로 깨지는 문제 해결 (0) | 2014.02.11 |
---|---|
[VirtualBox] CLI로 버츄얼박스 포트포워딩 (0) | 2014.01.07 |
[Ubuntu] 미러를 다음으로 변경 (0) | 2013.12.05 |
[All] 모니터링 방법 모음 (0) | 2013.09.11 |
[CentOS] CentOS6 netatalk 3 설치하기 (Apple File Sharing Protocol) (0) | 2013.08.17 |