본문 바로가기
리눅스

[리눅스] 디스크 쿼터 Disk Quota, fstab, quotacheck...

by 깅민 2022. 11. 3.

fstab https://gingmin.tistory.com/23

 

-리눅스 시스템은 기본적으로 사용자의 용량을 제한하지 않아서 특정 사용자가 디스크에 남아 있는 용량을 모두 사용가능

-따라서 사용자가 많은 서버의 경우 사용자의 디스크 사용량 제한이 필요

-이를 디스크 쿼터라고 한다.

 

제한 항목

- 사용자 및 그룹의 디스크 사용량

- 생성할 수 있는 파일의 개수 ( I-node)

 

CentOS 7 버전에는 XFS 파일 시스템을 사용하는데, 추가적으로 특정 디렉토리(프로덱트) 단위로도 제한이 가능하다

 

제한 값 설정

소프트

-보통 사용자에게 공지된 제한 용량

-만약 특정 사용자의 디스크 사용량을 100MB로 제한할 경우, 소프트 항목 값으로 지정하면 된다.

 

하드

-실제 사용자가 최대로 사용할 수 있는 값

-보통 소프트 항목 값보다 좀 더 설정하는 것이 보편적

ex) 소프트를 100MB 로 제한 시, 하드를 110MB로 지정해서 일정 용량을 초과해도 사용할 수 있도록 한다

-하드로 지정한 값은 절대 초과할 수 없다.

 

quotacheck [option] 디렉토리명

 

옵션 설명
-a 사용자와 그룹에 대한 쿼터를 체크
-m 읽기 전용 모드 등의 이유로 마운트를 하지 못할 경우에 강제로 체크할 때 사용함
-f 쿼터 파일 초기 생성 시 인식하지 못하는 경우에 강제로 인식할 때 사용함
-u 사용자 쿼터 파일을 체크할 때 사용하는 옵션 (기본 옵션)
-g 그룹 쿼터 파일을 체크할 때 사용하는 옵션
-c 기존의 생성된 쿼터 관련 파일을 읽지 않고 새롭게 초기화할 때 사용함

 

/home에 생성한 쿼터 파일을 체크함

파일의 손상 위험이 있으므로 quotaoff 상태에서 해야 함

quotacheck /home

 

quotacheck는 원칙적으로 해당 파티션을 quotaoff 한 뒤에 해야 하는데, -mf 옵션을 사용하면 quotaoff 하지 않아도 무조건 체크

qutacheck -mf /home

 

사용자 쿼터 파일과 그룹 쿼터 파일을 동시에 체크함

quotacheck -mf -u -g /home2

 

생성된 쿼터 파일을 찾아 체크함

quotacheck -a

 

쿼터 파일을 초기화함

quotacheck -cf /home

 

 

edquota [option]

 

-사용자나 그룹에 쿼터를 설정할 때 사용하는 명령

-실행시키면 vi 편집기가 실행

-기본단위 KB (10MB 를 제한하려면 10000이라고 입력)

옵션 설명
-u 사용자에 대한 쿼터를 설정할 때 사용하는 옵션 (기본 옵션) --user
-g 그룹에 대한 쿼터를 설정할 때 사용하는 옵션 --group
-t Soft Limit를 초과한 후부터 적용되는 시간 제한(Grace Period)을 설정하는 옵션 --edit-period
-p 특정 사용자의 쿼터를 다른 사용자에게 동일한 설정으로 적용할 때 사용하는 옵션 --prototype=name
-h 명령어의 사용법 및 주요 옵션 정보를 간략히 출력함 --help

 

user1 이라는 사용자의 쿼터를 할당

edquota user1

Disk quotas for user user1 (uid 500) :
Filesystem blocks soft hard inodes soft hard
/dev/sda1   1200     0     0     166     0     0

Filesystem : Quota가 설정되어 있는 파티션

blocks : 현재 사용 중인 용량 (KB)

soft :

-보통의 경우 사용자가 사용할 수 있는 최대 용량 (KB)

-여기에 지정한 용량이 hard에 지정한 값보다 작게 설정하였다면 hard 용량까지는 지정한 유예 기간(Grace Period) 동안은 초과할 수 있음

-유예 기간 내에 soft에 지정한 용량 이하로 줄이지 않으면 파일 생성이 불가능함

hard :

-실제 사용자가 최대로 사용할 수 있는 용량 (KB)

-soft는 초과하여 사용 가능하나, hard에 설정한 용량은 절대 초과할 수 없음

inodes : 현재 사용중인 I-node 수 (파일이나 디렉토리의 개수)를 나타냄

soft :

-일반적으로 사용자에게 지정하는 inode값

-파일이나 디렉토리를 생성할 수 있는 개수

-유예 기간 적용 등은 blocks 항목과 같음

hard :

절대 초과할 수 없는 inode 값

사용자가 생성할 수 있는 파일이나 디렉토리의 최대값

 

명령을 내리면 vi편집기가 실행되면서 다음과 같이 나타나는데, 날짜를 변경하면 됨

edquota -t

Grace period before enforcing soft limits for users:
Time units may be : days, hours, minutes, or seconds
Filesystem    Block grace period    Inode grace period
/dev/sda1      7 days                       7 days

Filesystem : Quota가 설정되어 있는 파일 시스템

Block grace period : Block 의 soft 제한을 초과했을 경우의 유예 기간

Inode grace period : Inode의 soft 제한을 초과했을 경우의 유예 기간

 

user1 사용자의 Quota설정을 user2 설정과 동일하게

edquota -p user2 user1                                                                                          

 

quotaon / quotaoff

쿼터 설정을 활성화 / 비활설화 

 

quotaon [option] 디렉토리명

quotaoff [option] 디렉토리명

 

옵션 설명
-u 사용자 쿼터를 활성화할 때 사용하는 옵션 (기본 옵션)
-g 그룹 쿼터를 활성화할 때 사용하는 옵션
-v 메시지를 자세히 출력함

 

/home의 쿼터를 시작함

quotaon /home

/home의 그룹 쿼터를 시작하면서 관련 정보를 자세히 출력함

quotaon -gv /home

/home의 쿼터를 중지

quotaoff /home

 

repquota [option] 디렉토리명

파일 시스템 단위로 쿼터 설정 정보를 출력

 

옵션 설명
-a 쿼터가 설정되어 있는 모든 파티션의 정보 출력
이 옵션을 사용하면 디렉토리명 지정이 필요 없음
-u 사용자 쿼터 정보 출력 (기본 옵션)
-g 그룹 쿼터 정보 출력

 

/home2 에 설정된 사용자 쿼터 정보 출력

repquota /home2

/home에 설정된 그룹 쿼터 정보 출력

repquota -g /home

설정된 쿼터 정보를 전부 출력

repquota -a

 

quota

사용자나 그룹 단위로 쿼터 설정 정보를 출력

옵션 설명
-u 사용자 쿼터 정보 출력 (기본 옵션) --user
-g 그룹 쿼터 정보 출력 --group
-h 명령어의 사용법 및 주요 옵션 정보를 간략히 출력 --help

 

user1 사용자 자신의 쿼터 정보 출력

quota

user2 사용자의 쿼터 설정 정보 출력

quota user2

 

setquota [option] 사용자명 block_soft block_hard inode_soft inode_hard 파일 시스템
setquota -t block_grace inode_grace 파일 시스템

쿼터를 설정하는 명령

vi 편집기를 이용하는 대신에 직접 명령행에서 설정 가능

 

옵션 설명
-u 사용자 쿼터 정보 출력 (기본 옵션)
-g 그룹 쿼터를 설정할 때
-t 유예 기간(Grace Time)을 설정할 때 사용 (단위 :초)

 

사용자 쿼터(Quota) 설정하기

/etc/fstab 설정

-/etc/fstab 의 4번째 필드에 사용자 쿼터 설정 옵션인 usrquota를 추가로 기입한다.

-만약 /home 파티션으로 분할되어 있으면 해당 영역에 설정하고 분할되어 있지 않다면 /에 설정함

 

/etc/fstab 필드

1.FileSystem Device Name(파일시스템장치명)

파일 시스템 장치명은 곧 파티션들의 위치

/dev/sdb1 이런식으로 쓸 수 있지만 라벨(Label)을 이용해서 사용 가능

 

2.Mount Point(마운트포인트)

등록할 파티션을 어디에 위치한 디렉토리에 연결할것인지 설정하는 필드

마운트 시켜줄 디렉토리 경로를 입력

 

3.FileSystem Type(파일 시스템 종류)

파일 시스템의 종류

파일 시스템 설명
ext 초기 리눅스에서 사용하였던 종류, 현재는 사용x
ext2 현재도 사용하며, 긴 파일 시스템 이름을 지원하는 것이 특징
ext3 저널링 파일 시스템, ext2보다 파일시스템의 복수/보안기능이 크게 향상되었고
현재 기본 파일 시스템으로 쓰임
ext4 16TB까지만 지원하던 ext3과 달리 더큰 용량을 지원하며, 삭제된 파일 복구,
파일 시스템 점검 속도가 빨라진 파일 시스템
iso9660    DVD/CD-ROM을 위한 표준 파일 시스템으로 읽기만 가능
nfs 원격 서버에서 파일 시스템 마운트할 때 사용하는 시스템(Network File System)
swap 스왑 파일 시스템, 스왑 공간으로 사용되는 파일 시스템에 사용
ufs Unix system에서 표준 파일 시스템으로 사용(Unix File System)
vfat 윈도우95/98 등 ntfs를 지원하기 위한 파일 시스템에 사용
msdos     MS-DOS 파티션을 사용하기 위한 파일 시스템에 사용
ntfs 윈도우NT/2000의 nfts를 지원하기 위한 파일 시스템에 사용
hfs MAC 컴퓨터의 hfs를 지원하기 위한 파일 시스템에 사용
hpfs hpfs를 지원하기 위한 파일 시스템에 사용
sysv Unix system v를 지원하기 위한 파일시스템에 사용
ramdisk    RAM을 지원하기 위한 파일시스템에 사용

 

4.Mount Option(마운트옵션)

파일시스템에 맞게 사용되는 옵션들을 설정하는 필드

옵션 설명
default  rw, nouser, auto, exec, suid 속성을 모두 설정
auto     부팅시 자동 마운트
noauto     부팅시 자동 마운트를 하지 않음
exec     실행 파일이 실행되는 것을 허용
noexec     실행 파일이 실행되는 것을 불허용
suid     SetUID, SetGID 사용을 허용
nosuid     SetUID, SetGID 사용을 불허용
ro     읽기 전용의 파일 시스템으로 설정
rw     읽기/쓰기 전용의 파일 시스템으로 설정
user 일반사 용자 마운트 가능
nouser     일반 사용자 마운트 불가능, root만 가능
quota     Quota 설정이 가능
noquota     Quota 설정이 불가능
usrquota 사용자 할당량 사용

 

5.Dump

덤프(백업)가 되어야 하는지 설정하는 필드

0    -    덤프가 불가능하게 설정

1    -    덤프가 가능하게 설정

 

6.File Sequence Check Option

fsck에 의한 무결성 검사 우선순위를 정하는 옵션

0,1,2 총 3가지 옵션이 존재

0    -    무결성 검사를 하지 않음

1    -    우선순위 1위를 뜻하며, 대부분 루트부분에 설정

2    -    우선순위 2위를 뜻하며, 1위를 검사한 후 2위를 검사

대부북 루트 부분이 1이기때문에 루트 부분 검사 후 검사

 

cat /etc/fstab

/home 영역을 다시 마운팅

umount /home; mount -a

적용 확인

mount | grep /home
/dev/sda3 on /home type xfs (rw,realtime,seclabel,attr2,inode64,usrquota)

 

사용자에 대한 쿼터 설정

user1 사용자의 소프트 용량 제한 100MB 하드 용량 제한 110MB로 설정

xfs_quota -x -c 'limit bsoft=100m bhard=110m alin' /home

쿼터 설정 확인

repquota /home

 


2002

1. /etc/fstab

2. 4

3. usrquota

4.quotacheck

 

 

2001

6. 다음은 디바이스 장치를 추가하고 관련 파일에 등록하는 과정이다. 조건에 맞게 ( 괄호 ) 안에 알맞은 내요을 적으시오.

[root@ihd ~] # vi /etc/fstab
( 1 )    ( 2 )     ( 3 ) ( 4 )   1  1

조건
ext파일 시스템으로 포맷된 /dev/sdb1을 /home2로 자동 마운트되도록 설정한다.
추가적으로 사용자의 디스크 사용량을 제한하기 위해 쿼터를 설정한다.

1. /dev/sdb1

2. /home2

3. ext4

4. defaults.usrquota

 

 

1902

1. usrquota

2. mount -o remount

3. quotacheck (quotacheck -mf)

4. edquota (edauota -u)

 

 

1702

1. /dev/sdb1

2. /data

3. 0

4. 1

 

 

1801

1. edquota

2. -t

3. -p ihuser (-u) kaituser

4. quota


 

 

참고 

https://webdir.tistory.com/136

https://blog.daum.net/rayolla/806

https://starrykss.tistory.com/1872

 

 

 

 

 

 

'리눅스' 카테고리의 다른 글

[리눅스] fsck 파일 시스템 검사 (e2fsck, xfs_repair)  (0) 2022.11.04
[리눅스] NFS 서버  (0) 2022.11.04
[리눅스] iptables  (0) 2022.11.02
[리눅스] DNS 설정  (0) 2022.11.02
[리눅스] 아파치(apache) 웹 설정, httpd.conf  (0) 2022.11.01

댓글