###################################
Author Honway.liu
Date: 2012-02-29
###################################
################################################
什么是磁盘配额
LINUX
磁盘配额配置
################################################
一
,
什么是磁盘配额
磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。设置磁盘配额后,可以对每一个用户的磁盘使用情况进行跟踪和控制,通过监测可以标识出超过配额报警阈值和配额限制的用户,从而采取相应的措施。磁盘配额管理功能的提供,使得管理员可以方便合理地为用户分配存储资源,可以限制指定账户能够使用的磁盘空间
,
这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行避免由于磁盘空间使用的失控可能造成的系统崩溃,提高了系统的安全性。
其实简单的来说
,
就是通过对用户所能使用的磁盘空间和所能创建的文件个数
,
进行限制
,
磁盘配额只能对文件系统
(
磁盘分区
)
来做
,
而不能对目录做
,
以下所说的文件系统
,
都是一个独立的磁盘分区
.
二
,LINUX
磁盘配额
首先我们要检测一下
,
看内核是不是支持磁盘配额
,
使用以下命令
[root@Honway scripts]# grep CONFIG_QUOTA /boot/config-2.6.18-164.el5
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
如果是
y,
表示内核支持
,
否则的话
,
要编译内核
,
添加支持磁盘配额的模块才行
.
如果上面的支持
,
那我们就可以真正的开始配置磁盘配额了
1,
为要启用磁盘配额的文件系统设定挂载选项
:
首先
,
要对哪个文件系统
(
分区来做
),
然后设定其挂载选项
,
如果已经挂载了
,
需要使用重新挂载一下
,
比如我们要对
/home
来做
(/home
是一个独立的磁盘分区
)
# mount -o remount,usrquota,grpquota /home
如果要对一个新建的磁盘分区来做
,
那我们使用如下方法
在
linux
中
,
一个磁盘分区想要使用
,
必需要挂载
,
才能使用
,
这是常识
,
我不多解释
.
挂载的时候
,
使用选项
usrquota
和
grpquota
来开启磁盘分区对配额的支持
.
然后可以使用
mount
命令查看
,
看到最后一行后面的选项里面
(rw,usrquota,grpquota)
当然
,
我们可以把这个写到
/etc/fstab
文件里面
,
让系统开机后
,
自动挂载
2,
创建或更新配额数据库
:
# quotacheck -cmug /filesystem
-c
创建
,
不读取现有的数据库
-m
一定不要将现有的文件系统挂载为只读
-u
检测用户配额数据库
-g
检测组配额数据库
完成后
,
我们可以看到
,
在里面生成了两个文件
slackware
是我自己创建的
,
方便以后做验证
.
3,
启用对应文件系统上磁盘配额的功能
# quotaon /home
启用
/home
上的磁盘配额
# quotaoff /home
关闭
/home
上的磁盘配额
# quotaon -a
启用所有文件系统上的磁盘配额
# quotaoff -a
关闭所有文件系统上的磁盘配额
4,
设定用户配额或组配额
# edquota
打开交互式的编译磁盘配额文件
# eduota [-u] redhat
# edquota -g redhat
# edquota -p redhat centos
将
redhat
的磁盘配额复制给
centos
# edquota -t
设定宽限期限
例
:
键入命令
[root@Honway ~]# edquota slackware
打开了一个
VI
编译器
,
来对用户的配额进行编辑
,
以下是对各字段的解释
Filesystem:
在哪个文件系统
(
分区
)
上有磁盘配额限制
blocks:
已经使用的块大小
,
单位为
K
soft:
空间大小的软限制
(
可以超出
)
hard:
空间使用大小的硬限制
(
绝对不能超出
)
inodes:
当前用户拥有文件个数
soft:
文件个数的软限制
(
可以超出
)
hard:
文件个数的硬限制
(
不可以被超出
)
比如我们改成如下的
写完之后
,wq
保存退出
.
然后使用用户
slackware
来进行验证
用户可以直接使用
quota
命令
,
来查看自己的磁盘配额限制
,
刚做好的时候
,
可能查看不到
,
我虚拟机里试验的时候是这样的
,
刚开始以为是没做好
,
每一步都进行了检查
,
感觉真的没错误了
,
但是还是不行
.root
用户使用
repquota /mydata
来查看
,
也是看不到
,
搞了一下午
,
头大死了
,
最后不管了
,
确定自己没错
,
直管验证
,
不管死活
,
呵呵
,
看到上面的结果
,
说明还是
OK,
的可能是虚拟机的问题或者是磁盘没有同步上
.
以下是用户查看到的自己的磁盘配额
各字段的详细解释
Filesystem:
在哪个文件系统
(
分区
)
上有磁盘配额限制
blocks:
已经使用的块大小
,
单位为
K
quota:
空间大小的软限制
(
可以超出
)
limit:
空间使用大小的硬限制
(
绝对不能超出
)
grace:
超出软限制之后
,
为用户保留多长时间
,
如果在设定的时间内用户还没有把超出的空间让出来
,
则删除文件
files:
当前用户拥有文件个数
quota:
文件个数的软限制
(
可以超出
)
limit:
文件个数的硬限制
(
不可以被超出
)
grace:
宽限时间
,
同空间大小限制的宽限时间