리눅스 디스크 쿼터
IT 위키
더 많은 작업
사용자나 그룹이 파일 시스템에서 쓸 수 있는 디스크 용량과 파일 개수(아이노드 수)를 제한하는 기능이다. 여러 사용자가 한 서버를 함께 쓸 때 특정 사용자가 디스크를 독차지하지 못하게 한다.
| 용어 | 의미 |
|---|---|
| 블록(blocks) 제한 | 사용할 수 있는 디스크 용량. 단위는 KB(1KB 블록) |
| 아이노드(inodes) 제한 | 만들 수 있는 파일·디렉터리 개수. 아이노드 참조 |
| soft limit | 넘어도 유예 기간 동안은 쓸 수 있지만 경고가 나오는 값 |
| hard limit | 절대로 넘을 수 없는 값 |
| grace period | soft limit를 넘은 뒤 허용되는 유예 기간. 지나면 soft limit가 hard limit처럼 동작한다. |
- /etc/fstab의 옵션에 usrquota(사용자), grpquota(그룹)를 추가한다.
- 다시 마운트해 옵션을 반영한다.
- quotacheck로 현재 사용량을 조사하고 aquota.user, aquota.group 파일을 만든다.
- quotaon으로 쿼터를 켠다.
- edquota로 사용자별 한도를 정한다.
- repquota, quota로 확인한다.
# 1) /etc/fstab /dev/sdb1 /home ext4 defaults,usrquota,grpquota 0 0 # 2) 재마운트 # mount -o remount /home # 3) 쿼터 파일 생성 (a:전체, v:상세, u:사용자, g:그룹) # quotacheck -avug # 4) 쿼터 켜기 # quotaon -avug # 5) 사용자 한도 편집 (편집기가 열린다) # edquota -u kaituser # 6) kaituser의 설정을 user1, user2에 복사 # edquota -p kaituser user1 user2 # 7) 유예 기간 설정 # edquota -t # 8) 전체 보고서 # repquota -a
edquota 편집 화면 예:
Disk quotas for user kaituser (uid 1500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 24 50000 60000 6 0 0
- 값이 0이면 제한이 없다는 뜻이다.
- 대화형 편집 대신
setquota -u kaituser 50000 60000 0 0 /home처럼 한 줄로 설정할 수도 있다.
XFS는 쿼터 정보를 파일 시스템 메타데이터에 저장하므로 quotacheck·quotaon을 쓰지 않는다.
- 마운트 옵션 : uquota(usrquota), gquota(grpquota), pquota(프로젝트)
- XFS 루트 파일 시스템은 재마운트로 쿼터를 켤 수 없어 커널 부트 옵션(rootflags)이 필요하다.
# /etc/fstab /dev/sdc1 /data xfs defaults,uquota,gquota 0 0 # 한도 설정 (bsoft/bhard: 용량, isoft/ihard: 파일 수) # xfs_quota -x -c 'limit bsoft=500m bhard=600m kaituser' /data # 보고서 # xfs_quota -x -c 'report -h' /data
| 명령어 | 용도 |
|---|---|
| quotacheck | 사용량 조사, 쿼터 파일 생성 |
| quotaon / quotaoff | 쿼터 켜기 / 끄기 |
| edquota | 한도 편집 (-u, -g, -p 복사, -t 유예 기간) |
| setquota | 한도를 명령행에서 바로 지정 |
| quota | 사용자 자신의 쿼터 확인 |
| repquota | 파일 시스템 전체 쿼터 보고서 |
| xfs_quota | XFS 쿼터 관리 |
- 설정 순서 fstab(usrquota, grpquota) → remount → quotacheck → quotaon → edquota
- edquota -p(복사), -t(유예 기간)
- soft limit와 hard limit, grace period의 관계
- 쿼터 파일 이름 aquota.user, aquota.group