Quota (쿼터)
Quota (쿼터)
리눅스에서 쿼터(Quota)는 사용자 또는 그룹이 사용할 수 있는 디스크 공간 및 파일 개수를 제한하는 시스템 관리 도구
디스크 자원을 효율적으로 관리하고, 특정 사용자가 시스템 디스크 자원을 과도하게 사용하는 것을 방지
파일 시스템을 "/" (root) 로 지정하는 것보다는, 별도의 파일시스템을 지정해서 해당 부분을 쓰도록 하는 것이 좋음
"/" (root)을 동시에 여러 사용자가 사용하게되면, 우분투 서버를 운영하기 위해서
디스크를 읽고 쓰는 작업과 일반 사용자가 디스크를 읽고 쓰는 작업이 동시에 발생하므로 전반적으로 시스템의 성능이 저하됨
Quota기능
- 디스크 용량 제한
- 사용자별 또는 그룹별 디스크 사용량 제한 설정
- 파일 개수 제한
- 사용자가 생성할 수 있는 파일(인오드)의 최대 개수 제한
- 경고 및 강제 조치
- 사용량이 한도를 초과하면 경고 메시지 출력
- 설정에 따라 일정 시간을 초과하면 파일 생성/쓰기 제한
Quota 개념
- 하드 한도 (Hard Limit)
- 사용자가 절대 초과할 수 없는 디스크 용량이나 파일 개수 한도
- 소프트 한도 (Soft Limit)
- 사용자가 초과할 수 있지만, 제한된 기간(그레이스 기간) 동안만 허용되는 한도
- 그레이스 기간 (Grace Period)
- 소프트 한도를 초과했을 때, 허용되는 유예 기간
- 유예 기간 내에 사용량을 줄이지 않으면 하드 한도가 적용됨
Quota 실습
https://www.youtube.com/watch?v=vOzw5usBw4M&list=PLVsNizTWUw7HAcyW6bma7trGJfiTSDA44&index=41
bash
# 파티션 생성
fdisk /dev/sdb
# 파일시스템 생성 및 포맷
mkfs.ext4 /dev/sdb1
bash
# 사용자의 홈 폴더를 이곳으로 설정
# 폴더 생성 후 마운트
mkdir /userHome
# 재부팅 후 자동 마운트 등록
gedit /etc/fstab
/dev/sdb1 /userhome ext4 defaults 0 0
# daemon reload
systemctl daemon-reload
bash
# sdb1을 quota로 사용 준비
tune2fs -O quota /dev/sdb1
bash
# 사용자 추가 karina, winter
adduser --home /userHome/karina karina
adduser --home /userHome/winter winter
bash
# quota 패키지 설치
sudo apt update
sudo apt install quota
bash
# quota 시작
quotaon -va
bash
# karina / soft 한도 40MB / Hard 한도 50MB
edquota -u karina
bash
# karina에서 확인
su - karina
# 테스트용 더미 파일 생성
fallocate -l 10M /userHome/karina/dummyfile.txt
bash
# quota 명령어로 확인 가능
quota
bash
# root
su root
# quota 확인
repquota /userHome/
bash
# karina의 기준은 winter 에게 적용
edquota -p karina winter
# quota 확인
repquota /userHome/