linux磁盘限额管理
1.磁盘限额的相关知识
(1)打开磁盘限额的基本条件。
要使用磁盘限额,必须注意以下几点。
•
针对分区。 磁盘限额不能针对某个分区下的具体目录,它必须是针对某个分区进行的。
•
核心的支持。linux系统核心必须内置了磁盘限额支持,才能使用磁盘限额支持,才能使用磁盘限额。如Red
Hat Enterprise Linux 5,其系统核心默认支持磁盘限额。
•
root无效。 root帐号拥有整个系统的数据,磁盘限额对其无效。
•
分区格式。 并不是所有分区格式都支持磁盘限额,比如FAT16或者FAT32就不支持。应当保证磁盘限额的分区是linux ext2或者是linux
ext3格式。
(2)磁盘限额的基本概念。
在使用磁盘限额之前应当掌握以下基本概念。
•
硬限制 (hard
limit):不允许用户或者用户组超出磁盘使用限额。通常,硬限制的值设置的稍大,这样用户或者用户组删除引起配额限制目录超出其软限额的文件前,就有足够多的缓冲空间来保存文件。
•软限制 ( soft
limit):在日常运用中,用户或者用户组应当被限制的磁盘限额。用户可暂时超出软限制,但是用户目录在一定时间内,没有遵循限额标准,系统会禁止该用户账号。
•
宽限时间(grace
period):决定用户超出软限制多长时间会被禁用账号。可以根据实际情况设置宽限时间。
2.磁盘限额相关指令。
01. edquota。
磁盘限额最常用的配置程序是edquota,在编辑器vi中编写相应指令完成操作。
edquota语法格式: edquota[-p
protoname][-ug][-t]
edquota参数说明:
-u:默认参数,设置用户磁盘限额。
-g: 设置群组磁盘限额。
-p:套用指定用户或者群组的磁盘限额配置。
-t:设置宽限期限。
例:edquota -u woniu
回车后会调用vi编辑,如下:
Disk quotas for user oracle1 (uid 2002):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/vg00-lv01 20 0 0 6 0 0
说 明:
Filessystem:表示当前启用磁盘限额的文件系统名称;
blocks: 表示当前用户已使用块数量大小;
soft: 表示软限制(非强制性限制)磁盘空间大小,单位为KBytes;
hard: 表示硬限制(强制性限制)磁盘空间大小,单位为KBytes;
inodes: 表示当前用户已使用文件个数;
soft: 表示软限制(非强制性限制)文件个数;
hard: 表示硬限制(强制性限制)文件个数。
“0”: 表示没有不限制,把想要设置的数值填入对应项保存退出。
02.setquota。
setquota用于通过命令行对用户或者群组的磁盘限额进行配置。
setquota语法格式:setquota [-u\-g]
filesystem-name block-time-limit\inode-time-limit
setquota参数说明:
-u:默认参数,设置用户磁盘限额。
-g:设置群组磁盘限额。
-p:套用指定用户或者群组的磁盘限额配置。
-t:设置宽限期限
03.quota。
quota 用于查询磁盘空间的限制和已经使用的空间。
quota
语法格式:quota[-quvV][GroupName..]
quota 参数说明:
-g:查看群组的磁盘空间限制。
-q:以简明列表的方式显示超出限制的部分。
-u:显示用户的磁盘空间限制。
-v:显示在所有家在系统的存储设备中的用户或群组的空间限制。
-V:显示版本信息。
04.quotacheck。
quotacheck
设置用户和群组的额磁盘空间限制,扫描所有加载系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件。
quotacheck 语法格式:quotacheck
[-adgRuv][filesystem...]
quotacheck 参数说明:
-a:扫描/etc/mtab文件里加入了quota设置的分区。
-d:详细显示指令执行过程。
-g:在扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R:排除根目录所在的分区。
-u:在扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
-v:显示指令执行过程。
05.quotaon。
quotaon报告磁盘空间配额的状况,显示每个用户或每个群组已使用空间大小。
quotaon 语法格式:quotaon
-avug[fielsystem]
quotaon 参数说明。
-V:显示详细信息。
-a:打开etc/mtab文件里加入了quota设置的分区磁盘限额。
-u:启用用户磁盘限额。
-g:启用群组磁盘限额。
实例:对/home目录进行磁盘限额。
第一步:执行以下指令打开磁盘限额功能。
[root@loclhost~]#quotaon -avug
打开/etc/fstab中所有已定义了磁盘限额的分区的磁盘限额。
第二步:重新加载/home目录。
[root@loclhost~]#mount
-o remount,usrquota,grpquota /home
注:这种加载方法只对本次启动有效。如果想要系统启动重启后,加载依然有效,可以在/etc/fastab中直接修改(在原来的default选项后面添加“,usrquota,grpquota”)
第三步:检查/home磁盘限额设置,与记录在文件系统磁盘限额文件中的信息进行对比,如果检测到不一致,则执行以下指令更新配额文件。
[root@loclhost~]#quotacheck
-cumg /home
第四步:使用setquota或edquota指令进行磁盘限额配置。
[root@loclhost~]#setquota
newuser 2000000 4000000 1000 200 /home
参数说明:•newuser:用户名。
•200000:空间大小的软限制,以block为单位(1block=1024字节)。
•400000:空间大小的硬限制,以block为单位(1block=1024字节)。
•1000 :文件数量的软限制。
•2000 :文件数量的硬限制。
结束
......