功能说明:检查磁盘的使用空间与限制。
语 法:quotacheck [-adgRuv][文件系统...]
补充说明:执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。
参 数:
-a 扫描在/etc/fstab文件里,有加入quota设置的分区。
-d 详细显示指令执行过程,便于排错或了解程序执行的情形。
-g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R 排除根目录所在的分区。
-u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
-v 显示指令执行过程。
--------------------------------------------------
Linux服务器磁盘配额详解
一、
磁盘配额的功能
所谓磁盘配额就是管理员可以对本域中的每个用户所能使用的磁盘空间进行配额限制,即每个用户只能使用最大配额范围内的磁盘空间。磁盘配额监视个人用户卷的使用情况,因此,每个用户对磁盘空间的利用都不会影响同一卷上其它用户的磁盘配额。磁盘配额具有如下特性:
磁盘配额可以对每个用户的磁盘使用情况进行跟踪和控制。这种跟踪是利用文件或文件夹的所有权来实现的。当一个用户在Linux ext
2/3分区上拷贝或存储一个新的文件时,他就拥有对这个文件的所有权,这时磁盘配额程序就将此文件的大小计入这个用户的磁盘配额空间。
当设置了磁盘配额后,分区的报告中所说的剩余空间,其实指的是当前这个用户的磁盘配额范围内的剩余空间。磁盘配额程序对每个分区的磁盘使用情况是独立跟踪和控制的,而不论它们是否位于同一个物理磁盘。
操作系统可以对磁盘配额进行监测,它可以扫描磁盘分区,监测每个用户对磁盘空间的使用情况,并用不同的颜色标识出磁盘使用空间超过报警值和配额限制的用户,这样就方便了对于磁盘配额的管理。
登录到相同计算机的多个用户互不干涉其它用户的工作能力;一个或多个用户不独占公用服务器上的磁盘空间;在个人计算机的共享文件夹中,用户不使用过多的磁盘空间。
综上所述,可以看出磁盘配额提供了一种基于用户和分区的文件存储管理,使得管理员可以方便的利用这个工具合理的分配存储资源,避免由于磁盘空间使用的失控可能造成的系统崩溃,从而提高了系统的安全性。
二、实现磁盘配额的步骤图解
要实现磁盘配额,请使用以下步骤:
1.
检查Linux 内核是否打开磁盘配额支持。
2.
修改/etc/fstab,对所选文件系统激活配额选项。
3.
更新装载文件系统,使改变生效。
4.
在该文件系统引导时建立aquota.user文件。
5.
扫描相应文件系统,用quotacheck命令生成基本配额文件。
6.
用edquota命令,对特定用户采用配额限制。
7.
最后,用命令激活配额。
操作步骤如图:
三、实现Linux的磁盘配额的详解
1.
检查内核情况
检查当前内核是否支持quota,当前内核配置文件在/boot下
# grep CONFIG_QUOTA
/boot/config-2.4.20
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
如果有上列输出,则表示当前内核已经支持quota。如果当前内核不支持quota,需要重新编译内核将quota
support编译进核心:
File
systems ---> [*]
Quota support 如图:
2. 修改/etc/fstab,对所选文件系统激活配额选项
以根用户身份使用vi编辑器来给需要配额的文件系统添加
usrquota 和(或) grpquota 选项:
:
LABEL=/ / ext3 defaults 1
1
LABEL=/boot /boot ext3 defaults 1
2
LABEL=/home /home ext3 defaults,usrquota
1 2
none /dev/shm tmpfs defaults 0
0
/dev/hda2 swap swap defaults 0
0
在上面的例子中,/home
文件系统上启用了用户配额。
3.
重新挂载文件系统
添加了
userquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被修改的文件系统。如果某文件系统没有被任何进程使用,使用 umount 命令后再紧跟着
mount 命令来重新挂载这个文件系统。如果某文件系统正在被使用,要重新挂载该文件系统的最简捷方法是重新引导系统或者使用命令:“# mount -o remount /home”。
4.
在该文件系统建立aquota.user文件
# touch /home/aquota.user
# chmod 600
/aquota.user
5.
扫描相应文件系统,用quotacheck命令生成基本配额文件
运行
quotacheck 命令,quotacheck 命令检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表。该表会被用来更新操作系统的磁盘用量文件。此外,文件系统的磁盘配额文件也被更新。要在文件系统上创建配额文件( aquota.user 和 aquota.group ),使用 quotacheck 命令的 -c 选项。例如,如果用户和组群配额都为 /home 分区启用了,在 /home 目录下创建这些文件:
quotacheck
-acug /home
-a
选项意味着在 /etc/mtab 中所有挂载了的非 NFS 文件系统都会被检查来决定是否启用了配额。 -c 选项指定每个启用了配额的文件系统都应该创建配额文件, -u 选项指定检查用户配额, -g 选项指定检查组群配额。
如果
-u 或 -g 选项被指定,只有用户配额文件被创建。如果只指定了 -g 选项,只有组群配额文件会被创建。
文件被创建后,运行以下命令来生成每个启用了配额的文件系统的当前磁盘用量表:
quotacheck
-avug
所用选项如下:
a
— 检查所有启用了配额的在本地挂载的文件系统
v
— 在检查配额过程中显示详细的状态信息
u
— 检查用户磁盘配额信息
g
— 检查组群磁盘配额信息
quotacheck
运行完毕后,和启用配额(用户和/或组群)相应的配额文件中就会写入用于每个启用了配额的文件系统(如 /home )的数据。
要定期运行它的最简单方法是使用
cron。以根用户身份,你既可以使用 crontab -e 命令来调度定期的 quotacheck,也可以在以下目录之一内放置一个运行 quotacheck 的脚本(使用最时候你需要的间隔期间):
•
/etc/cron.hourly
•
/etc/cron.daily
•
/etc/cron.weekly
•
/etc/cron.monthly
最精确的配额统计数据可以在所分析的文件系统没有被活跃使用时获得。因此,cron
任务应该在文件系统被最少使用时调度。如果这一时间在使用配额的文件系统中并不统一,则使用多个 cron 任务在不同的时间为每个文件系统运行 quotacheck。
6.
使用 edquota 命令分配磁盘配额。
要为用户配置配额,以根用户身份在
shell 提示下执行以下命令:
edquota
-u username
为每个你想实现配额的用户执行该步骤。例如,如果在
/etc/fstab 中为 /home 分区( /dev/hda3 )启用了配额,执行了 edquota testuser 命令后,系统默认的编辑器中就会有如下显示:
文件内有七个栏目:
Filesystem
=> 进行配额管制的文件系统。
blocks
=> 已经使用的区块数量(单位1KB)
soft
=> block 使用数量的"软性"限制
hard
=> block 使用数量的"硬性"限制
inode
=> 已经使用的 inode 数量
soft
=> inode 使用数量的"软性"限制
hard
=> inode 使用数量的"硬性"限制
edquota
–t
和
edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:
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/hdb1
10days 10days
另外以上两个操作可以使用
以上设置也可以使用
setquota 命令设置:
setquota
-u someone 0 0 3 5 /dev/loop0
setquota
-t 864000 864000 /dev/loop0
ps.
864000 为 10 天的秒数. 一小时=3600秒, 一天=86400秒
7.
磁盘配额完毕后,必须以 quotaon -av
的命令启用配额管理。
四、管理磁盘配额
如果配额被实现,它们就需要被维护
— 主要维护方式是观察。查看配额是否被超出并确保配额的正确性。当然,如果用户屡次超出他们的配额或者持续地达到他们的软限,系统管理员就可以根据用户类型和磁盘空间对他们工作的影响来做出几种决策。管理员可以帮助用户来检索对磁盘空间的使用,也可以按需要增加用户的配额。
1.
报告磁盘配额
创建磁盘用量报告需要运行 repquota 工具。例如,repquota
/home 命令会生成以下输出:
***
Report for user quotas on device /dev/hda3
Block
grace time: 7days; Inode grace time: 7days
Block
limits File
limits
User used soft hard grace used soft hard grace
-------------------------------------------
root -- 36 0 0 4 0 0
tfox -- 540 0 0 125 0 0
testuser -- 440400 500000 550000 37418 0 0
要查看所有启用了配额的文件系统的磁盘用量,使用以下命令: