监视磁盘空间和UNIX系统下的使用

点评:一般来说,UNIX(R)管理员有一套有用的工具,技术,这是常用的辅助工艺管理系统。本文提供了多种关键的实用工具,命令链,以及简化每个过程脚本。这些工具来自于操作系统,而大部分的能力来自于长期的经验积累,减轻了系统管理员的工作压力。本系列文章





一般来说,UNIX(R)管理员有一套实用的工具,技术,这是常用的辅助工艺管理系统。本文提供了多种关键的实用工具,命令链,以及简化每个过程脚本。这些工具来自于操作系统,而大部分的技能来从长期的经验积累和减轻系统管理员的工作压力。本系列文章重点放在最大限度地在各种UNIX环境中可用的工具的使用,包括在异构环境中简化管理任务的方式。

简介:使用DF

监视磁盘空间是UNIX管理员工作中非常重要的一部分。本文向您介绍完成管理所需的一些工具,包括使用DF、DU、查找,甚至配额,让我们先看看DF的强大功能。

对于许多管理员来说,DF工具的使用可能有点像间歇性的神经运动,因为它提供了所有命令空间中可用的所有可用存储空间的快照视图,根据您的UNIX环境,DF的默认输出可能包含各种不同的信息。

大多数现代DF变体可以显示磁盘空间的使用,和可用性,通常包括加载点(有时包括设备)。例如,Mac OS X基于BSD的显示信息,如清单1所示。

清单1。Mac OS X的默认磁盘空间信息









文件系统512使用已安装的可用容量
/ dev / disk0s2 14818211245% / 268435456119741344
1951950100% / dev devfs
fdesc 220100% / dev
102410240100% 体积
清单2。使用带有K选项的DF命令






百万美元
用于安装在文件系统的可用容量1K块
/ dev / disk0s2 7409102445% / 13421772859870704
97970100% / dev devfs
fdesc 110100% / dev
5125120100% 体积
/ dev / disk0s3 217372603625724 1811153617% /卷/无题








一些变体可能还支持可选的块大小,如兆字节(使用-m)和千兆字节(使用-g),如清单3所示。


清单3。使用带有G选项的DF命令






百万美元
文件系统1G块使用的有效容量安装在
/ / / 128577045% disk0s2 dev
100% / dev devfs 000
fdesc 000 100% / dev
000 100% 。
/ / / dev disk0s3 2031717%卷/无题








显然,在增加显示块的大小的同时,信息中的细节级别也在降低。但使用可选的尺寸是监控硬盘快的有效途径,尤其是超级大容量磁盘,DF的工具,其他版本,特别是Solaris,将空的块和文件的可用性信息,默认情况下,大多数文件系统存储文件的上限值(这是太大,达到上限),所以这是可能的,整个系统充满了文件和磁盘的可用容量,但它不能存储任何文件。

您可以在清单4中看到Solaris的默认输出示例。


清单4的默认输出。Solaris






DF美元
/( / / / dev DSK c0t0d0s0):14877208块914042的文件
(设备):0块0个文件
/系统/合同(CTFS):0块2147483618的文件
16109:0块文件
/ / mnttab等(mnttab):0块0的文件
5737216个147177个文件
/系统/对象(objfs):0块2147483532的文件
/ usr( / / / dev DSK c0t0d0s3):9076010块863695的文件
0个块0个文件
/ var( / / / dev DSK c0t0d0s4):8110796块483714的文件
TMP(交换):5737216块147177个文件
运行(交换):5737216块147177个文件
/出口/家( / / / dev DSK c0t0d0s7):69362510块4272812的文件








使用K命令行选项,可以将显示内容切换到与前面示例类似的格式,该格式抽象数据并获得更可读的格式(参见清单5)。


清单5。使用k选项






百万美元
文件系统使用安装在字节的可用容量
/ / / c0t0d0s0 DSK开发73621573% / 7644629206026
设备000 0% /设备
CTF 000 0% /系统/合同
触发程序000 0%
mnttab 000 0% / / mnttab等
交换286860010162867584%
objfs 000 0% /系统/对象
/ / / c0t0d0s3 DSK开发82612373723232 445539346% / usr
FD 000 0%
/ / / c0t0d0s4 DSK开发413023874849401408 2% /无功
交换2867584028675840%
交换28676244028675841%
/ / / c0t0d0s7 DSK开发35611388930133 343251423% / /国内出口








所有DF变体接受一个目录或路径,然后显示包含路径的文件系统的磁盘空间信息:





美元/ K /
文件系统使用安装在字节的可用容量
/ / / c0t0d0s0 DSK开发73621573% / 7644629206026








或者,下面使用DF来显示用户主目录的空间信息:





美元
文件系统使用安装在字节的可用容量
/ / / c0t0d0s7 DSK开发35611388930133 343251423% / /国内出口











利用DF的输出

DF工具实际上是磁盘的缩写,这是工具所显示的。如果您再次查看示例输出,您可以从中提取一些最重要的元素:





文件系统使用安装在字节的可用容量
/ / / c0t0d0s7 DSK开发35611388930133 343251423% / /国内出口










第一列通常有一个与块大小数据相对应的标题,它显示磁盘的总大小。

容量列提供了在总大小中使用的磁盘空间百分比。这个信息本身可以直观地显示可用空间。

默认情况下,UNIX创建的文件系统的容量的百分之九十可以用来存储用户数据。剩余的百分之十由系统保存,以便root用户执行紧急维护。如果用户试图添加或创建超出该限制的文件,则将返回一个错误(超出文件系统空间)。

这种急救的维修空间,它可以用来恢复磁盘。例如,作为管理员,您可以使用此空间创建一个快速备份或压缩现有的数据,而无需使用辅助文件系统为目的,你可以使用tunefs工具或调整保留的自由空间的大小,当你创建一个文件系统,这是大容量磁盘的必要,因为百分之十的缓冲区可以等于许多GB的潜在空间。它通常是保持至少百分之一的空间存储空间耗尽之前提供一个最小的缓冲空间,一个很好的做法,深入到这个问题之前。,特别是如果有很多磁盘空间已被使用,你需要决定究竟是谁使用铝这些空间中的l。


点评:一般来说,UNIX(R)管理员有一套有用的工具,技术,这是常用的辅助工艺管理系统。本文提供了多种关键的实用工具,命令链,以及简化每个过程脚本。这些工具来自于操作系统,而大部分的能力来自于长期的经验积累,减轻了系统管理员的工作压力。本系列文章






利用杜

DU命令不显示磁盘的空闲空间,而是显示磁盘使用情况的信息。DU工具用于确定文件和目录的磁盘使用情况。要使用此工具,请切换到目录,然后运行该工具(见清单6)。



清单6。杜命令






美元/ var
杜美元
16。
4 / / /管理员安装SADM
22 / / /日志安装SADM
28448 / /安装SADM。
4 / / / sunwocfd SADM PKG /安装
4 / / / sunwocfd SADM PKG / / /保存pspool sunwocfd /安装
16 / / / sunwocfd SADM PKG / / / sunwocfd pspool保存
18 / / / sunwocfd SADM PKG / / pspool保存
20 / / / sunwocfd SADM PKG /保存
28 / / / sunwocfd SADM PKG
4 / / / sunwcsu SADM PKG /研究所










清单6中所示的输出进行适当调整。默认情况下,都将当前或指定的目录下显示每个文件和目录的文件使用的值是文件的大小,在系统默认的块大小,由DF使用单位相同。也许可能不是1K,但与-k命令行选项,你可以迫使你显示在1K块。

您可能需要根据所查看的顶层文件或目录来消化信息。使用s选项打开摘要视图:







杜-杜
70818。









注意,它显示当前目录(。)的摘要信息。为了获得所有文件和目录的摘要信息,可以使用*通配符(参见清单7)。



清单7。使用*通配符获取摘要信息






杜杜*
382 ADM
950架阿帕奇
683要
6837连接
1审计
162缓存
3毫升的CCR
2崩溃
4玉米
31 DMI
22 DT
6 FM
2、
1核能与新能源技术研究院
3 krb5
4 LD
1 LDAP
937库
6日志
8丢失+发现
2 LP
2邮件
1 MySQL
1新闻
3 NFS
38谢克尔
2 NTP
10034选择
1保存
96运行
49687结构化方法
15安全
3桑巴
2 sma_snmp
131 SNMP
39阀芯
4 statmon
663 SVC
14川芎嗪
10论文
24 YP









使用此工具,特别是在用户目录中使用该工具,请小心,因为隐藏文件中不包含其他显示的信息,这些文件和目录带有一个点前缀。您可能希望使用以下代码行获取用户目录中的所有摘要信息:







$独不就。{ } *









DU命令的最后一个非常有用的选项是D,它可以防止DU命令超出文件系统边界。例如,为了确定根文件系统的磁盘使用情况而不是其他文件系统,可以使用d选项:







杜-卡恩美元/









有些系统没有这个选项,但是有一个X命令行选项,它只包含与指定的路径相同的设备或文件系统中使用的文件。

查找特定用户的磁盘使用情况

要查找用户的磁盘空间,在使用find命令时,您需要使用DU命令只报告特定用户的磁盘使用情况。







-用户MC类型$查找。f执行权限;









的用户选项允许你指定的报告文件找到只属于一个特定的用户。该型期权力量找到只返回一个特定类型的路径(在这个例子中的文件),这样可以防止含杜目录,因为这些目录可能属于一个用户,但包含许多用户文件。然后,每个路径发现,杜命令执行报告磁盘使用情况。

得到的摘要信息,换句话说,一个特定的用户使用的总空间,你可以使用awk聚合信息并打印出最后的价值。







-用户MC类型$查找。F - exec杜K | awk的{ = { } ;
1 } }结束{
总使用量:123721









对于组,您可以基于相同的原则使用find选项:







组mcslp型$ find。F - exec杜K | awk的{ { };} {打印结束= S + 1美元
总计使用:
总使用量:542485









但是,如果启用了磁盘配额,则有一种更简单的方法。


点评:一般来说,UNIX(R)管理员有一套有用的工具,技术,这是常用的辅助工艺管理系统。本文提供了多种关键的实用工具,命令链,以及简化每个过程脚本。这些工具来自于操作系统,而大部分的能力来自于长期的经验积累,减轻了系统管理员的工作压力。本系列文章






使用配额

指标体系是一个文件系统,可自动监测每个用户的磁盘使用的文件系统。配额环境不仅允许您监视磁盘使用,但也允许你设置相应的使用限制,提供警告当你超过使用极限,或直接禁止用户使用磁盘空间超过分配的配额值下限(发出警告)称为软限制,而上限(创建一个文件超过限制禁止)称为硬限制。有些系统也允许你控制每个用户拥有的文件数。

在您的计算机上启动一个配额的方式取决于你所使用的操作系统。大多数Unix系统包括默认配额支持。Linux(R)系统需要建立一个由配额支持新的核心。然而,大多数的操作系统通常使用一种被称为每个文件系统的配额文件,其中包含对每个用户使用空间限制。

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







$触摸/导出/ home /配额
$ chmod 600 / / /配额出口家









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







quotaon美元/出口/家









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







edquota美元MC









这将打开默认的编辑器(或者vi,如果你不设置一个可选的编辑),其中包含一个简单的表设置配额的价值。正如你可以看到下面,配额一直是用户的主目录的文件系统启用,和软限200000kb,和硬限400000kb。文件的限制设置为零,这意味着没有设定上限,并且用户可以设置和创建任意数量的文件。







FS /出口/家块(软= 200000 = 400000字节,硬(软)= 0,
硬=0)









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

如果你需要配置多个用户的配额,您可以为用户设置配额,然后使用-p命令行选项edquota。这将使用指定的用户来创建一个新用户的基础。例如,为用户名SLP,TW设置配额,SH与MC设置,请执行以下命令:







edquota美元P MC SLP TW SH







对文件限制警告使用配额

当用户创建超出其软限制的文件时,他们将得到以下警告:





quota_ufs:警告:在磁盘限额(PID 1738、UID 101,微粒94,FS /出口/家)










请注意,这是留给用户7天来纠正这个问题,你可以用edquota - T改变的最后期限。

如果用户试图创建超过硬限制的文件,系统将终止写入过程,并根据相应的限制截断文件。





mkfile美元210000k超限
quota_ufs:在硬盘的限制(PID 1843、UID 101,微粒130,FS
{导出/ home)
超限:初始化191873024:磁盘配额超过215040000字节










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





美元的配额
在磁盘配额 /出口/家,7天内删除199993k






定额管理

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



清单8。使用v选项






定额
MC磁盘配额(UID 101):
文件系统使用配额限制时间剩下文件配额限制
剩余时间
399993200000400000 6.9天15100









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



清单9。使用repquote命令






repquota美元- V /出口/家
/ / / c0t0d0s7 DSK开发( /出口/家):
块限制文件限制
用户使用左键用于软、硬软、硬时间剩下
MC 399993200000400000 + - 6.9天15100









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


点评:一般来说,UNIX(R)管理员有一套有用的工具,技术,这是常用的辅助工艺管理系统。本文提供了多种关键的实用工具,命令链,以及简化每个过程脚本。这些工具来自于操作系统,而大部分的能力来自于长期的经验积累,减轻了系统管理员的工作压力。本系列文章






配额提示和陷阱

配额系统提供了监控和自动管理的最佳组合,但您应该注意配额文件系统和您设置的限制,因为它们可能干扰用户的工作,而不是控制磁盘使用。

例如,程序员可能需要更多的空间来建立一个应用程序比你的配置。通过提供一个不受限制的编译领域(通过临时目录设置一个可选的),同时可以保持自己在家目录配额来避免这个问题,或硬限制设置高(甚至可能文件系统的最大容量)的同时,设置适当的软限制。

当软限制达到时,结果应该是一个警告,而不是真正的硬限制。用户仍然应该能够构建和创建临时文件,但由于在构建期间将删除这些文件,用户不应该被禁止创建他们需要的文件。

配额还可以用来帮助完成监测任务,提醒你一个特殊的用户帐户的使用空间。我使用配额来监控网络用户帐户,所谓人账户和其他账户,确保他们不能写文件到文件系统中,不应该有访问权限。要完成这一任务,你可以设置你的文件系统,你需要保护和用户的硬限制为1KB。

自动监测

磁盘空间使用的人工监测是可行的,但你不想运行df连续(甚至杜)来确定可用的或可用的磁盘空间。您可以自动化进程,自动向管理员发送电子邮件(或管理员)在可用的空间有一定程度的降低。清单10中的脚本用于监视磁盘空间。你可以设置一个警告(warninglimit)和急救(矮)的限制,以及检查文件列表。



清单10。监控磁盘空间






# /斌/ SH!

warninglimit = 500000
矮= 250000

文件系统= / / /出口数据出口/家庭 /

FS在$文件系统

尺寸= ` DF - K $ FS | grep FS | awk打印美元4美元的{ }`;
如果{ $大小乐$矮}
然后
mailx的紧急:为FS Low磁盘空间($大小)
打破
FI
如果{ $大小乐warninglimit美元}
然后
mailx的警告:为FS低磁盘空间($大小)
FI
多恩









其中一个关键的步骤是在每个文件系统中提取空闲磁盘空间的大小:







尺寸= ` DF - K $ FS | grep FS | awk打印美元4美元的{ }`;









该脚本使用DF只提取行grep,然后使用awk提取数据的第四列,这是自由空间的大小。

然后,您可以检查的基础上warninglimit /矮的自由空间和产生适当的错误。为了避免下和警告错误同时发生,脚本首先检查下限以打破跳到下一个文件系统在循环前试图测试的警告。

结语

监视磁盘空间是管理员的一项重要任务。磁盘空间的耗尽将严重影响用户的工作,在严重的情况下,数据可能丢失或系统崩溃,因为系统无法获得操作所需的磁盘空间。

DF,你可以确定自由空间和空间的整个文件系统的使用,但这只是一部分信息,确定需要使用的磁盘空间,您需要使用du工具来研究不同的目录,用找到的,你甚至可以使用杜找到被指定的用户使用空间。更自动化的用户级磁盘的使用和控制,配额是一个更好的选择。