linux Quota
Quota
- 사용자나 그룹별 파일 용량 및 갯수를 제한 하는 서비스
만약에 하드디스크가 여러 사용자 및 그룹에 공유된 상태에서 한 사용자가 하드디스크의 공간을 혼자 막대하게 사용한다면 나머지 사용자들은 공간이 부족해 큰 불편함을 겪겠죠. 이러한 일을 미연에 방지하고자 사용하는 서비스가 사용자들의 디스크 사용을 제한할 수 있는 Quota라는 프로그램 입니다.
Quota 서비스는 2가지를 제한할 수 있습니다.
inode : 파일의 숫자
disk block : 파일의 용량
예를 들어, inode를 5로 제한한다면 사용자들은 5개를 초과하여 파일을 생성할 수가 없습니다. 용량도 마찬가지로 1G로 제한을하면 1G용량을 넘을 수 없죠.
그러면 quota 서비스를 설치해서 사용해 볼게요.
① 패키지 설치
quota.x86_64
② 사용할 디스크 추가
/dev/sdb (저는 sdb 디스크를 사용하겠습니다.)
파티션 생성 및 파일시스템을 생성하고 /quota 디렉터리를 만든 후 /quota에 마운트 까지 완료해 줍니다.
③ 설정 파일
/etc/fstab
위 파일에 밑의 내용을 오타없이 입력해 주세요. (엔터 없이)
/dev/sdb1 /quota ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 0
④ 설정 적용
reboot 후 리마운트
mount -o remount /dev/sdb1
⑤ quota db 생성 및 시작
quotacheck -ug /dev/sdb1
quotaon -aug
※ Quota 명령어 모음
<시작>
quotaon <dev path>
- 옵션 -
a : 모든 device
u : 사용자
g : 그룹
v : 상세출력
ex) quotaon -aug <dev path> (모든 디바이스의 쿼터 시작)
<종료>
quotaoff <dev path>
- 옵션은 위와 같음 -
<상태확인>
repquota <dev path>
- 옵션은 위와 같음 -
repquota -aug 명령을 주면 위와 같은 화면이 뜹니다. 위에 것이 사용자, 아래 것이 그룹용인데 Block limits와 File limits(inode)제한이 두 가지 있는 것이 보입니다. 제한을 주면 위 상태에서 얼마만큼이 제한되어 있는지 볼 수 있습니다.
Block limits : 용량
File limits : 파일 갯수
used : 현재 사용량
soft : 설정된 soft limit(0-제한없음)
hard : 설정된 hard limit(0-제한없음)
grace : soft limit에 지정된 용량 초과시 유예기간 표시
* 최대 사용할 수 있는 갯수(용량)가 hard에 표시되고 soft에 설정된 제한을 넘어가면 grace가 뜹니다. 만약 soft제한이 넘었는데 grace기간이 다 지나면 hard용량이 남아있어도 추가로 만들지 못합니다.
soft까지 모두 지우면 grace는 초기화 됩니다.
⑥ quota 설정
edquota -u <user_name>
* 임시로 guest 계정을 생성하겠습니다.
edquota -u guest
위와 같이 inode(파일의 갯수) 제한을 soft를 3, hard를 5로 설정해놓겠습니다.
이제 guest 계정으로 sdb1가 마운트 된 /quota 디렉터리로 가서 3개 이상의 파일을 만들면 grace가 뜰 것이고, 5개 이상의 파일을 만들면 더 이상의 파일을 생성하지 못할겁니다. 한번 확인해 보죠!
* root계정으로 other의 쓰기 권한을 먼저 풀어 줍시다.
위와 같이 guest 계정으로 /quota에서 파일을 생성하니 file3까지는 이상없이 생성이 되는데 4번째 생성할 때부터 warning이라는 경고의 grace가 뜨고 6개 이상은 '디스크 할당량이 초과됨' 이라며 더이상 생성되지 않는 모습을 확인할 수 있습니다.
다시 root계정으로 돌아와 /dev/sdb1의 상태를 확인해 보면 guest라는 계정이 5개를 사용중이고 grace 기간은 6일이(정확히 말하자면 6일 23시간 59분?) 설정되어 바뀐 모습을 확인할 수 있습니다.
위와 같은 quota 설정을 옵션 -u 대신 -g 를 주며 진행하면 그룹에 대한 설정을 적용할 수 있습니다.
<추가 tip>
① quota 설정 복사
edquota -p <user_name_ori> -u <user_name_cpy> <user_name_cpy> ...
* 앞에 있는 유저 설정을 뒤에 있는 유저 설정에 복사합니다.
② grace 설정 변경
edquota -t (통합 설정)
edquota -tg (그룹 설정)
* 기존 설정은 7일인데 변경가능
이상으로 quota 포스트를 마치겠습니다.
'OS > linux' 카테고리의 다른 글
linux IP 수동 설정하는 방법 (0) | 2016.11.08 |
---|---|
linux Firewall (0) | 2016.10.20 |
linux mail 보내기 (0) | 2016.10.18 |
linux DNS (0) | 2016.10.17 |
linux FTP PART 2 (0) | 2016.10.14 |