본문 바로가기

Software

xfs quota 설정

728x90

 

 

xfs 파일 시스템에서 QUOTA를 사용하기 위해서는 다음과 같이 작업합니다.


xfs quota의 경우 사용자 그룹에 용량제한을 하는 usrquota, grpquota가 있으며

특정 폴더에 대해 용량제한을 할 수 있는 pquota (project quota)가 있습니다


사용자, 그룹 quota 적용시에는 파티션에 대하여 아래와 같이 usrquota와 grpquota 옵션을 추가하여 마운트 합니다.

#>mount -o usrquota,grpquota /dev/sdx1 /mnt/disk1

폴더에 대해 quota 적용시에는 아래와 같이 옵션을 주고 마운트 합니다.

#>mount -o pquota /dev/sdx1 /mnt/disk1


현재 quota 할당 상태는 다은 커맨드를 사용합니다.

#>xfs_quota -x -c 'report -h' /mnt/disk1

User quota on /mnt/disk1 (/dev/sdx1)
                        Blocks             
User ID      Used   Soft   Hard Warn/Grace  
---------- ---------------------------------
root         3.5G      0      0  00 [------]
admin        3.5G      0      0  00 [------]
TimeMachine      0      0      0  00 [------]
mysql        1.2G      0      0  00 [------]
user       204.9M      0      0  00 [------]

Group quota on /mnt/disk1 (/dev/sdx1)
                        Blocks             
Group ID     Used   Soft   Hard Warn/Grace  
---------- ---------------------------------
root         3.5G      0      0  00 [------]
wheel        788K      0      0  00 [------]
users      193.6M      0      0  00 [------]
mysql        1.2G      0      0  00 [------]


quota 할당이 현재는 안되어 있는 상태로 제한되는 soft Hard의 값이 0으로 되어 있는데 이는 무한대를 뜻한다.


사용자 그룹별로 quota를 할당하기 위해서는 다음 커맨드를 사용 (예제에서는 미리 생성한 유저인 user에 quota 할당)

#>xfs_quota -x -c 'limit -u bsoft=500m bhard=550m isoft=500 ihard=550 user' /mnt/disk1

bsoft / bhard : block limit

isoft / ihard : inode count limit

※만약 -u 대신 -g 를 넣고 user 대신 생성한 그룹명을 입력하면 그룹에 대한 quota 적용도 동일하게 가능합니다


사용자 quota 할당후 정보 확인

User quota on /mnt/disk1 (/dev/sdx2)
                        Blocks             
User ID      Used   Soft   Hard Warn/Grace  
---------- ---------------------------------
root         3.5G      0      0  00 [------]
admin        3.5G      0      0  00 [------]
TimeMachine      0      0      0  00 [------]
mysql        1.2G      0      0  00 [------]
user       204.9M   500M   550M  00 [------]

Group quota on /mnt/disk1 (/dev/sdx1)
                        Blocks             
Group ID     Used   Soft   Hard Warn/Grace  
---------- ---------------------------------
root         3.5G      0      0  00 [------]
wheel        788K      0      0  00 [------]
users      193.6M      0      0  00 [------]
mysql        1.2G      0      0  00 [------]


위와 같이 설정되면 이제부터 user계정이 /mnt/disk1 의 파일시스템에 생성하는 총 파일 사이즈의 용량이 제한됩니다


특정 폴더에 quota를 주기 위해서는 아래와 같이 진행합니다.

마운트된 파티션에 폴더 생성 : #>mkdir /mnt/disk1/folder

지정된 디렉토리에 대한 넘버지정하여 설정파일 생성 : #>echo 10:/mnt/disk1/folder >> /etc/projects

지정된 넘버에 해당하는 ID 지정하여 설정파일 생성 : #>echo folder:10 >> /etc/projid

위에서 설정한 설정내용 적용 : #>xfs_quota -x -c 'project -s folder' /mnt/disk1

ID에 대해 제한용량 할당 : #>xfs_quota -x -c 'limit -p bsoft=300m bhard=350m 10' /mnt/disk1

 

728x90