2023年Linux系统管理员工具包监视磁盘空间和使用情况_第1页
2023年Linux系统管理员工具包监视磁盘空间和使用情况_第2页
2023年Linux系统管理员工具包监视磁盘空间和使用情况_第3页
2023年Linux系统管理员工具包监视磁盘空间和使用情况_第4页
2023年Linux系统管理员工具包监视磁盘空间和使用情况_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux系统管理员工具包:监视磁盘空间和使用情况本书网络下载内容丰富,分享给大家学习。研究拟定跨多个UNIX系统的磁盘使用情况以及如何创建一个简朴的警告系统对潜在问题发出警告的方法。关注您的文献系统,保证它们没有填满,这虽然是个小事,但在UNIX系统的平常管理工作中是至关重要的过程。在本文中,您将了解到监视磁盘空间、发现究竟是哪些文献、用户或应用程序占用了大部分的空间、以及如何使用配额和其他解决方案查找需要的信息的方法。ﻫ

关于本系列ﻫ

通常,UNIX管理员都拥有一套常用的辅助进程管理的实用工具、技巧和系统。本文提供了各种用于简化各个过程的关键实用工具、命令行链和脚本。这些工具中的一部分来自于操作系统,而大部分的技巧则来源于长期的经验积累和减轻系统管理员的工作压力的规定。本系列文章重要专注于最大限度地运用各种UNIX环境中可用的工具,涉及简化异类环境中的管理任务的方法。ﻫﻫ入门:使用df

监视磁盘空间是UNIX管理员的工作中很重要的一部分。本文向您介绍一些完毕管理工作所需的工具,涉及df、du、find的使用,甚至配额的使用。让我们先来看看df的强大功能。ﻫﻫ对于许多管理员来说,使用df工具也许有点像断续的神经运动,由于它通过一个命令提供了所有文献系统中已使用的和可用的存储空间的快照视图。根据您的UNIX环境的不同,df的缺省输出也许包含各种不同的信息。

大部分现代的df变种都可以显示磁盘空间、使用情况和可用性,通常还涉及装入点(有时涉及设备)。例如,基于BSD的MacOSX显示如清单1所示的信息。ﻫﻫ清单1.MacOSX的缺省磁盘空间信息Filesystem

512-blocks

Used

AvailCapacity

Mountedon/dev/disk0s2

45%

/devfs

195

195

0

100%

/devfdesc

2

0

100%

/dev<volfs>

1024

1024

0

100%

/.vol/dev/disk0s3

43474520

7251448

36223072

17%

/Volumes/Untitled复制代码请注意,所显示的大小是以512字节块为单位,而不是千字节。缺省情况下,几乎所有传统的UNIX操作系统都以512字节块为单位报告大小,而不是千字节。要获得以1K块为单位的信息,可以使用-k命令行选项,如清单2所示。

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

1K-blocks

Used

AvailCapacity

Mountedon/dev/disk0s2

59870704

74091024

45%

/devfs

97

97

0

100%

/devfdesc

1

0

100%

/dev<volfs>

512

512

0

100%

/.vol/dev/disk0s3

21737260

3625724

18111536

17%

/Volumes/Untitled复制代码有些变种也许还支持可选的块大小,如兆字节(使用-m)和千兆字节(使用-g),如清单3所示。ﻫﻫ清单3.使用带-g选项的df命令$df-gFilesystem

1G-blocksUsedAvailCapacity

Mountedon/dev/disk0s2

128

57

70

45%

/devfs

0

100%

/devfdesc

0

0

100%

/dev<volfs>

0

0

100%

/.vol/dev/disk0s3

20

17

17%

/Volumes/Untitled复制代码很显然,在增大显示的块大小的同时,信息中的具体级别也开始减少,但使用可选的大小是一种快速监视磁盘,特别是超大容量磁盘的很有用的方法。其他版本的df工具(特别是Solaris),缺省情况下将报告空块和文献可用性信息。大部分文献系统都具有可以存储文献的上限数值(该数值很大,以至于通常不会达成该上限),所以有也许整个系统填满了文献,尚有可用磁盘容量但却不能再存储任何文献了。

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

ﻫ清单4.Solaris的缺省输出$df/

(/dev/dsk/c0t0d0s0):14877208blocks

914042files/devices

(/devices

):

0blocks

0files/system/contract

(ctfs

):

0blocksfiles/proc

(proc

):

0blocks

16109files/etc/mnttab

(mnttab

):

0blocks

0files/etc/svc/volatile

(swap

):5737216blocks

147177files/system/object

(objfs

):

0blocksfiles/usr

(/dev/dsk/c0t0d0s3):9076010blocks

863695files/dev/fd

(fd

):

0blocks

0files/var

(/dev/dsk/c0t0d0s4):8110796blocks

483714files/tmp

(swap

):5737216blocks

147177files/var/run

(swap

):5737216blocks

147177files/export/home

(/dev/dsk/c0t0d0s7):69362510blocks

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

清单5.使用-k选项$df-kFilesystem

kbytes

used

availcapacity

Mountedon/dev/dsk/c0t0d0s0

7644629

2060267362157

3%

//devices

0

0

0

0%

/devicesctfs

0

0%

/system/contractproc

0

0

0

0%

/procmnttab

0

0

0

0%

/etc/mnttabswap

2868600

10162867584

1%

/etc/svc/volatileobjfs

0

0%

/system/object/dev/dsk/c0t0d0s3

826123737232324455393

46%

/usrfd

0

0

0%

/dev/fd/dev/dsk/c0t0d0s4

4130238

748494014087

2%

/varswap

2867584

02867584

0%

/tmpswap

2867624

402867584

1%

/var/run/dev/dsk/c0t0d0s7

35611388

93013334325142

3%

/export/home复制代码所有的df变种都接受一个目录或途径,然后显示包含该途径的文献系统的磁盘空间信息。例如,下面显示了应当如何获得根文献系统的空间信息:$df-k/Filesystem

kbytes

used

availcapacity

Mountedon/dev/dsk/c0t0d0s0

7644629

2060267362157

3%

/复制代码或者,下面使用df显示了一个用户的home目录的空间信息:$df-k~mcFilesystem

kbytes

used

availcapacity

Mountedon/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命令$cd/var$du16

./lost+found4

./sadm/install/admin22

./sadm/install/logs28448

./sadm/install4

./sadm/pkg/SUNWocfd/install4

./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd/install16

./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd18

./sadm/pkg/SUNWocfd/save/pspool20

./sadm/pkg/SUNWocfd/save28

./sadm/pkg/SUNWocfd4

./sadm/pkg/SUNWcsu/inst...复制代码上面的清单6中显示的输出,通过了适当的调整。缺省情况下,du将显示当前或指定的目录下每个文献和目录的文献使用情况。得到的值是文献的大小,单位为该系统中的缺省块大小,与df所使用的单位相同。也许是也也许不是1K,而使用-k命令行选项,您可以强制以1K块为单位进行显示。

您也许需要根据所查看的顶级文献或目录对信息进行摘要。使用-s选项以打开摘要视图。下面是Solaris安装中的一个摘要版本在/var目录中的显示:$du-sk

70818

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

清单7.使用*通配符获得摘要信息$du-sk*382

adm950

apache683

apache26837

appserver1

audit162

cache3

cc-ccr2

crash4

cron31

dmi22

dt6

fm2

imq1

inet3

krb54

ld1

ldap937

lib6

log8

lost+found2

lp2

mail1

mysql1

news3

nfs38

nis2

ntp10034

opt1

preserve96

run49687

sadm15

saf3

samba2

sma_snmp131

snmp39

spool4

statmon663

svc14

tmp10

uucp24

yp复制代码使用该工具时,特别是在用户目录中使用该工具时,请特别小心,由于所显示的信息中不包含隐藏文献,换句话说,具有单点号前缀的那些文献和目录。您也许希望使用下面的代码行,在用户目录中获得所有的摘要信息:$du-sk*.[a-zA-Z0-9]*复制代码du命令的最后一个非常有用的选项是-d,该选项可以防止du命令超过文献系统边界。例如,要拟定根文献系统而不是任何其他的文献系统的磁盘使用情况,您可以使用-d选项:$du-dsk/复制代码有些系统没有这个选项,但是有-x命令行选项,该选项仅包含与您所指定的途径相同的设备或文献系统中的文献使用情况。

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

ﻫ要查找某个用户所使用的磁盘空间,在使用find命令的同时,您需要结合使用du命令以仅报告特定用户的磁盘使用情况。$find.-usermc-typef-execdu-k{}\;复制代码-user选项允许您指定find将仅报告属于特定用户的文献。-type选项强制find仅返回特定类型(在本示例中是文献)项目的途径,这样可以防止du包含目录,由于这些目录也许属于某个用户,但其中却包含了许多用户的文献。然后,对于查找到的每个途径,执行du命令以报告磁盘使用情况。ﻫ

要获得摘要信息,换句话说,即某个特定用户所使用的总空间,您可以使用awk对该信息进行总计,并打印出最后的值:$find.-usermc-typef-execdu-k{}\;|awk'{s=

s+$1}END{print"Totalused:",s}'Totalused:

123721复制代码对于组,您可以根据相同的原则对find使用-group选项:$find.-groupmcslp-typef-execdu-k{}\;|awk'{s=s+$1}END{print"Totalused:",s}'Totalused:

542485复制代码然而,假如启用了磁盘配额,那么就有一种更简朴的方法。ﻫﻫ使用配额ﻫ

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

ﻫ在您的计算机上启动配额的确切方法取决于您所使用的操作系统。大多数UNIX系统在缺省情况下都包含配额的支持。Linux&reg;系统也许需要构建新的包含配额支持的内核。然而,通常大多数操作系统为每个文献系统使用一个称为quotas的文献,其中包含了对每个用户的空间使用限制。ﻫﻫ要启用配额,您一方面需要创建该文献,并保证仅有root用户可以编辑该配额文献:$touch/export/home/quotas$chmod600/export/home/quotas复制代码然后,使用quotaon命令启用配额功能:$quotaon/export/home复制代码最后,您必须为每个用户编辑适当的配额。可以使用edquota命令并指定相应的用户来完毕这项任务:$edquotamc复制代码这将打开缺省的编辑器(或者vi,假如您没有设立可选的编辑器),其中包含一个用来设立配额值的简朴表格。在下面您可以看到,已为用户home目录文献系统启用了配额,并且软限制为200,000KB,硬限制为400,000KB。文献限制的设立为零,这表达没有设立限制,用户可以设立并创建任意数目的文献。

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

hard=0)

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

假如您需要对多个用户配置配额,那么可以一方面为一个用户设立配额,然后对edquota使用-p命令行选项。这将使用指定的用户作为基础来创建新的用户。例如,要使用mc的设立为用户名slp、tw和sh设立配额,请执行下面的命令:$edquota-pmcslptwsh复制代码使用配额进行文献限制警告ﻫﻫ当用户创建一个超过其软限制的文献时,他们将会得到下面的警告:ﻫquota_ufs:Warning:overdisklimit(pid1738,uid101,inum94,fs/export/home)ﻫﻫ

请注意,留给用户7天的时间更正该问题,您可以使用edquota-t来更改这个期限。ﻫﻫ假如用户试图创建超过硬限制的文献,那么系统将终止写进程并根据相应的限制来截断该文献:$mkfile210000koverlimitquota_ufs:overharddisklimit(pid1843,uid101,inum130,fs/export/home)overlimit:initializedofbytes:Discquotaexceeded复制代码通过运营quota命令,任何用户都可以检查他们自己的配额限制和磁盘使用情况:$quotaOverdiskquotaon/export/home,remove199993Kwithin7.0days复制代码配额管理

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

清单8.使用-v选项$quota-vmcDiskquotasformc(uid101):Filesystem

usage

quota

limit

timeleft

files

quota

limit

timeleft/export/home

399993202300400000

6.9days

151

0

0复制代码要获得某个文献系统中具体描述所有用户的磁盘和配额使用情况的报告,可以使用repquota命令,并指定要报告的文献系统(请参见清单9)。ﻫﻫ清单9.使用repquote命令$repquota-v/export/home

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

Blocklimits

FilelimitsUser

used

soft

hard

timeleft

used

soft

hardtimeleftmc

+-399993202300400000

6.9days

151

0

复制代码要保证配额信息保持最新,您应当使用quotacheck命令。这将运用用来报告配额信息的配额信息对文献存储数据进行验证。您应当使用cron来自动地运营这项任务,天天一次比较合适(由于这个过程是比较耗时的)。

ﻫﻫ配额的技巧和陷井ﻫﻫ配额系统提供了监视和自动管理的最佳组合,但是您应当注意启用了配额的文献系统以及您所设立的限制,由于它们也许会妨碍用户的工作,而不是控制他们的磁盘使用情况。ﻫﻫ例如,与您进行的使用配置相比,程序员也许需要更多的空间来构建一个应用程序。通过提供一个不受限制的编译区域(通过设立一个可选的临时目录),您可以在维持他们的home目录配额的同时避开这个问题,或者在设立很高的硬限制(甚至也许是该文献系统的最大容量)的同时,设立合适的软限制。ﻫﻫ其结果应当是当达成软限制时给出一个警告,而不会真正地实行硬限制。用户应当仍然可以构建和创建临时文献,但是由于在构建的过程中会删除这些文献,所以不应当严禁用户创建他们所需的文献。ﻫ

配额还可以用来帮助完毕监视任务,并提醒您关于特殊用户帐户的空间使用情况。我过去曾使用配额来监视Web用户帐户,即所谓的nobody帐户和其他帐户,以保证它们无法向不应具有访问权限的文献系统中写入文献。要完毕这项任务,可以将您需要保护的文献系统和用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论