쿼터 (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 |