考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:操作系统 > Unix > 文章内容
  

Unix系统:UNIX系统下监视磁盘空间和使用情况

 [ 2017年9月5日 ] 【

  使用配额

  配额系统以文件系统为单位,自动监视该文件系统中各个用户的磁盘使用情况。配额环境不仅允许您监视磁盘的使用情况,而且还允许设置相应的使用限制,在超过使用限制时提供警告或者更直接地禁止用户使用超过所分配的配额值的磁盘空间。下限(发出警告)称为软限制,而上限(禁止创建超过该限制的文件)称为硬限制。有些系统可能还允许您控制每个用户所拥有的文件的数目。

  在您的计算机上启动配额的确切方法取决于您所使用的操作系统。大多数 UNIX 系统在缺省情况下都包含配额的支持。Linux® 系统可能需要构建新的包含配额支持的内核。然而,通常大多数操作系统为每个文件系统使用一个称为 quotas 的文件,其中包含了对每个用户的空间使用限制。

  要启用配额,您首先需要创建该文件,并确保仅有 root 用户可以编辑该配额文件:

$ touch /export/home/quotas
$ chmod 600 /export/home/quotas

  然后,使用 quotaon 命令启用配额功能:

$ quotaon /export/home

  最后,您必须为每个用户编辑适当的配额。可以使用 edquota 命令并指定相应的用户来完成这项任务:

$ edquota mc

  这将打开缺省的编辑器(或者 vi,如果您没有设置可选的编辑器),其中包含一个用来设置配额值的简单表格。在下面您可以看到,已为用户 home 目录文件系统启用了配额,并且软限制为 200,000KB,硬限制为 400,000KB。文件限制的设置为零,这表示没有设置限制,用户可以设置并创建任意数目的文件。

fs /export/home blocks (soft = 200000, hard = 400000) inodes (soft = 0,
hard = 0)

  如果有更多的文件系统具有配额,那么您需要为这些文件系统配置更多的行。

  如果您需要对多个用户配置配额,那么可以首先为一个用户设置配额,然后对 edquota 使用 -p 命令行选项。这将使用指定的用户作为基础来创建新的用户。例如,要使用 mc 的设置为用户名 slp、tw 和 sh 设置配额,请执行下面的命令:

$ edquota -p mc slp tw sh 

  使用配额进行文件限制警告

  当用户创建一个超过其软限制的文件时,他们将会得到下面的警告:

quota_ufs: Warning: over disk limit (pid 1738, uid 101, inum 94, fs /export/home)

  请注意,留给用户 7 天的时间更正该问题,您可以使用 edquota -t 来更改这个期限。

  如果用户试图创建超过硬限制的文件,那么系统将终止写进程并根据相应的限制来截断该文件:

$ mkfile 210000k overlimit
quota_ufs: over hard disk limit (pid 1843, uid 101, inum 130, fs
/export/home)
overlimit: initialized 191873024 of 215040000 bytes: Disc quota exceeded

  通过运行 quota 命令,任何用户都可以检查他们自己的配额限制和磁盘使用情况:

$ quota
Over disk quota on /export/home, remove 199993K within 7.0 days

  配额管理

  使用 quota 命令,系统管理员可以检查任何用户的配额,您应该使用 -v 命令行选项以提供关于文件系统、使用情况和限制信息的完整报告(请参见清单 8)。

  清单 8. 使用 -v 选项

$ quota -v mc
Disk quotas for mc (uid 101):
Filesystem usage quota limit timeleft files quota limit
timeleft
/export/home 399993 200000 400000 6.9 days 151 0 0

  要获得某个文件系统中详细描述所有用户的磁盘和配额使用情况的报告,可以使用 repquota 命令,并指定要报告的文件系统(请参见清单 9)。

  清单 9. 使用 repquote 命令

$ repquota -v /export/home 
/dev/dsk/c0t0d0s7 (/export/home):
Block limits File limits
User used soft hard timeleft used soft hard timeleft
mc +- 399993 200000 400000 6.9 days 151 0 0

  要确保配额信息保持最新,您应该使用 quotacheck 命令。这将利用用来报告配额信息的配额信息对文件存储数据进行验证。您应该使用 cron 来自动地运行这项任务,每天一次比较合适(因为这个过程是比较耗时的)。

本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved