2024. 2. 22. 20:32ㆍLinux/CentOS7
Quota란
Storage를 사용자 및 그룹별로 사용량을 제한하는 기술이다.
설치전 반드시
getenforce 값이 disabled로 돼있어야 한다!
yum으로 quota를 설치해주자
사용자가 사용하는 개인파티션을 만들자
파티션을 나눠주자,
각 디스크별 단일 파티션으로 진행해보겠다.
각 파일마다 파일시스템을 지정 할 것인데
ext 와 xfs의 quota 설정 방식이 다르다 각각 살펴보겠다.
sdb1 ,sdc1을 ext4로 지정했다.
만든 후 확인하자
각 파티션 마운트 포인트가 될 파일도 만들어주자
그런 다음 마운트 진행
진행 후 확인
이제 /etc/fstab
즉 파일시스템 테이블에 해당 마운트 포인트에
quota 정보를 등록해주자
양식
ext4 와 xfs의 양식이 다름을 주의해서 작성해주자
저장후
원래는 재부팅이 확실하지만
우리는 먼저 마운트를 해놨기 때문에 리마운트가 가능하다.
이번엔 리마운트 해주자
리마운트, 재부팅이 완료 됐다면
각 마운트 포인트에 quota database를 만들어줘야 한다.
여기서부터 ext4, xfs의 차이점이 드러난다
ext4
quotacheck -F vfsv0 -vug (파티션) 명령어로 생성해주자
그런 다음 데이터베이스가 생성됐는지 확인해보자
aquota.user 파일이 있는 것을 볼 수 있다.
이제 계정을 만들어주자
그럼 edquota -u (계정명) 명령어로
사용자 quota를 생성하자
aa의 quota 생성 및 원하는 마운트에 용량 지정(KB)
soft : 이 용량을 넘으면 경고 출력 후 유예기간이 활성화 된다.
후에 유예기간이 지나도 soft 용량보다 위라면 파일을 생성해도 0MB로 생성된다.
hard : 이 용량은 넘으면 파일을 생성해도 0MB로 생성된다.
|blocks 설정| |inodes 설정|
setquota -u (유저) (soft용량) (hard 용량) (soft용량) (hard용량) (마운트포인트 경로)
위 명령어로 한번에 마운트지점 및 용량을 지정할 수도 있다.
끝났다면 유예기간도 설정하자
edquota -t 명령어로 지정하자
유예기간도 setquota -t 로 설정 가능하다
setquota -t 259200 259200 (마운트포인트 경로)
블록의 유예기간은 259200초 (3일)로 지정하고 i-node는 259200초 (3일)으로 설정한다는 뜻이다.
이제 생성이 끝났다.
quotaon (마운트 포인트) 명령어로 실행해주자
repquota -a 명령어로 생성된 quota 설정을 확인할 수 있다.
각 마운트 포인트에 3MB의 파일을 생성해주자
이제 이 파일을 복사해 용량 한계 도달시를 확인하면 되는데
복사를 진행할 수 없을 것이다.
aa~dd 각 계정이 각 디렉토리에 수정 권한이 없기 때문이다.
각 디렉토리의 권한을 모두 여는 것보단
setfacl 명령어로 각 계정에 디렉토리 권한을 부여해주자
이제 각 사용자로 로그인후 디렉토리로 이동해
이제 생성한 파일을 한계까지 복사해주자
3MB의 파일을 계속 복사하다 보면
각 한계지점마다 다른 명령어가 출력된다.
각각 20,30MB가 넘어가는 시점이다.
ls -al로 확인해보면
soft한계 점은 초과해도 생성은 가능하다.
그러나 hard 한계점은 넘어가는 순간 0MB로만 생성되는 것을 확인할 수 있다
repquota -a 명령어로 확인도 해보자
확인해보면 아까와는 다르게 grace 밑에 유예기간이 생긴 것을 볼 수도 있다!
날짜를 넉넉하게 6일 뒤로 바꿔보자
이젠 유예기간이 none으로 바뀌었다.
다시 soft 한계치 아래로 파일을 지워주면
유예기간이 없어진 것을 볼 수 있다.
xfs quota
xfs 파일에도 quota를 적용해보자
그전에
위의 fstab 에서 quoxfs의 quota 값을 잘못 줬었다. 위 사진처럼 수정후
umount. mount 작업을 다시 해주자! (pquota 값을 추가해주자)
mount 목록에서
위처럼 나온다면 성공한 것이다.
xfs도 ext4 와 비슷하게
xfs_quota -x -c 'limit bsoft=20m bhard=30m (사용자)' (마운트 포인트)
명령어로 blocks 에
soft 20MB
hard 30MB를
일괄적으로 설정하거나
-x 는 전문가 모드활성화 옵션
-c 는 쿼터관련 명령어 지정 옵션
edquota -u (사용자) 명령어로 직접 설정을 변경할 수 있다.
repquota 명령어와 같은 기능으로
xfs_quota -x -c 'report -bih' (마운트 포인트) 명령어가 있다.
사용자(cc) quota가 잘 적용 되어있다.
이제 유예기간도 설정해주자
xfs_quota -x -c 'timer -b (유예기간)' (마운트포인트) 명령어를 이용하자
유예 기간 설정 후
xfs_quota -x -c 'state -p' (마운트 포인트) 명령어로
마운트 포인트에 설정된 project quota 정보를 확인할 수 있다.
xfs_quota -x -c 'state -p' (마운트 포인트) 명령어로는
project quota를 실행시킬 수 있다.
xfs는 quotacheck가 필요없다.
xfs_quota -x -c 'limit bsoft=20m bhard=30m cc' /quoxfs
xfs_quota -x -c 'state -u' /quoxfs
위의 두개 명령어를 다시 입력해서
이번엔 userquota를 실행시켜주자
disable -u
enable -u 명령어를 사용해서
Enforcement를 껏다 켤수도 있다.
report -uh 명령어를 사용해도
user quota에 제대로 적용된 것을 볼 수 있다.
이제 /quoxfs에도 권한을 부여하고
복사할 3MB 파일도 생성하자
이제 CC로 로그인해서 /quoxfs 디렉토리로 이동하자
xfs 타입은 디렉토리 내부에
quota 파일도 존재하지 않는다!
이제 cc.txt 를 복사해보자
확인 해보면 soft 한계의 경고는 없는 것을 볼 수 있다.
각각 다른 명령어를 사용해 확인 한 것이지만
전과 후를 비교해보면 유예기간이 활성화 된 것을 볼 수 있다.
이상 quota 에 대해서 알아보았다
'Linux > CentOS7' 카테고리의 다른 글
Linux 24 . MySql (0) | 2024.02.26 |
---|---|
Linus 23 . HAProxy (1) | 2024.02.25 |
Linux 21 . at, cron (0) | 2024.02.20 |
Linux 20 . NFS 서비스 (0) | 2024.02.19 |
Linux 19 . Mail 서비스 (0) | 2024.02.19 |