RHEL 9.5 quota 설정 (ext4, xfs)

 

 

RHEL 9.5 에서 quota 를 사용하여 사용자 별로 사용 가능한 블록 용량이나 갯수(inode)를 제한하는 방법을 설명합니다.
그룹에 지정하는 것도 가능하며, ext4, xfs 등 파일시스템에 따라 설정 방법이 상이합니다.

 

  1. Quota 설정

  1.1. ext4 파일시스템

1.1.1. 새로운 디스크 추가(/dev/sdf), 파일시스템 포맷(ext4)

quota 를 적용할 디스크를 확인하고 파일시스템 포맷을 진행합니다.

# lsblk

# mkfs -t ext4 /dev/sdf

 

1.1.2. 디렉토리 생성(/quotatest), 디스크 마운트

임의로 디렉토리(/quotatest)를 생성하여 추가한 디스크를 마운트합니다.

# mkdir /quotatest

# mount /dev/sdf /quotatest

# df -hT

 

1.1.3. quota 사용자 생성

quota 를 설정할 사용자(quotauser)를 생성합니다.

quotauser 사용자의 홈디렉토리를 /quotatest 디렉토리 하위에 생성합니다.

 

1.1.4. /etc/fstab 수정, 재마운트

/etc/fstab 파일에 quota 관련 설정을 추가합니다.

# vi /etc/fstab

 

/etc/fstab 에 등록한 내용으로 /quotatest 를 재마운트합니다.

# mount -o remount /quotatest ( 또는 reboot)

# systemctl daemon-reload

# mount | grep quotatest

 

 

1.1.5. quota DB 생성

 

/quotatest 로 이동하여 quota DB 를 생성합니다.

진행중 아래와 같이 ext4 파일 시스템에서 external quota 파일 사용은 더 이상 권장하지 않으므로, 파일 시스템의 ext4 quota 기능을 전환하라는 메시지가 출력됩니다.
파일 시스템을 언마운트 후 ‘tune2fs -O quota /dev/sdf’ 를 실행하여 이 기능을 활성화합니다.

“[quotaoff|quotacheck|quotaon]: Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running ‘tune2fs -O quota <device>’.”

 

 

 

# cd /quotatest

# quotaoff -avug

# quotacheck -qugmn

# quotaon -avug

 

 

# umount /quotatest

# tune2fs -O quota /dev/sdf

 

 

1.1.6. 사용자 할당량 편집

사용자가 어느 정도 사용량을 초과하면 경고 또는 사용을 제한할 것인지, 또는 어느 정도 inode 갯수를 초과하면 경고 또는 사용을 제한할 것인지 설정합니다.

임의로 quotauser 사용자에 대해 30MB 를 초과하면 경고, 50MB 를 초과하면 사용 불가로 설정합니다.

편집창 진입

# edquota -u quotauser(그룹은 “edquota -g 그룹명” 으로 설정)


 

Blocks 의 soft : 지정한 사용량을 초과하면 경고

Blocks 의 hard : 지정한 사용량을 초과하면 사용 불가

Inodes 의 soft : 지정한 inode 개수 초과하면 경고

Inodes 의 hard : 지정한 inode 개수 초과하면 사용 불가

 

 

 

1.1.7. 사용량 제한 확인

 

                약 14MB 가량의 파일을 복사해 사용량을 초과하면 어떻게 동작하는지 확인합니다.

                /quotatest/quotauser 하위에 임의의 디렉토리를 생성해 파일을 복사합니다.

 

                quotauser 로 전환 후 진행합니다.

 

                # su – quotauser

# mkdir quotadir{1…5}

                # cp 파일전체경로 quotadir1 ~ quotadir5

                사용량이 30MB 초과하였을 때
                “sdf: warning, user block quota exceeded.” 라는 경고 메시지가 출력되지만 복사는 완료됩니다.

                사용량이 50MB 초과하였을 때
                “Sdf: write failed, user block limit reached.” 라는 fail 메시지가 출력되고 정상적인 복사에 실패합니다.

 

 

1.1.8. quota 설정 확인, 유예기간 변경

quota 명령어로 현재 사용자의 quota 설정을 확인합니다. 여기서 grace 는 유예 기간을 뜻합니다. 유예 기간 중 soft limit 이상으로 파일을 저장할 수 있지만, 유예 기간이 만료되면 hard limit 처럼 동작합니다.

# quota

 

# repquota /quotatest (root 에서만 사용 가능)

 

유예기간 변경(root 에서만 사용 가능)

7일에서 10일로 변경

# edquota -t

 

1.1.9. 다른 사용자에게 기준 사용자 quota 설정 적용

기준이 되는 사용자의 quota 설정을 다른 사용자에게 그대로 적용시킬 수 있습니다. Root 계정으로 진행합니다.

quotauser 사용자의 quota 설정을 quotauser2 사용자에게 적용합니다.

 

# edquota -p quotauser quotauser2

# repquota /quotatest

 

1.1.10. quota 종료

적용한 쿼터를 종료하려면 quotaoff 명령어를 사용합니다.

# quotaoff /quotatest

 

1.2.  XFS 파일 시스템

1.2.1. 새로운 디스크 추가(/dev/sdf), 파일시스템 포맷(xfs)

이 전 ext4 파일시스템으로 포맷했기 때문에 -f 옵션을 넣어 강제적으로 xfs 파일시스템으로 포맷 후 진행합니다.

# mkfs.xfs /dev/sdf -f

 

1.2.2. /etc/fstab 등록

/etc/fstab 에 quota 관련 내용을 등록합니다.

※마운트할 디렉토리(/quotatest)는 그대로 사용하고 quota를 적용할 사용자(quotauser, quotauser2)는 삭제 후 같은 방법으로 다시 생성해 줍니다. 홈 디렉토리 지정을 위해 /dev/sdf 를 /quotatest 에 마운트한 후 사용자를 생성합니다. 마운트된 상태로 아래를 진행합니다.

 

# vi /etc/fstab

/etc/fstab 에 등록한 내용으로 /quotatest 를 재마운트합니다.

# mount -o remount /quotatest ( 또는 reboot)

# systemctl daemon-reload

# mount | grep quotatest

 

1.2.3. 사용자 할당량 편집

 

※ xfs 파일시스템에 경우 quota DB 생성을 생략합니다.

 

사용자가 어느 정도 사용량을 초과하면 경고 또는 사용을 제한할 것인지, 또는 어느 정도 inode 갯수를 초과하면 경고 또는 사용을 제한할 것인지 설정합니다. (ext4 와 동일합니다.)

 

임의로 quotauser, quotauser2 사용자에 대해 30MB 를 초과하면 경고, 50MB 를 초과하면 사용 불가로 설정합니다.

 

 

                Xfs 파일시스템에서는 2가지 방법으로 설명합니다. 적용 후 확인까지 진행합니다.

1) 명령어 형태로 편집

# xfs_quota -x -c ‘limit bsoft=30M bhard=50M quotauser’ /quotatest

# repquota /quotatest

 

2) 편집 인터페이스 진입 후 편집

# xfs_quota -x /quotatest

xfs_quota> limit bsoft=30M bhard=50M quotauser2

xfs_quota> quit

# repquota /quotatest

quota

 

  1. 의견

불필요하게 특정 사용자가 볼륨을 많이 사용하는 것을 방지하여 리소스 사용을 더욱 효율적이고 안정적으로 할 수 있는 기술입니다.
많은 사용자가 있는 조직에 특정 공유 볼륨을 사용하는 경우, 그룹으로 quota 를 설정해 각 그룹이 정해진 사용량만을 사용하게끔 할 수도 있어 활용하기 좋습니다.

 

 

자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의:  info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr

 

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다