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

提交評論