쿼터 (Quota) 사용자별 공간 할당

-파일 시스템 마다 사용자나 그룹이 생성할 수있는 파일의 용량 및 개수를 제한 하는것

 

쿼터 제한 영역
1. user hard limit
-사용자가 사용할 수 있는 최대 공간


2. user soft limit
-사용자가 soft limit 영역에 도달 할때 까지 데이터를 자유롭게 저장할수 있다.
 

3. group hard limit

4. group soft limit

5. grace(유예기간)
 - 소프트 제한 영역을 넘어서면 사용자나 그룹은 유예기간에 접어들게 된다.
 - 설정한 유예기간 시간동안 파일을 삭제하여 용량을 확보하지 않는경우에는 hardlimit로 변경된다.

 

quotacheck : quota설정파일이 존재하는지 설정은 이상없는지 등의 quota설정 체크
edquota : 디스크사용량제한(quota) 설정하기
quota : 현재 설정된 quota내용확인하기
quotaon : 설정된 quota 가동하기
quotaoff :  가동중인 quota 중지하기
repquota : 현재 사용중인 quota설정 및 용량제한내역 보기

 

------------------------------------------------------------------------------------------
quota [-u] [옵션] [사용자]
quota [-g] [옵션] [그룹]
- 사용자나 그룹의 제한량을 표시한다
- root만 -u 옵션을 통해 다른 사용자의 할당량을 확인 할 수 있다.


옵션 -q : 제한량의 설정값을 초과한 경우에만 간단한 메세지 출력
       -v : 자세한 모드로 저장 공간이 할당되지 않은 경우에도 제한량의 정보를 보여준다.

ex) quota -uv [사용자] //해당 사용자의 모든 제한량을 점검
------------------------------------------------------------------------------------------   
quotaon - 하나 이상의 파일시스템에 대해 설정된 제한량을 적용
quotaon [옵션] [파일시스템]

 옵션

-a : /etc/fstab에 등록되고 읽기와 쓰기 쿼터 사용으로 표시된
             모든 파일 시스템에대해 쿼터를 적용한다.
-g : 그룹 쿼터를 적용한다. -a 옵션을 사용할 경우 그룹 쿼터를
         동시에 적용하므로 해당 옵션은 불필요하다.    
-u : 기본 옵션으로, 사용자에게 쿼터를 적용한다.
-v : 상세하게 출력
    
ex) quotaon -av #/etc/fstab에 정의된 것에 쿼터를 모두 적용
     quotaon -gv  /home   #파일시스템 /home 사용자에 쿼터 적용
------------------------------------------------------------------------------------------
quotaoff - 하나 이상의 파일시스템에 적용된 쿼터 사용을 중지
quotaoff [옵션] [파일시스템]
  옵션

-a : /etc/fstab에 정의된 모든 파일시스템 대한 쿼터 적용 중지 한다.
-g : 그룹에 적용된 쿼터 사용을 중지
-a : 사용자 쿼터 적용을 중지
-v : 쿼터 적용이 중지되는 각 파일시스템에 대해 자세히 표시
     

ex) quotaoff -av   #모든 쿼터 적용을 중지
------------------------------------------------------------------------------------------  
quotacheck [옵션] [파일시스템]
- 파일시스템을 점검하고 쿼터 설정에 대한 데이터베이스를 컴파일
   cron을 이용해서 주단위로 'quotacheck -a' 옵션 실행을 권장함
  
  옵션 -a : /etc/fstab에 정의된 모든 쿼터 파일시스템을점검
  usrqouta와 grpqouta 적용 시 모두 점검 가능
  
-g : 그룹에 대한 쿼터 정보만 컴파일한다.
-u : 기본값, 사용자에 쿼터 정보만 컴파일 한다.
-v : 실행결과를 자세하게 표시
-n :복제 된 구조체의 첫 번째 사본을 사용합니다.
-m: 파일 시스템을 읽기 전용으로 다시 마운트하지 않는다.
------------------------------------------------------------------------------------------    
edquota - 사용자그룹 쿼터 설정을 수정한다.
  옵션

-g : 그룹쿼터 수정 (-g 사용 시 -u 옵션도 따라와도 모두 그룹명으로 인식한다)
-t : 유예기간을 변경한다. 
-u : 사용자 쿼터설정을 변경 (-g와 사용시 무시된다.)
     

ex) edquota -u [사용자] - 해당 사용자의 대한 쿼터 설정 변경
     edquota -tu - 모든 파일 시스템의 사용자에대한 유예기간을 변경한다
------------------------------------------------------------------------------------------
repquota - 쿼터 운영 상황을 출력
 -a : 모든 쿼터 파일시스템 정보 출력
 -g : 그룹 설정을 요약
 -u : 사용자 쿼터 설정 요약
 -v : 요약정보를 자세하게 표시하며 출력결과에 머리말을 추가
 
 제한여부
 quota 제한을 받는지 여부를 나타내며  ' - ' 이면 제한에 걸리지 않았음을 의미하며, ' + ' 이면 제한에 걸려 있음을 의미함
 첫 번째는 Block제한, 두 번째 파일제한을 뜻한다.
------------------------------------------------------------------------------------------
setquota [옵션] [이름] [Block soft limit] [Block hard limit]
            [inode soft limit] [inode hard limit] [파티션 명]
    
 -u : 사용자
 -g : 그룹
 -a : 해당 시스템의 모든 설정

--------------------------------------------------------------------------------------------------

실습 쿼터 설정


1.스냅샷 초기화
disk 2개(1GB)
reboot

 

2.디스크 추가 및 파티션 생성
fdisk -l 확인
fdisk [확인한 장치명]
n
p
1
enter
enter
w

3. 파일 시스템 생성
mkfs -t ext3 /dev/sdb1
mkfs -t ext3 /dev/sdc1

4. 마운트 포인트 생성, 마운트

mkdir /quota_user             //사용자 쿼터 
mkdir /quota_group             //그룹 쿼터
mount /dev/sdb1 /quota_user
mount /dev/sdc1 /quota_group

mount -o remount /quota_group/     //강제

mount 확인

 

5. 마운트 적용 및 fstab등록
 #df -h
/dev/sdb1      1004M   18M  936M   2% /quota_user_dir
/dev/sdc1      1004M   18M  936M   2% /quota_group_dir

 

UUID=e55ca0f2-e565-4c9c-94c2-370a4df76cd9 /quota_user_dir ext3 defaults,usrquota 0 0
UUID=04bd587d-3305-4ab5-951a-ffe5bbd4939a /quota_group_dir ext3 defaults,grpquota 0 0

사용자 쿼터 옵션 : usrquota
그룹 쿼터 옵션 : grpquota

mount 쿼터적용 확인

 

6.쿼터 사용자 계정 및 그룹
groupadd q-group
useradd -g q-group q-user1
useradd -g q-group q-user2

q-group그룹을 가진 q-user1 q-user2 계정 생성 확인

 

7.쿼터 적용을 위한 selinux 비활성
setenforce 0                  //selinux 비활성(일시적)
vi /etc/sysconfig/selinux
7번째 줄 변경 SELINUX=enforcing ---> SELINUX=disabled         //selinux 비활성 (영구적)

 

8.쿼터 지원 여부 확인
rpm -qa | grep quota   //쿼터 설치여부 확인
yum -y install quota
rpm -qa | grep quota

 

9.쿼터 설정 파일 생성
cd /quota_user                 //쿼터를 적용시킬 파티션의 최상위 디렉토리로 이동
quotaoff /dev/sdb1         //쿼터 설정을 위해 설정 off

 

quotacheck -u /dev/sdb1
- 쿼터 설정 파일 확인하여 없으면 생성, 있으면 확인 명령어
 -u 사용자 쿼터 확인
 -g 그룹 쿼터 확인

 

ls                                 //aquota,user 생성 확인
quotaon /dev/sdb1         //쿼터 시작
edquota -u [계정명] 
edquota -u q-user1         //텍스트 편집기를 이용하여 q-user1 계정의 사용자 쿼터 설정

 

blocks 용량
inodes 파일개수

 

edquota -u q-user1  텍스트 편집기를 이용하여 유예기간 설정

 

repquota -u /dev/sdb1

 

chown q-user1:root /quota_user

q-user1 777권한

 

su - q-user1
cd /quota_user_dir
cp /boot/vm [tab] ./file1    //4.1M
ls

file1생성 확인

 

soft      hard
20M     40M 이니까 소프트 초과

 

cp file1 file2
cp file1 file3
cp file1 file4
cp file1 file5  //20m 초과  경고(유예기간)
     ...
2분 경과후 (유예기간)
cp file1 file7  //hard limit까지 디스크 할달량 초과

 

rm -f file*

 

touch file{1..10}
softlimit 11개째 오류

 

유예기간 2분끝나면 12개 파일 못씀

 

repquota -u /dev/sdb1       //해당 파티션에 설정된 사용자 쿼터 현황 확인

 

   -+ ?????

-quota 제한을 받는지 여부를 나타내며  ' - ' 이면 제한에 걸리지 않았음을 의미하며,

 ' + ' 이면 제한에 걸려 있음을 의미한다. 첫 번째는 Block제한, 두 번째 파일제한을 뜻한

 

그룹 쿼터 적용

쿼터 설정 파일 생성
cd /quota_group/         //그룹 쿼터를 적용시킬 파티션의 최상위로 이동
quotacheck -g /dev/sdc1
aquota.group              //그룹 쿼터 DB 파일 생성 확인

쿼터 적용 방법
(1) #edquota         //텍스트 편집기 이용
(2) #setquota         //명령어를 이용한 설정변경

 

#setquota -g [그룹명] [인자값] [장치명]

 

인자값
[block soft limint] [block hard limit] [file soft limit] [file hard limit]
ex) setquota -g q-group 10M 20M 10 20 /dev/sdc1

 

유예기간 적용 방법
(1) edquota -t //텍스트 편집기 이용
(2) setquota -t //명령어를 이용하여 유예기간 설정


ex) setquota -tg [block grace sec] [file grace sec] [장치명]
    setquota -tg 120 120 /dev/sdc1  //그룹에 대한 타입tg
  
확인 : repquota -g /dev/sdc1

chown root:q-group /quota_group
chmod 770 /quota_group

 

edquota -u q-user1   

edquota -u q-user2  

용량:10M/20M
파일:10/20

 

1번 세션                      2번 세션
q-user1                       q-user2
cd /quota_group         cd /quota_group
파일19개                       1개
파일19M                       1M        //초과 오류 워닝

 

 

quotaon /dev/sdc1

 

같은 룹(q-group)에 속한 사용자 (q-user1, q-user2)들은 쿼터 제한 설정을
공유 하므로 q-user1이 자원을 사용하면 q-user2 사용할수 없다.

 

'Server > Linux' 카테고리의 다른 글

xshell/ 부팅프로세스  (0) 2017.04.19
xshell/ LVM  (0) 2017.04.18
xshell/ 파일시스템 RAID  (0) 2017.04.16
xshell/ 파일시스템 데몬 파티션  (0) 2017.04.15
xshell/ 프로세스 명령어  (0) 2017.04.13

+ Recent posts