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
TAGS.

Comments