본문 바로가기

Foundation/- Linux

쿼터란?

쿼터 (quota)??

- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를
   제한 하는 것
   
 - 쿼터 제한 영역
  1. 사용자 별 하드 제한 영역 (User Hard Limit)
   - 사용자가 사용할 수 있는 최대 공간, 개수
   
  2. 사용자 별 소프트 제한 영역 (User Soft Limit)
   - 소프트 제한영역에 도달할때까지는 사용자가 데이터를
     자유 롭게 사용할 수 있으며, 소프트 제한 영역을 넘어선
     순간 유예기간에 돌입하게 된다.
   
  3. 그룹 하드 제한 영역


  4. 그룹 소프트 제한 영역
  
  5. 유예 기간 ( Grace)
   - 유예 기간이 끝나면 쿼터 제한을 초과하는 상황이
     벌어지지 않도록 충분히 용량을 확보해야한다.
     기본값 7일 
  

 

쿼터 명령어

------------------------------------------------------------------------------------------
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 [사용자]
     해당 사용자의 대한 쿼터 설정 변경
     ex) 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기가 디스크 3개를 추가하고 각각 주파티션 1개로
모두 파티션 설정을하고 /APP1 ~ 3
디렉토리에  부팅시 자동으로 마운트되도록설정한다.
단 APP1,2 디렉토리는 파일시스템 생성시 EXT3로 진행 하여  마운트한다
사용자들의 계정은 Q-USER1 과 2이며 해당 계정은 Q-GROUP에 포함되도록설정한다


쿼터 실습
1. 쿼터를 지원하는 확인
 #rpm -qa | grep quota  // 쿼터 패키지 설치 확인
 #yum -y install quota  // 쿼터 패키지 설치

 

2. Disk 추가, 파티션, 파일 시스템 생성, 마운트

 

3. /etc/fstab 수정
 쿼터를 부여하고자하는 파티션에 옵션 추가

 
 [UUID] [마운트 포인트]
   /APP1   ext3    defaults,usrquota 0 0
   /APP2   ext3    defaults,grpquota 0 0
   /APP3   ext4    defaults 0 0
   
 사용자 쿼터 옵션 - usrquota
 그룹   쿼터 옵션 - grpquota
 
4. 마운트 옵션 적용
 #mount -o remount [마운트포인트]  // 재부팅을 하지 않고
                                         // 마운트 옵션을 적용하기 위해 사용
 
 #mount -o remount /APP1
 #mount -o remount /APP2
 
 #mount
 /APP1    (usrquota)
 /APP2  (grpquota)      // 옵션 적용 확인
           // 확인이 안될 시 재부팅 진행
 
5. 쿼터를 적용을 위한 SELINUX 비활성
 SELINUX - 시스템 내부 정책이나, 권한 설정및 보안관련 기능을 담당하고 프로그램
 
 #setenforce 0    // 일시적으로 SELINUX를 비활성화 시키는 명령어
 #vi /etc/sysconfig/selinux
 SELINUX=enforcing --> SELINUX=disabled   // 영구정으로 SELINUX 비활성

6. 쿼터 설정 파일 생성
 
 #quotaoff [장치+파티션번호]  // 쿼터를 설정을위해 쿼터 off
 
 - 쿼터를 적용시킬 파티션의 최상위 디렉토리로 이동하여 작업해야한다 (필수)
 #df-h
 장치명  /APP1 <- 최상위 디렉토리

 #cd /APP1
 #quotaoff /dev/sdb1
 
 #quotacheck [옵션] [파일시스템]
    // 쿼터 설정 파일이 있으면 설정을 확인 하고,
    // 없으면 설정 파일이 설정 파일을 생성하는 명령어
  옵션
   -u 사용자 쿼터 적용 시
   -g 그룹 쿼터 적용 시
   -a 모든 설정 확인 시
   
 #quotacheck -u /dev/sdb1
 
 #ls
 사용자 쿼터 파일 ( aquota.user  )
 그룹   쿼터 파일 ( aquota.group )
 
 #quotaon /dev/sdb1  // 쿼터 시작
 
쿼터 제한 영역 설정
 #edquota -u [계정명]    // 텍스트 편집기로 쿼터 설정
    
 #edquota -u Q-USER1     // Q-USER1 제한 설정
 
 (용량)       (파일 개수)
 block  soft  hard   inode  soft  hard
   0      10M     20M         0     5      10
 
 유예 기간 설정
 #edquota -t       // 텍스트 편집기로 유예기간 설정
       block      inode
    2minute   2minute
 
 
 cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /APP1  // 테스트용 파일 복사
              // 용량 4메가
 mv vm* file1          // 테스트 하기편하게 이름변경
 
 
 
 #chmod 777 /APP1/file1    //허가권, 소유권 변경
 #chown Q-USER1:Q-GROUP /APP1/file1
 #chown Q-USER1:Q-GROUP /APP1
 
 Q-USER1 계정으로 전환하여 /APP1 디렉토리로 이동

 $cp file1 file2    -> (8MB)
 $cp file1 file3    -> (12MB) 소프트 리미트 초과(유예기간 진입)
 $cp file1 file4    -> (16MB)
 $cp file1 file5    -> (2OMB) 하드 리미트 초과
  용량 소프트  10M
   하드    20M   $touch 명령어를 이용하여 빈파일 생성하 
  파일 소프트  5   
   하드   10 
 
 
 
 
 
 

 적용확인
 #repquota -u /dev/sdb1

'Foundation > - Linux' 카테고리의 다른 글

RPM & YUM  (0) 2017.05.03
LVM  (0) 2017.05.02
Partition & mount란 ??  (0) 2017.04.28
Swap 메모리  (0) 2017.04.27
아카이브(ARCHIVE)  (0) 2017.04.27