斑竹网络专注为中小企业客户提供以管理服务为核心的IT全方位服务 https://www.sysadm.cn
分类: LINUX
2013-12-26 13:24:14
redhat 下quota的配置
(整理时间:2007-08-09)
一、quota相关的基本命令
1、quota 命令
[root@linux~]# quota [-uvsl] [username]
[root@linux~]# quota [-gvsl] [groupname]
参数:
-u :后面可以接username,表示显示出该使用者的quota限制值。若不接username,表示显示出执行者的quota限制值。
-g :后面可接groupname,表示显示出该群组的quota限制值。
-v :显示每个filesystem的quota值;
-s :可选择以inode或磁盘容量的限制值来显示;
-l :仅显示出目前本机上面的filesystem的quota值。
2、quotacheck命令
quotacheck [-avug] [/mount_point]
参数:
-a :扫瞄所有在/etc/mtab内,含有quota支持的filesystem,加上此参数后,/mount_point可不必写,因为扫描所有的filesystem了嘛!
-u :针对使用者扫描文件与目录的使用情况,会建立aquota.user
-g :针对群组扫描文件与目录的使用情况,会建立aquota.group
-v :显示扫描过程的信息;
-M :『强制』进行quotacheck的扫描。
3、edquota命令
edquota [-u username] [-g groupname]
[root@linux ~]# edquota -t <==修改宽限时间
[root@linux ~]# edquota -p username_demo -u username
参数:
-u :后面接账号名称。可以进入quota的编辑画面(vi)去设定username的限制值;
-g :后面接群组名称。可以进入 quota 的编辑画面(vi)去设定groupname的限制值;
-t :可以修改宽限时间(就是超过quota的soft limit值后,还能使用硬盘的宽限期限)
-p :复制范本。那个username_demo为已经存在并且已设定好quota的使用者,
意义为『将username_demo这个人的quota限制值复制给username』!
4、quotaon命令
root@linux ~]# quotaon [-avug]
[root@linux ~]# quotaon [-vug] [/mount_point]
参数:
-u :针对用户启动quota(aquota.user)
-g :针对群组启动 quota(aquota.group)
-v :显示启动过程的相关讯息;
-a :根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,
则后面就需要加上特定的那个filesystem!
5、quotaoff命令
[root@linux ~]# quotaoff [-a]
[root@linux ~]# quotaoff [-ug] [/mount_point]
参数:
-a :全部的filesystem的quota都关闭(根据/etc/mtab)
-u :仅针对后面接的那个/mount_point关闭user quota
-g :仅针对后面接的那个/mount_point关闭group quota
注意点:
1、Linux也特别强调quota在使用的时候,需要特别注意在reboot时,得先将quota
关闭才好;
2、由于新版的Linux distribution在quota的设计上似乎有点小问题,有时候无法完整的进行quotacheck,这时候可以先手动建立aquota.user 和aquota.group文件,可以直接用touch命令 这两个文件即可,然后再执行quotacheck命令。
二、准备工作
1、检查系统是否支持quota配置
配置quota需要kernel 支持,通过这样可以检查quota
# grep CONFIG_QUOTA /boot/config-xxxxxx
例如:
grep CONFIG_QUOTA /boot/config-2.6.9-5.EL
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
如果看到类似红色的内容,说明系统支持quota
2、修改/etc/fstab文件,告诉linux哪个分区需要开启quota
这里以对/usr/local这个分区开启quota为例
修改etc/fstab文件内容:
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot1 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=/tmp /tmp ext3 defaults 1 2
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/usr/local /usr/local ext3 defaults,usrquota,grpquota 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda10 swap swap defaults 0 0
/dev/sda11 /cvsroot ext3 defaults 1 2
/dev/hda /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
注意:红色部分就是要添加内容
3、重启系统或使用下更命令重新挂载分区
# mount -o remount /usr/local
检查quota是否已经启用
/dev/sda5 / ext3 rw 0 0
none /proc proc rw 0 0
none /sys sysfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/sda1 /boot ext3 rw 0 0
none /dev/shm tmpfs rw 0 0
/dev/sda9 /home ext3 rw 0 0
/dev/sda2 /opt ext3 rw 0 0
/dev/sda8 /tmp ext3 rw 0 0
/dev/sda7 /usr ext3 rw 0 0
/dev/sda3 /usr/local ext3 rw,usrquota,grpquota 0 0
/dev/sda6 /var ext3 rw 0 0
/dev/sda11 /cvsroot ext3 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
注意:看到红色部分说明这个分区已经启用了quota功能
三、用户quota的配置
1、创建aquota.user aquota.group(可以把它当作quota数据库,它是二进制文件,所以不要去cat 它)
# quotacheck -cugm /usr/local
# quotacheck –avugm
quotacheck: Scanning /dev/sda3 [/usr/local] done
quotacheck: Checked 7570 directories and 66405 files
2、设置用户的sysadm的quota值,这里设置sysadm用户可以使用/usr/local/下10K空间
# edquota -u sysadm
Disk quotas for user sysadm (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 0 0 0 0 0 0
注意:
1、上述七个字段含义是:
Blocks:表示该用户已经占的磁盘的块数据,这个数据是用户自动读出来``
的
Soft :限制用户配额的数据,这个数据是一个软限制。即当用户在磁
盘使用上达到了这个限制时还是可以继续使用磁盘,并且还可以继续向磁盘里东西的,只是系统会给用户警告,且用户需要在系统设置的时限内将磁盘空间整理到soft限制以内,否则用户就不能再向磁盘里写东西了。
Hard: 限制用户使用磁盘的硬情限制,即达到这人限制以后,用户就再也
不能向这个限制的分区写东西了。
2、上述的soft和hard 大小的单位是kb,要换成M要除1024;
3、设置用户的宽限时间间隔
# edquota –t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/vg00/lv_local 7days 7days
可以修改后保存即可。
4、启动quota
# quotaon –a
测试结果
参考文档: