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
'LINUX' 카테고리의 다른 글
/etc/fstab 작성 잘못으로 부팅이 안될때 (0) | 2016.12.30 |
---|---|
리눅스 디스크 추가 후 마운트 하기 (0) | 2016.12.29 |
CentOS 7.x LSYNCD 서버 파일 동기화 시키기 (0) | 2016.12.23 |
SSH KEY 원격지서버에 복사하기 (0) | 2016.12.23 |
쉘스크립트로 FTP 사용방법 (0) | 2016.12.21 |