linux下磁盤空間監(jiān)視11_第1頁
linux下磁盤空間監(jiān)視11_第2頁
linux下磁盤空間監(jiān)視11_第3頁
linux下磁盤空間監(jiān)視11_第4頁
linux下磁盤空間監(jiān)視11_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第頁入門:使用df監(jiān)視磁盤空間是UNIX管理員的工作中很重要的一局部。本文向您介紹一些完成管理工作所需的工具,包括df、du、find的使用,甚至配額的使用。讓我們先來看看df的強大功能。對于許多管理員來說,使用df工具可能有點像斷續(xù)的神經運動,因為它通過一個命令提供了所有文件系統(tǒng)中已使用的和可用的存儲空間的快照視圖。根據您的UNIX環(huán)境的不同,df的缺省輸出可能包含各種不同的信息。大局部現(xiàn)代的df變種都可以顯示磁盤空間、使用情況和可用性,通常還包括裝入點〔有時包括設備〕。例如,基于BSD的MacOSX顯示如清單1所示的信息。

清單1.MacOSX的缺省磁盤空間信息512-blocksUsedAvailCapacityMountedon/dev/disk0s226843545611974134414818211245%/devfs1951950100%/devfdesc220100%/dev<volfs>102410240100%/.vol/dev/disk0s34347452072514483622307217%/Volumes/Untitled請注意,所顯示的大小是以512字節(jié)塊為單位,而不是千字節(jié)。缺省情況下,幾乎所有傳統(tǒng)的UNIX操作系統(tǒng)都以512字節(jié)塊為單位報告大小,而不是千字節(jié)。要獲得以1K塊為單位的信息,可以使用-k命令行選項,如清單2所示。

清單2.使用帶-k選項的df命令$df-k1K-blocksUsedAvailCapacityMountedon/dev/disk0s2134217728598707047409102445%/devfs97970100%/devfdesc110100%/dev<volfs>5125120100%/.vol/dev/disk0s32173726036257241811153617%/Volumes/Untitled有些變種可能還支持可選的塊大小,如兆字節(jié)〔使用-m〕和千兆字節(jié)〔使用-g〕,如清單3所示。

清單3.使用帶-g選項的df命令$df-g1G-blocksUsedAvailCapacityMountedon/dev/disk0s2128577045%/devfs000100%/devfdesc000100%/dev<volfs>000100%/.vol/dev/disk0s32031717%/Volumes/Untitled很顯然,在增大顯示的塊大小的同時,信息中的詳細級別也開場降低,但使用可選的大小是一種快速監(jiān)視磁盤,特別是超大容量磁盤的很有用的方法。其他版本的df工具〔特別是Solaris〕,缺省情況下將報告空塊和文件可用性信息。大局部文件系統(tǒng)都具有能夠存儲文件的上限數(shù)值〔該數(shù)值很大,以至于通常不會到達該上限〕,所以有可能整個系統(tǒng)填滿了文件,還有可用磁盤容量但卻不能再存儲任何文件了。您可以在清單4中看到Solaris的缺省輸出例如。

清單4.Solaris的缺省輸出$df/(/dev/dsk/c0t0d0s0):14877208blocks914042files/devices(/devices):0blocks0files/system/contract(ctfs):0blocks2147483618files/proc(proc):0blocks16109files/etc/mnttab(mnttab):0blocks0files/etc/svc/volatile(swap):5737216blocks147177files/system/object(objfs):0blocks2147483532files/usr(/dev/dsk/c0t0d0s3):9076010blocks863695files/dev/fd(fd):0blocks0files/var(/dev/dsk/c0t0d0s4):8110796blocks483714files/tmp(swap):5737216blocks147177files/var/run(swap):5737216blocks147177files/export/home(/dev/dsk/c0t0d0s7):69362510blocks4272812files使用-k命令行選項可以將顯示內容切換為與前面的例如類似的格式,其中對數(shù)據進展了摘要處理,得到更加便于閱讀的格式〔請參見清單5〕。

清單5.使用-k選項$df-kkbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s0764462920602673621573%//devices0000%/devicesctfs0000%/system/contractproc0000%/procmnttab0000%/etc/mnttabswap2868600101628675841%/etc/svc/volatileobjfs0000%/system/object/dev/dsk/c0t0d0s382612373723232445539346%/usrfd0000%/dev/fd/dev/dsk/c0t0d0s441302387484940140872%/varswap2867584028675840%/tmpswap28676244028675841%/var/run/dev/dsk/c0t0d0s735611388930133343251423%/export/home所有的df變種都承受一個目錄或路徑,然后顯示包含該路徑的文件系統(tǒng)的磁盤空間信息。例如,下面顯示了應該如何獲得根文件系統(tǒng)的空間信息:$df-k/kbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s0764462920602673621573%/或者,下面使用df顯示了一個用戶的home目錄的空間信息:$df-k~mckbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s735611388930133343251423%/export/home

回頁首使用df的輸出df工具實際上是diskfree的縮寫,并且這也正是該工具所顯示的內容。如果再次查看某個例如輸出,您可以從中提取一些特別重要的元素:kbytesusedavailcapacityMountedon/dev/dsk/c0t0d0s735611388930133343251423%/export/home第一列通常具有與塊大小數(shù)據相對應的標題,它顯示了磁盤的總大小。used列顯示了該文件系統(tǒng)或設備上已使用的塊數(shù)。avail列顯示了該文件系統(tǒng)上尚未使用的〔可用的〕塊數(shù)。capacity列提供了總大小中已使用的磁盤空間所占的百分比。這個信息本身可以提供關于可用空間的直觀指示。缺省情況下,UNIX所創(chuàng)立的文件系統(tǒng)中百分之九十的容量可用于存放用戶數(shù)據。剩下的百分之十由系統(tǒng)保存,以便root用戶執(zhí)行緊急維護工作。如果用戶試圖添加或創(chuàng)立超出該限制的文件,那么將返回一個錯誤〔超出文件系統(tǒng)空間〕。有了這個緊急維護空間,就可以利用它對一塊已滿的磁盤進展恢復。例如,作為管理員,您可以使用這個空間來創(chuàng)立快速備份,或對現(xiàn)有的數(shù)據進展壓縮而無需為到達該目的使用輔助文件系統(tǒng)。您可以使用tunefs工具或在創(chuàng)立文件系統(tǒng)時,調整保存的空閑空間的大小。對于大容量磁盤來說,這是至關重要的,因為其中百分之十的緩沖區(qū)可能等于許多個GB的潛在空間。通常好的做法是至少保存百分之一的空間,以便在完全用盡存儲空間之前,提供最低限度的緩沖區(qū)空間。在深入研究這個問題之前,特別是如果已經使用了大量的磁盤空間,您需要確定到底是誰使用了所有的這些空間。

回頁首使用dudu命令并不是顯示磁盤的空閑空間,而是顯示磁盤使用情況的信息。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中顯示的輸出,經過了適當?shù)恼{整。缺省情況下,du將顯示當前或指定的目錄下每個文件和目錄的文件使用情況。得到的值是文件的大小,單位為該系統(tǒng)中的缺省塊大小,與df所使用的單位一樣??赡苁且部赡懿皇?K,而使用-k命令行選項,您可以強制以1K塊為單位進展顯示。您可能需要根據所查看的頂級文件或目錄對信息進展摘要。使用-s選項以翻開摘要視圖。下面是Solaris安裝中的一個摘要版本在/var目錄中的顯示:$du-sk70818.請注意,它顯示了當前目錄(.)的摘要信息。要獲得所有文件和目錄的摘要信息,可以使用*通配符〔請參見清單7〕。

清單7.使用*通配符獲得摘要信息$du-sk*382adm950apache683apache26837appserver1audit162cache3cc-ccr2crash4cron31dmi22dt6fm2imq1inet3krb54ld1ldap937lib6log8lost+found2lp2mail1mysql1news3nfs38nis2ntp10034opt1preserve96run49687sadm15saf3samba2sma_snmp131snmp39spool4statmon663svc14tmp10uucp24yp使用該工具時,特別是在用戶目錄中使用該工具時,請?zhí)貏e小心,因為所顯示的信息中不包含隱藏文件,換句話說,具有單點號前綴的那些文件和目錄。您可能希望使用下面的代碼行,在用戶目錄中獲得所有的摘要信息:$du-sk*.[a-zA-Z0-9]*du命令的最后一個非常有用的選項是-d,該選項可以防止du命令超過文件系統(tǒng)邊界。例如,要確定根文件系統(tǒng)而不是任何其他的文件系統(tǒng)的磁盤使用情況,您可以使用-d選項:$du-dsk/有些系統(tǒng)沒有這個選項,但是有-x命令行選項,該選項僅包含與您所指定的路徑一樣的設備或文件系統(tǒng)中的文件使用情況。

回頁首查找一個特定用戶的磁盤使用情況要查找某個用戶所使用的磁盤空間,在使用find命令的同時,您需要結合使用du命令以僅報告特定用戶的磁盤使用情況。$find.-usermc-typef-execdu-k{}\;-user選項允許您指定find將僅報告屬于特定用戶的文件。-type選項強制find僅返回特定類型〔在本例如中是文件〕工程的路徑,這樣可以防止du包含目錄,因為這些目錄可能屬于某個用戶,但其中卻包含了許多用戶的文件。然后,對于查找到的每個路徑,執(zhí)行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然而,如果啟用了磁盤配額,那么就有一種更簡單的方法。

回頁首使用配額配額系統(tǒng)以文件系統(tǒng)為單位,自動監(jiān)視該文件系統(tǒng)中各個用戶的磁盤使用情況。配額環(huán)境不僅允許您監(jiān)視磁盤的使用情況,而且還允許設置相應的使用限制,在超過使用限制時提供警告或者更直接地制止用戶使用超過所分配的配額值的磁盤空間。下限〔發(fā)出警告〕稱為軟限制,而上限〔制止創(chuàng)立超過該限制的文件〕稱為硬限制。有些系統(tǒng)可能還允許您控制每個用戶所擁有的文件的數(shù)目。在您的計算機上啟動配額確實切方法取決于您所使用的操作系統(tǒng)。大多數(shù)UNIX系統(tǒng)在缺省情況下都包含配額的支持。Linux?系統(tǒng)可能需要構建新的包含配額支持的內核。然而,通常大多數(shù)操作系統(tǒng)為每個文件系統(tǒng)使用一個稱為quotas的文件,其中包含了對每個用戶的空間使用限制。要啟用配額,您首先需要創(chuàng)立該文件,并確保僅有root用戶可以編輯該配額文件:$touch/export/home/quotas$chmod600/export/home/quotas然后,使用quotaon命令啟用配額功能:$quotaon/export/home最后,您必須為每個用戶編輯適當?shù)呐漕~??梢允褂胑dquota命令并指定相應的用戶來完成這項任務:$edquotamc這將翻開缺省的編輯器〔或者vi,如果您沒有設置可選的編輯器〕,其中包含一個用來設置配額值的簡單表格。在下面您可以看到,已為用戶home目錄文件系統(tǒng)啟用了配額,并且軟限制為200,000KB,硬限制為400,000KB。文件限制的設置為零,這表示沒有設置限制,用戶可以設置并創(chuàng)立任意數(shù)目的文件。fs/export/homeblocks(soft=200000,hard=400000)inodes(soft=0,hard=0)如果有更多的文件系統(tǒng)具有配額,那么您需要為這些文件系統(tǒng)配置更多的行。如果您需要對多個用戶配置配額,那么可以首先為一個用戶設置配額,然后對edquota使用-p命令行選項。這將使用指定的用戶作為根底來創(chuàng)立新的用戶。例如,要使用mc的設置為用戶名slp、tw和sh設置配額,請執(zhí)行下面的命令:$edquota-pmcslptwsh

回頁首使用配額進展文件限制警告當用戶創(chuàng)立一個超過其軟限制的文件時,他們將會得到下面的警告:quota_ufs:Warning:overdisklimit(pid1738,uid101,inum94,fs/export/home)請注意,留給用戶7天的時間更正該問題,您可以使用edquota-t來更改這個期限。如果用戶試圖創(chuàng)立超過硬限制的文件,那么系統(tǒng)將終止寫進程并根據相應的限制來截斷該文件:$mkoverlimitquota_ufs:overharddisklimit(pid1843,uid101,inum130,fs/export/home)overlimit:initialized191873024of215040000bytes:Discquotaexceeded通過運行quota命令,任何用戶都可以檢查他們自己的配額限制和磁盤使用情況:$quotaOverdiskquotaon/export/home,remove201993Kwithin7.0days

回頁首配額管理使用quota命令,系統(tǒng)管理員可以檢查任何用戶的配額,您應該使用-v命令行選項以提供關于文件系統(tǒng)、使用情況和限制信息的完整報告〔請參見清單8〕。

清單8.使用-v選項$quota-vmcDiskquotasformc(uid101):usagequotalimittimeleftfilesquotalimittimeleft/export/home3999932000004000006.9days15100要獲得某個文件系統(tǒng)中詳細描述所有用戶的磁盤和配額使用情況的報告,可以使用repquota命令,并指定要報告的文件系統(tǒng)〔請參見清單9〕。

清單9.使用repquote命令$repquota-v/export/home/dev/dsk/c0t0d0s7(/export/home):BlocklimitsUserusedsofthardtimeleftusedsofthardtimeleftmc+-3999932000004000006.9days15100要確保配額信息保持最新,您應該使用quotacheck命令。這將利用用來報告配額信息的配額信息對文件存儲數(shù)據進展驗證。您應該使用cron來自動地運行這項任務,每天一次比擬適宜〔因為這個過程是比擬耗時的〕。

回頁首配額的技巧和陷井配額系統(tǒng)提供了監(jiān)視和自動管理的最正確組合,但是您應該注意啟用了配額的文件系統(tǒng)以及您所設置的限制,因為它們可能會阻礙用戶的工作,而不是控制他們的磁盤使用情況。例如,與您進展的使用配置相比,程序員可能需要更多的空間來構建一個應用程序。通過提供一個不受限制的編譯區(qū)域〔通過設置一個可選的臨時目錄〕,您可以在維持他們的home目錄配額的同時避開這個問題,或者在設置很高的硬限制〔甚至可能是該文件系統(tǒng)的最大容量〕的同時,設置適宜的軟限制。其結果應該是當?shù)竭_軟限制時給出一個警告,而不會真正地實施硬限制。用戶應該仍然可以構建和創(chuàng)立臨時文件,但是因為在構建的過程中會刪除這些文件,所以不應該制止用戶創(chuàng)立他們所需的文件。配額還可以用來幫助完成監(jiān)視任務,并提醒您關于特殊用戶帳戶的空間使用情況。我過去曾使用配額來監(jiān)視Web用戶帳戶,即所謂的nobody帳戶和其他帳戶,以確保它們無法向不應具有訪問權限的文件系統(tǒng)中寫入文件。要完成這項任務,可以將您需要保護的文件系統(tǒng)和用戶的硬限制設置為1KB。

回頁首自動監(jiān)視手動監(jiān)視磁盤空間使用情況是可行的,但是您并不希望不停地運行df〔甚至du〕來確定已使用的或可用的磁盤空間。您可以使這個過程自動化,并且當可用空間降低到一定的級別時,自動地向管理員〔或者管理員組〕發(fā)送電子郵件。清單10中的腳本用來監(jiān)視磁盤空間,您可以設置警告(warninglimit)和緊急情況(lowlimit)限制,以及進展檢查的文件系統(tǒng)的列表。

清單10.監(jiān)視磁盤空間#!/bin/shwarninglimit=500000lowlimit=250000"/export/data/export/home/"forfsin$dosize=`df-k$fs|grep$fs|awk'{print$4;}'`if[$size-le$lowlimit]thenmailx-s"URGENT:Lowdiskspacefor$fs($size)"breakfiif[$size-le$warninglimit]thenmailx-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論