Linux

Linux 5일차

Habilis 2022. 1. 13. 12:48

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를 이용해서 확인해보기

파일 생성
a가 4개의 파일을 만들었으므로 used의 값이 변했다.
b도 4개의 파일을 만들었다.

여기서 주의할 점은 usrjquota를 했을땐 soft가 범위를 넘어서면 경고 메시지가 떴지만 grpjquota는 뜨지 않는다.

그 다음 a계정으로 7.txt까지 만들어 보겠다.

hard의 지정 용량을 넘었기 때문에 이때는 경고 메세지가 발생된다.

grace 4days가 동작하기 시작했다.