Linux系统管理员工具包 监视磁盘空间和使用情况.docx

上传人:b****3 文档编号:3539081 上传时间:2022-11-23 格式:DOCX 页数:12 大小:23.28KB
下载 相关 举报
Linux系统管理员工具包 监视磁盘空间和使用情况.docx_第1页
第1页 / 共12页
Linux系统管理员工具包 监视磁盘空间和使用情况.docx_第2页
第2页 / 共12页
Linux系统管理员工具包 监视磁盘空间和使用情况.docx_第3页
第3页 / 共12页
Linux系统管理员工具包 监视磁盘空间和使用情况.docx_第4页
第4页 / 共12页
Linux系统管理员工具包 监视磁盘空间和使用情况.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Linux系统管理员工具包 监视磁盘空间和使用情况.docx

《Linux系统管理员工具包 监视磁盘空间和使用情况.docx》由会员分享,可在线阅读,更多相关《Linux系统管理员工具包 监视磁盘空间和使用情况.docx(12页珍藏版)》请在冰豆网上搜索。

Linux系统管理员工具包 监视磁盘空间和使用情况.docx

Linux系统管理员工具包监视磁盘空间和使用情况

研究确定跨多个UNIX系统的磁盘使用情况以及如何创建一个简单的警告系统对潜在问题发出警告的方法。

关注您的文件系统,确保它们没有填满,这虽然是个小事,但在UNIX系统的日常管理工作中是至关重要的过程。

在本文中,您将了解到监视磁盘空间、发现究竟是哪些文件、用户或应用程序占用了大部分的空间、以及如何使用配额和其他解决方案查找需要的信息的方法。

关于本系列

通常,UNIX管理员都拥有一套常用的辅助进程管理的实用工具、技巧和系统。

本文提供了各种用于简化各个过程的关键实用工具、命令行链和脚本。

这些工具中的一部分来自于操作系统,而大部分的技巧则来源于长期的经验积累和减轻系统管理员的工作压力的要求。

本系列文章主要专注于最大限度地利用各种UNIX环境中可用的工具,包括简化异类环境中的管理任务的方法。

入门:

使用df

监视磁盘空间是UNIX管理员的工作中很重要的一部分。

本文向您介绍一些完成管理工作所需的工具,包括df、du、find的使用,甚至配额的使用。

让我们先来看看df的强大功能。

对于许多管理员来说,使用df工具可能有点像断续的神经运动,因为它通过一个命令提供了所有文件系统中已使用的和可用的存储空间的快照视图。

根据您的UNIX环境的不同,df的缺省输出可能包含各种不同的信息。

大部分现代的df变种都可以显示磁盘空间、使用情况和可用性,通常还包括装入点(有时包括设备)。

例如,基于BSD的MacOSX显示如清单1所示的信息。

清单1.MacOSX的缺省磁盘空间信息

1.Filesystem 512-blocks    Used    AvailCapacity  Mountedon

2./dev/disk0s2 268435456119741344148182112  45%  /

3.devfs         195    195      0  100%  /dev

4.fdesc           2      2      0  100%  /dev

5.       1024    1024      0  100%  /.vol

6./dev/disk0s3 43474520  7251448  36223072  17%  /Volumes/Untitled

复制代码

请注意,所显示的大小是以512字节块为单位,而不是千字节。

缺省情况下,几乎所有传统的UNIX操作系统都以512字节块为单位报告大小,而不是千字节。

要获得以1K块为单位的信息,可以使用-k命令行选项,如清单2所示。

清单2.使用带-k选项的df命令

1.$df-k

2.Filesystem 1K-blocks    Used    AvailCapacity  Mountedon

3./dev/disk0s2 134217728  59870704  74091024  45%  /

4.devfs         97      97      0  100%  /dev

5.fdesc           1      1      0  100%  /dev

6.       512    512      0  100%  /.vol

7./dev/disk0s3 21737260  3625724  18111536  17%  /Volumes/Untitled

复制代码

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

清单3.使用带-g选项的df命令

1.$df-g

2.Filesystem 1G-blocksUsedAvailCapacity  Mountedon

3./dev/disk0s2     128  57  70  45%  /

4.devfs           0  0    0  100%  /dev

5.fdesc           0  0    0  100%  /dev

6.         0  0    0  100%  /.vol

7./dev/disk0s3     20  3  17  17%  /Volumes/Untitled

复制代码

很显然,在增大显示的块大小的同时,信息中的详细级别也开始降低,但使用可选的大小是一种快速监视磁盘,特别是超大容量磁盘的很有用的方法。

其他版本的df工具(特别是Solaris),缺省情况下将报告空块和文件可用性信息。

大部分文件系统都具有能够存储文件的上限数值(该数值很大,以至于通常不会达到该上限),所以有可能整个系统填满了文件,还有可用磁盘容量但却不能再存储任何文件了。

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

清单4.Solaris的缺省输出

1.$df

2./           (/dev/dsk/c0t0d0s0):

14877208blocks  914042files

3./devices       (/devices      ):

    0blocks      0files

4./system/contract (ctfs          ):

    0blocks2147483618files

5./proc         (proc          ):

    0blocks  16109files

6./etc/mnttab     (mnttab        ):

    0blocks      0files

7./etc/svc/volatile (swap          ):

5737216blocks  147177files

8./system/object   (objfs        ):

    0blocks2147483532files

9./usr         (/dev/dsk/c0t0d0s3):

9076010blocks  863695files

10./dev/fd       (fd          ):

    0blocks      0files

11./var         (/dev/dsk/c0t0d0s4):

8110796blocks  483714files

12./tmp         (swap          ):

5737216blocks  147177files

13./var/run       (swap          ):

5737216blocks  147177files

14./export/home   (/dev/dsk/c0t0d0s7):

69362510blocks  4272812files

复制代码

使用-k命令行选项可以将显示内容切换为与前面的示例类似的格式,其中对数据进行了摘要处理,得到更加便于阅读的格式(请参见清单5)。

清单5.使用-k选项

1.$df-k

2.Filesystem       kbytes  used  availcapacity  Mountedon

3./dev/dsk/c0t0d0s0 7644629  2060267362157    3%  /

4./devices           0    0    0    0%  /devices

5.ctfs               0    0    0    0%  /system/contract

6.proc               0    0    0    0%  /proc

7.mnttab             0    0    0    0%  /etc/mnttab

8.swap           2868600  10162867584    1%  /etc/svc/volatile

9.objfs             0    0    0    0%  /system/object

10./dev/dsk/c0t0d0s3 826123737232324455393  46%  /usr

11.fd               0    0    0    0%  /dev/fd

12./dev/dsk/c0t0d0s4 4130238  748494014087    2%  /var

13.swap           2867584    02867584    0%  /tmp

14.swap           2867624    402867584    1%  /var/run

15./dev/dsk/c0t0d0s7 35611388  93013334325142    3%  /export/home

复制代码

所有的df变种都接受一个目录或路径,然后显示包含该路径的文件系统的磁盘空间信息。

例如,下面显示了应该如何获得根文件系统的空间信息:

1.$df-k/

2.Filesystem       kbytes  used  availcapacity  Mountedon

3./dev/dsk/c0t0d0s0 7644629  2060267362157    3%  /

复制代码

或者,下面使用df显示了一个用户的home目录的空间信息:

1.$df-k~mc

2.Filesystem       kbytes  used  availcapacity  Mountedon

3./dev/dsk/c0t0d0s7 35611388  93013334325142    3%  /export/home

复制代码

使用df的输出

df工具实际上是diskfree的缩写,并且这也正是该工具所显示的内容。

如果再次查看某个示例输出,您可以从中提取一些特别重要的元素:

Filesystem       kbytes  used  availcapacity  Mountedon

/dev/dsk/c0t0d0s7 35611388  93013334325142    3%  /export/home

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

used列显示了该文件系统或设备上已使用的块数。

avail列显示了该文件系统上尚未使用的(可用的)块数。

capacity列提供了总大小中已使用的磁盘空间所占的百分比。

这个信息本身可以提供关于可用空间的直观指示。

缺省情况下,UNIX所创建的文件系统中百分之九十的容量可用于存放用户数据。

剩下的百分之十由系统保留,以便root用户执行紧急维护工作。

如果用户试图添加或创建超出该限制的文件,那么将返回一个错误(超出文件系统空间)。

有了这个紧急维护空间,就可以利用它对一块已满的磁盘进行恢复。

例如,作为管理员,您可以使用这个空间来创建快速备份,或对现有的数据进行压缩而无需为达到该目的使用辅助文件系统。

您可以使用tunefs工具或在创建文件系统时,调整保留的空闲空间的大小。

对于大容量磁盘来说,这是至关重要的,因为其中百分之十的缓冲区可能等于许多个GB的潜在空间。

通常好的做法是至少保留百分之一的空间,以便在完全用尽存储空间之前,提供最低限度的缓冲区空间。

在深入研究这个问题之前,特别是如果已经使用了大量的磁盘空间,您需要确定到底是谁使用了所有的这些空间。

使用du

du命令并不是显示磁盘的空闲空间,而是显示磁盘使用情况的信息。

du工具用于确定文件和目录的磁盘使用情况。

要使用这个工具,改变到一个目录,然后运行该工具(请参见清单6)。

清单6.du命令

1.$cd/var

2.$du

3.16   ./lost+found

4.4   ./sadm/install/admin

5.22   ./sadm/install/logs

6.28448 ./sadm/install

7.4   ./sadm/pkg/SUNWocfd/install

8.4   ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd/install

9.16   ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd

10.18   ./sadm/pkg/SUNWocfd/save/pspool

11.20   ./sadm/pkg/SUNWocfd/save

12.28   ./sadm/pkg/SUNWocfd

13.4   ./sadm/pkg/SUNWcsu/inst

14....

复制代码

上面的清单6中显示的输出,经过了适当的调整。

缺省情况下,du将显示当前或指定的目录下每个文件和目录的文件使用情况。

得到的值是文件的大小,单位为该系统中的缺省块大小,与df所使用的单位相同。

可能是也可能不是1K,而使用-k命令行选项,您可以强制以1K块为单位进行显示。

您可能需要根据所查看的顶级文件或目录对信息进行摘要。

使用-s选项以打开摘要视图。

下面是Solaris安装中的一个摘要版本在/var目录中的显示:

1.$du-sk 

2.70818 .

复制代码

请注意,它显示了当前目录(.)的摘要信息。

要获得所有文件和目录的摘要信息,可以使用*通配符(请参见清单7)。

清单7.使用*通配符获得摘要信息

1.$du-sk*

2.382   adm

3.950   apache

4.683   apache2

5.6837 appserver

6.1   audit

7.162   cache

8.3   cc-ccr

9.2   crash

10.4   cron

11.31   dmi

12.22   dt

13.6   fm

14.2   imq

15.1   inet

16.3   krb5

17.4   ld

18.1   ldap

19.937   lib

20.6   log

21.8   lost+found

22.2   lp

23.2   mail

24.1   mysql

25.1   news

26.3   nfs

27.38   nis

28.2   ntp

29.10034 opt

30.1   preserve

31.96   run

32.49687 sadm

33.15   saf

34.3   samba

35.2   sma_snmp

36.131   snmp

37.39   spool

38.4   statmon

39.663   svc

40.14   tmp

41.10   uucp

42.24   yp

复制代码

使用该工具时,特别是在用户目录中使用该工具时,请特别小心,因为所显示的信息中不包含隐藏文件,换句话说,具有单点号前缀的那些文件和目录。

您可能希望使用下面的代码行,在用户目录中获得所有的摘要信息:

1.$du-sk*.[a-zA-Z0-9]*

复制代码

du命令的最后一个非常有用的选项是-d,该选项可以防止du命令超过文件系统边界。

例如,要确定根文件系统而不是任何其他的文件系统的磁盘使用情况,您可以使用-d选项:

1.$du-dsk/

复制代码

有些系统没有这个选项,但是有-x命令行选项,该选项仅包含与您所指定的路径相同的设备或文件系统中的文件使用情况。

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

要查找某个用户所使用的磁盘空间,在使用find命令的同时,您需要结合使用du命令以仅报告特定用户的磁盘使用情况。

1.$find.-usermc-typef-execdu-k{}\;

复制代码

-user选项允许您指定find将仅报告属于特定用户的文件。

-type选项强制find仅返回特定类型(在本示例中是文件)项目的路径,这样可以防止du包含目录,因为这些目录可能属于某个用户,但其中却包含了许多用户的文件。

然后,对于查找到的每个路径,执行du命令以报告磁盘使用情况。

要获得摘要信息,换句话说,即某个特定用户所使用的总空间,您可以使用awk对该信息进行总计,并打印出最后的值:

1.$find.-usermc-typef-execdu-k{}\;|awk'{s=

2.   s+$1}END{print"Totalused:

",s}'

3.Totalused:

 123721

复制代码

对于组,您可以根据相同的原则对find使用-group选项:

1.$find.-groupmcslp-typef-execdu-k{}\;|awk'{s=s+$1}END{print

2."Totalused:

",s}'

3.Totalused:

 542485

复制代码

然而,如果启用了磁盘配额,那么就有一种更简单的方法。

使用配额

配额系统以文件系统为单位,自动监视该文件系统中各个用户的磁盘使用情况。

配额环境不仅允许您监视磁盘的使用情况,而且还允许设置相应的使用限制,在超过使用限制时提供警告或者更直接地禁止用户使用超过所分配的配额值的磁盘空间。

下限(发出警告)称为软限制,而上限(禁止创建超过该限制的文件)称为硬限制。

有些系统可能还允许您控制每个用户所拥有的文件的数目。

在您的计算机上启动配额的确切方法取决于您所使用的操作系统。

大多数UNIX系统在缺省情况下都包含配额的支持。

Linux®系统可能需要构建新的包含配额支持的内核。

然而,通常大多数操作系统为每个文件系统使用一个称为quotas的文件,其中包含了对每个用户的空间使用限制。

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

1.$touch/export/home/quotas

2.$chmod600/export/home/quotas

复制代码

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

1.$quotaon/export/home

复制代码

最后,您必须为每个用户编辑适当的配额。

可以使用edquota命令并指定相应的用户来完成这项任务:

1.$edquotamc

复制代码

这将打开缺省的编辑器(或者vi,如果您没有设置可选的编辑器),其中包含一个用来设置配额值的简单表格。

在下面您可以看到,已为用户home目录文件系统启用了配额,并且软限制为200,000KB,硬限制为400,000KB。

文件限制的设置为零,这表示没有设置限制,用户可以设置并创建任意数目的文件。

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

hard=0)

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

如果您需要对多个用户配置配额,那么可以首先为一个用户设置配额,然后对edquota使用-p命令行选项。

这将使用指定的用户作为基础来创建新的用户。

例如,要使用mc的设置为用户名slp、tw和sh设置配额,请执行下面的命令:

1.$edquota-pmcslptwsh

复制代码

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

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

quota_ufs:

Warning:

overdisklimit(pid1738,uid101,inum94,fs/export/home)

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

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

1.$mkfile210000koverlimit

2.quota_ufs:

overharddisklimit(pid1843,uid101,inum130,fs

3./export/home)

4.overlimit:

initialized191873024of215040000bytes:

Discquotaexceeded

复制代码

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

1.$quota

2.Overdiskquotaon/export/home,remove199993Kwithin7.0days

复制代码

配额管理

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

清单8.使用-v选项

1.$quota-vmc

2.Diskquotasformc(uid101):

3.Filesystem   usage  quota  limit  timeleft  fi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1