Skip to content

jjunes.com

조회 수 3789 추천 수 0 댓글 0
1.. quota 프로그램 설치하기

리눅스CD에 보면 quota에 관한 rpm이 있으며 이를 설치하는 방법을 간단히 설명하겠음.
[root@superuser .log]# rpm -Uvh quota-version.i386.rpm

 

2. quota 프로그램 업그레이드하기

quota 프로그램을 업그레이드 하기위해서는 기존에 설치된 quota프로그램을 삭제하고 새로 설치해주면 된다.

quota 프로그램 삭제
[root@superuser .log]# rpm -e quota-version.i386.rpm

quota 프로그램 재설치
[root@superuser .log]# rpm -Uvh quota-version.i386.rpm
물론, Uvh옵션은 기존에 설치된 package가 있을 경우에 upgrade를 해주는 옵션이지만, 필자는 기존의 프로그램을 새로운 버전으로 업그레이드를 할 때에는 반드시 기존의 package를 삭제하고 재설치하는 습관이 있음.

 

3. /etc/fstab에 quota설정을 위한 파일시스템 모드수정

먼저, 디스크quota를 설치할 파티션을 선택해야한다.
가장 많이 설치되는 곳은 계정사용자들의 홈디렉토리나 웹으로 사용되는 디렉토리, 즉 home 파티션을 예로 들기로 하자.
[root@superuser .log]# vi /etc/fstab

/dev/sda3 / ext2 defaults 1 1
/dev/sda1 /boot ext2 defaults 1 2
/dev/sda6 /home ext2 defaults,usrquota 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/sda5 /var ext2 defaults 1 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/sda2 swap swap defaults 0 0

위의 예는 사용자의 데이터가 저장되는 /home 파티션을 예로든 것이다.
즉, quota를 인식하는 파일시스템(파티션)으로 수정하기 위해 usrquota 라는 옵션을 준 것이다.
참고로, 그룹에 quota를 주기위해서는 usrquota가 아니라 grpquota를 설정해주면 된다.

 

4. 시스템부팅(리스타트)시 quota체크및 quota구동시키기

다음은 부팅시 실행할 스크립트인 /etc/rc.d/rc.local 스크립트에 다음과 같은 설정을 해야한다.
아래의 설정은 시스템이 부팅하면서 quota가 설정된 파티션(파일시스템)을 자동으로 인식하고 quota를 가동시킨 것이다.
즉, quota 체크프로그램인 quotacheck를 실행시킨 것이며 quota가동 프로그림인 quotaon을 가동시키는 스크립트이다.

# quota를 체크한후에 quota를 구동합니다.
if [ -x /sbin/quotacheck ]; then
echo "Checking quotas. This may take some time..."
/sbin/quotacheck -avugm
echo " Done."
fi
if [ -x /sbin/quotaon ]; then
echo "Enabling disk quota .."
/sbin/quotaon -avug
echo " Done."
fi
리붓한다.

 

5. quota를 위한 quota파일생성하기

이제 남은 것은 quota파일을 만들어주는 것이다.
quota파일은 사용자별로 만들 수도 있고 그룹별로 만들 수도 있다.
home 파티션을 예로 들었으므로 home 파티션의 디렉토리 /home으로 가서 quota.user 이란 파일을 만들어주면 된다.
참고로, 아래에 chmod로 파일(quota.user)파일의 퍼미션을 640으로 준 것은 root외에 누구도 이 파일에 대한 수정을 할 수 없도록 하기위한 것이다.

[root@superuser ] cd /home
[root@superuser /home]# touch quota.user
[root@superuser /home]# chmod 640 quota.user <-quota파일보안을 위한 퍼미션설정

 

6. quota 체크및 구동을 수작업으로 한다.

아래의 예는 앞에서 설정한 /etc/rc.d/rc.local파일에서 설정한 것을 수작업으로 해준 예를 간단히 보인 것이다.
만약, /etc/rc.d/rc.local파일에 위와 같은 설정을 하지 않았다면 시스템을 부팅시킨후에 아래와 같은 작업을 매번 해야한다.


quota 사용하기
[root@superuser /] convertquota -u home

quota 체크하기
[root@superuser /root]# cd /sbin
[root@superuser /sbin]# quotacheck -avugm
Scanning /dev/sda6 [/home] done
Checked 1156 directories and 9827 files
Using quotafile /home/quota.user

quota 가동하기
[root@superuser /sbin]#
[root@superuser /sbin]# quotaon -avug
/dev/sda6: user quotas turned on

 

7. 사용자에게 quota설정을 한다.

이제 quota시스템이 모두 설정되었으므로 quota설정을 계정사용자에게 할 수 있다.
즉, edquota라는 명령어를 아래와 같이 사용하여 개별사용자(예, hanlim)에게 quota를 설정해주면 된다.

[root@superuser /sbin]# edquota -u hanlim

Quotas for user hanlim:
/dev/sda6: blocks in use: 20, limits (soft = 2048, hard = 4096)
inodes in use: 1887, limits (soft = 100, hard = 200)
~
~
"/tmp/EdP.aDI2bkQ" 3 lines, 139 characters written

 

위의 예는 soft란 것과 hard라는 설정이 있는데 이는 다음과 같다. (단위는 kbyte이다.)
soft limit이라는 것은 현재 이 사용자가 해당 파일시스템(파티션)에서 가질 수 있는 전체 디스크용량(단위 Kbyte)과 파일 수를 의미한다.
soft limit은 사용자가 이 수치를 넘었을 때에 시스템에서 자동으로 용량을 초과했다는 경고메시지를 뿌려주게된다.
hard limit은 현재 이 사용자에게 설정된 용량(단위 Kbyte)과 파일수를 절대 초과할수 없는 절대치를 설정한 것입니다.
참고로 hard limit을 초과하였을때에 기존에 있는 파일에 덮어쓰기를 하게되면
기존의 파일은 0byte가 되어 버리므로 주의해야한다.

다음은 edquota시에 나오는 각각의 필드들에 대한 설명이다.

/dev/sda6 <- 파일시스템 경로명
blocks in use: 23680 <- 현재사용 디스크량(Kbyte)
soft = 0 soft limit(block) <- 초과하지 못하는 최대 디스크용량
hard = 500000 hard limit(block) <- 초과하지 못하는 최대 디스크용량의 절대치(500MB)
inodes in use: 1887 <- 현재 inode 사용량
soft = 0 soft limit(inode) <- 초과하지 못하는 최대 파일(디렉토리)수
hard = 0 hard limit(inode) <- 초과하지 못하는 파일(디렉토리)의 절대치

 

8. quota 설정확인

[root@superuser /sbin]# quota -v hanlim
Disk quotas for user hanlim (uid 527):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 23680 0 50000 1887 0 0

 

9. 참고 : 그룹별로 quota를 설정하려면

/etc/fstab에 usrquota다음에 다음과 같이 grpquota를 추가한다.
/dev/sda6 /home ext2 defaults,usrquota,grpquota 1 2

그리고 원하는 파티션에 touch quota.group를 만들고 퍼미션(보안을위해)까지 수정해준다.

cd /home
touch quota.group
chmod 640 quota.group

qroup에 quota를 설정하는 방법은 다음과 같이 한다.
edquota -g group이름

 

10. 시스템에 quota가 설정된 파티션에 대한 전체적인 quota보고서 출력명령어

이 명령어는 /etc/fstab에 usrquota나 grpquota옵션이 설정된 파일시스템에 한해서 quota보고서를 출력해준다.

[root@superuser log]# repquota -a -v

*** Report for user quotas on /dev/sda6 (/home)

Block limits File limits

User used soft hard grace used soft hard grace

root -- 26436 0 0 2042 0 0

nobody -- 7376 0 0 71 0 0

sspark -- 2324932 0 0 94 0 0

webmaster -- 212 0 0 53 0 0

six -- 220 0 0 55 0 0

sajik -- 4072 0 0 825 0 0

super -- 39336 0 0 3893 0 0

picasso -- 236 0 0 58 0 0

adm115 -- 236 0 0 58 0 0

hyung -- 232 0 0 57 0 0

manual -- 232 0 0 57 0 0

soho -- 236 0 0 58 0 0

owner -- 240 0 0 59 0 0

nice -- 5820 0 0 987 0 0

namnari -- 232 0 0 57 0 0

namnarip -- 228 0 0 56 0 0

haein -- 232 0 0 57 0 0

power -- 232 0 0 57 0 0

imt2000 -- 1184 0 0 139 0 0

saebin -- 232 0 0 57 0 0

manual2 -- 232 0 0 57 0 0

webadmin -- 9256 0 0 85 0 0

manager -- 212 0 0 53 0 0

myid -- 240 0 0 58 0 0

hanlim -- 23680 0 50000 1887 0 0

webhost -- 208 0 0 52 0 0

 

11. quota설정 중지명령어

quota를 중지하려면 다음과 같이 quotaoff라는 명령으로 간단히 중지할 수 있다.
quotaoff 


List of Articles
번호 제목 글쓴이 날짜 조회 수
29 트래픽 제한(접속당) 모듈 (mod_bandwidth) 설치 및 운영 file 빛의바다 2011.05.27 4292
28 트래픽 제한 모듈 (mod_throttle) 설치 및 운영 file 빛의바다 2011.05.27 4380
27 제로보드4 설치시 경고창 없애기 빛의바다 2011.03.03 3604
26 아파치 웹서버 장애시 대처법 file 빛의바다 2011.05.27 4085
25 아파치 웹서버 보안 관리 file 빛의바다 2011.05.27 4370
24 아파치 설정팁들 file 빛의바다 2011.05.27 4291
23 아파치 및 PHP 버전 표시하지 않기 빛의바다 2011.02.28 3699
22 [MySQL] 데이터를 자기의 홈에 쌓이게 하는 방법 빛의바다 2011.05.27 5277
21 [MySQL] SQL서버 응응프로그램의 속도향상 빛의바다 2011.05.27 4735
20 [MySQL] Query Cache 빛의바다 2011.05.27 4465
19 [MySQL] mysql 다중 서버 관리 빛의바다 2011.05.27 5044
18 [MySQL] High Performance MySQL Chapter 6: Server Performance Tuning 정리 빛의바다 2011.05.27 4513
17 squid로 프록시 서버 구축 file 빛의바다 2011.03.03 4668
16 Redhat9에 yum 설치하기 빛의바다 2011.05.27 4602
15 RedHat 9 설치후 기본 셋팅 file 빛의바다 2011.05.27 4172
14 Raid 구성의 요약 빛의바다 2011.05.27 4380
» Quota를 이용해 용량 제한하기 빛의바다 2011.02.28 3789
12 Ping 명령어에 응답하지 않게 하기 빛의바다 2011.03.03 3774
11 PHP로 첨부 할 수 있는 용량늘리기 빛의바다 2011.03.01 3879
10 PHP 가속기 Zend Optimizer, Turck MMCache for PHP, eAccelerator 빛의바다 2011.05.27 4421
Board Pagination Prev 1 2 Next
/ 2

JJUNES.COM

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소