Linux 5일차
1. 사용자 및 그룹별로 디스크 사용량 제한
1.1.quota(디스크 할당)
파일시스템간 혹은 유저 간 사용할 수 있는 디스크 용량이나 파일 등을 제한하기 위한 시스템
리눅스 시스템은 기본적으로 사용자의 용량을 제한하지 않아서, 특정 사용자가 디스크에 남아 있는 용량을 모두 사용할 수 있다. 따라서 사용자가 많은 서버의 경우 사용자의 디스크 사용량 제한이 필요한데, 이러한 제한을 디스크 쿼터라고 부른다. 리눅스에서는 디스크 쿼터는 사용자 및 그룹의 디스크 사용량과 생성할 수 있는 파일의 갯수(I-nodes의수)를 제한 할 수 있다.
quota version
1. version 1 quota format used ip to kernel 2.2 : kernel 2.2버전까지 지원(usrquota, grpquota 사용)
2. version 2 quota format used on 2.4 and later kernels : 2.4이후의 kernel이나 그 이후의 커널단에서 사용되는
quota 포맷(journaled특성 추가로 usrjquota, grpjquota사용)
3. sfx, the quota on XFS filesystems : 그 외 XFS파일시스템에서 사용되는 xfs가 있다.
2.실습
2.1.사용자별 quota 설정.
준비물 : ext4로 구성된 disk
user a
yum install -y quota
mkdir /quo
1. mount 할 디렉토리 생성
2.mount 디바이스명 마운트포인트
3.vi /etc/fstab
/dev/sdb1 /quo ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv0 0 0 : 사용자별 설정
/dev/sdb1 /quo ext4 defaults,grpjquota=aquota.group,jqfmt=vfsv0 0 0 : 그룹별 설정
4.mount -o remount /quo 후 userquota설정 들어갔는지 확인하기
5. quotacheck -F vfsv0 -avugm : 파일시스템에서 사용하는 quota정보를 최신화한다. aquota.user파일이 없으면 생성
6. edquota 설정하기
-u 사용자계정 : 사용자별 제한설정
-t : 유예기간설정
-g 그룹명 : 그룹별 제한설정
-T -g 그룹명 : 그룹별 유예기간 설정
1.파일시스템 quota가 설정되어있는 장치 파티션
2.blocks 해당 유저가 사용중인 용량 KB가 기준
3~4.blocks soft, hard(KB가 기준)
0 : 설정하지 않음
hard는 사용자가 쓸 수 있는 제한되어 있는 최대 용량이다. hard를 절대 넘길 수 없다. 만약 넘기면 데이터들이 버려진다.
soft는 hard만 설정 했을 경우 데이터가 깨지거나 날라갈 수 있는데 이럴 경우를 대비하여 허용해주겠다는 것이다.
하지만 유예기간 내 soft에 지정한 용량 이하로 줄이지 않으면 파일 생성이 불가능하다.
5. inodes 현재 사용 중인 I-node수를 제한하는 것(파일과 디렉토리 갯수)
6~7. soft, hard
I-node에 관련된 개념으로 용량이 아닌 파일의 갯수가 기준이 된다.
Block grace period : block에 대한 유예기간
Inode grace period : Inode에 대한 유예기간
7.quotaon /quo
quota실행 후 /quo에 권한 설정하기 chmod 777 /quo(편의상 777로 설정하였다.)
8. 사용자 a를 이용해서 확인해보기
dd if=/dev/zero of=/home/a/a.txt bs=3M count=1 (파일생성) : 하나의 3MB짜리 생성
cp a.txt /quo/1.txt ~ cp a.txt /quo/7.txt : 20480KB = 21MB정도이기 때문에 7까지 만든다.
block soft의 용량을 넘었기에 경고 메세지가 뜬다.
9.root계정으로 repquota -a 로 확인하기
2.2.그룹별 quota 설정.
준비물 : ext4로 구성된 disk
user a,b(같은 그룹내에 있어야 한다.)
group grpquo
yum install -y quota
mkdir /grpquo
1.그룹이 같은 계정 a, b생성하기
2. mkdir /grpquo 후 mount /dev/sdb1 /grpquo
3. vi /etc/fstab
4.mount -o remount /grpquo 후 userquota설정 들어갔는지 확인하기
5. quotacheck -F vfsv0 -avugm
6. edquota -g grpquo
그룹이기 때문에 -g옵션을 쓴다.
7. edquota -T -g grpquo
8. 사용자 a,b를 이용해서 확인해보기
여기서 주의할 점은 usrjquota를 했을땐 soft가 범위를 넘어서면 경고 메시지가 떴지만 grpjquota는 뜨지 않는다.
그 다음 a계정으로 7.txt까지 만들어 보겠다.
hard의 지정 용량을 넘었기 때문에 이때는 경고 메세지가 발생된다.
grace 4days가 동작하기 시작했다.