CentOS 7.x quota 유틸로 계정별 디스크용량 할당하기



우선 quota 를 설치합니다.


# yum install quota



▶ 파티션 설정 ( vi /etc/fstab 에서 할당하고자 하는 파티션을 설정합니다. )


UUID=939dd5c4-7e89-4f4a-aab6-098e3acaac30 /home ext4 defaults,usrquota 1 1


usrquota 옵션을 추가해주면 됩니다.

유저디렉토리 /home 파티션에 설정하면 됩니다.

6.x 버전에서는 / 루트 파티션에서도 쿼타설정이 가능하였는데 7.x 버전에서는 안되는 것 같습니다.



저장한 다음에 재부팅을 하거나 수동으로 mount 를 합니다.


▶ 파티션 마운트 ( /etc/fstab 에 정의가 되었다면 mount -a 로 마운트 가능 )


[root@conoha-jp ~]# mount -t ext4 /dev/vdb1 /home

[root@conoha-jp ~]# mount | grep quota

/dev/vdb1 on /home type ext4 (rw,relatime,quota,usrquota,data=ordered)


정상적으로 마운트가 되었는지 확인합니다.


이제 /home 디렉토리를 quota 설정을 합니다.


▶ aquota.user 생성


[root@conoha-jp ~]# quotacheck -cvug /home

quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.

quotacheck: Scanning /dev/vdb1 [/home] done

quotacheck: Old group file name could not been determined. Usage will not be subtracted.

quotacheck: Checked 2 directories and 1 files

[root@conoha-jp ~]# ls -l /home

total 24

-rw------- 1 root root  6144 Dec 29 11:47 aquota.user

drwx------ 2 root root 16384 Dec 29 11:30 lost+found


aquota.user 가 생성된 것을 확인합니다.



▶ 용량 제한 시작 ( 재부팅 되더라도 적용됨 )


[root@conoha-jp ~]# quotaon /home



▶ 계정별 용량 설정 방법 ( edquota -u user1 )


Disk quotas for user user1 (uid 1000):

  Filesystem                   blocks       soft       hard     inodes     soft     hard

  /dev/vdb1                        16     102400     102400          4        0        0


설정단위는 KBytes 입니다.

위의 예제는 100MB 를 설정하였습니다.



▶ 계정 용량 확인 방법


[root@conoha-jp ~]# repquota -a

repquota: Cannot stat() given mountpoint user1: No such file or directory

Skipping...

repquota: No correct mountpoint specified.

repquota: Cannot initialize mountpoint scan.

[root@conoha-jp ~]# repquota -a

*** Report for user quotas on device /dev/vdb1

Block grace time: 7days; Inode grace time: 7days

                        Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      20       0       0              2     0     0

user1     --      16  102400  102400              4     0     0



▶ 용량 설정 복사 방법


[root@conoha-jp ~]# useradd user2

[root@conoha-jp ~]# edquota -p user1 user2

[root@conoha-jp ~]# repquota -a

*** Report for user quotas on device /dev/vdb1

Block grace time: 7days; Inode grace time: 7days

                        Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      20       0       0              2     0     0

user1     --      16  102400  102400              4     0     0

user2     --      16  102400  102400              4     0     0



용량 제한이 되는지 확인을 해보겠습니다.


[root@conoha-jp ~]# su user1

[user1@conoha-jp root]$ cd

[user1@conoha-jp ~]$ rm -rf *

[user1@conoha-jp ~]$ dd if=/dev/zero of=/home/user1/tmp1.bin bs=100M count=1

vdb1: write failed, user block limit reached.

dd: error writing ‘/home/user1/tmp1.bin’: Disk quota exceeded

1+0 records in

0+0 records out

104820736 bytes (105 MB) copied, 0.232518 s, 451 MB/s

[user1@conoha-jp ~]$ dd if=/dev/zero of=/home/user1/tmp2.bin bs=100M count=1

dd: error writing ‘/home/user1/tmp2.bin’: Disk quota exceeded

1+0 records in

0+0 records out

0 bytes (0 B) copied, 0.0481577 s, 0.0 kB/s


100MB 파일을 생성해보니 두번째 부터는 에러가 발생합니다.


용량제한이 되고 있다는 의미입니다.



▶ 용량 제한 종료 ( 재부팅되면 자동으로 quotaon 이 적용됨 )


[root@conoha-jp ~]# quotaoff /home



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,