新浪網

  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(19):檢查硬盤調整文件系統的目錄結構
 


FreeBSD連載(19):檢查硬盤調整文件系統的目錄結構

http://www.sina.com.cn 1999年11月21日 18:29 王波

維護文件系統

  由于文件系統是系統中非常重要的部分,因此維護文件系統的任務也非常重要。這個任務包括檢查、修復文件系統, 以及調整目錄樹以適合系統的變化,增添新存儲設備等。

  • 檢查硬盤

  正常情況下使用FreeBSD的時候,文件系統不會出現問題。然而在某些情況下,如沒有正常關機操作就切斷了 計算機的電源,就會造成文件系統出現問題。此外,出于系統維護的目的,也需要經常檢查磁盤的正確性。這就需要使用文件 系統檢查工具fsck。

# fsck /dev/wd0s3e

** /dev/rwd0s3e
** Last Mounted on /var
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
573files,3387used,26340free(132frags,3276blocks,0.4%fragmentation)

  fsck使用raw方式存取磁盤,因此即使使用普通塊設備/dev/wd0s3e為參數,fsck也將使用對 應的raw方式設備文件/dev/rwd0s3e進行操作。為了避免與當前磁盤的存取操作沖突,因此要求在進行檢查之 前先將文件系統卸載,否則文件系統的狀態總是不正確(沒有被正確的卸載)。

  為了不影響系統中正運行的進程,進行磁盤維護,最好首先進入單用戶狀態。這個狀態下將關閉所有不必要的進程, 系統也只安裝了根文件系統,其他文件都沒有安裝,而且即使是根文件系統,也是以只讀方式安裝的,這樣能保証不會發生存 取沖突,導致文件系統出現錯誤。

  一旦磁盤被檢查出錯誤,fsck將提示管理員是否進行修改,可以使用 “-y” 參數,使得fsck自動進行 修復工作,而不進行任何提示。系統每次啟動的時候,都會使用這個參數自動檢查和修復文件系統。

  • 調整文件系統的目錄結構

  系統安裝時在目錄樹上安裝了不同的文件系統,隨著時間的推移,有些目錄使用的文件系統就會被文件數據占滿,而 有些目錄下的文件系統卻很少使用,使得文件系統不太適合系統的需求,此時或者增加新的硬盤設備,或者將文件在不同文件 系統中進行調整。

  例如,如果FreeBSD系統被用作一台News服務器,讀者發表文章將保存在/var目錄所在的文件系統, 而缺省情況/var目錄空間有限,那么這個目錄就會被占滿。如果不斷在系統中安裝各種應用軟件,那么/usr/loc al目錄所在的文件系統會被占滿,等等。管理者就需要根據實際情況進行調整,可以使用df命令來查看文件系統的當前狀 態信息。

# df

Filesystem 512-blocks Used Avail Capacity Mounted on
/dev/wd0s3a 63550 50822 7644 87% /
/dev/wd0s3f 1693228 977436 580334 63% /usr
/dev/wd0s3e 59454 6772 47926 12% /var
profs 8 8 0 100% /proc
/dev/wd0s1 2055744 2032096 23648 99% /mnt/dosc

  df報告的信息包括這個文件系統的大小和剩余空間(包括使用大小、剩余大小和已使用空間的百分比),如果一個 文件系統中的剩余空間不足,而另一個文件系統還剩余足夠的空間,就可以通過調整來充分利用現有空間。

  有時,df報告已使用空間的百分比會超過100%,這是由于UFS文件系統中有一些冗余空間可用。這樣就給用 戶一個機會,可以不必因為文件系統滿而中斷當前正在寫文件的操作,而清除同一個文件系統中其他不必要的文件,在這個文 件系統中騰出存儲空間,從而保証數據最后能被可以正確的保存在文件系統中。

  調整文件系統空間的基本方法是使用符號連接,可以先將該文件系統中的一個子目錄中數據全部轉移或復制到其他文 件系統中的另一個目錄中,然后將原有目錄改名或刪除,再建立一個對新目錄的符號連接來達到目的。例如可以將/usr/local 目錄轉移到另一個安裝到/disk2的文件系統中:

# cd /usr/local

# tar cf - * | (cd /disk2; tar xf -)
# mv /usr/local /usr/local.old
# ln -s /disk2/local /usr/local

  為了保証數據安全,這里例子中沒有使用mv直接移動數據,而是使用tar將數據復制到另一個目錄中,之所以使 用tar而非cp -R命令,是為了保証復制文件和目錄時保留它們的屬主、權限控制屬性的一致性。

未完,待續。。。  



 
  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(19):檢查硬盤調整文件系統的目錄結構


網站簡介 | 網站導航 | 廣告服務 | 中文閱讀 | 聯系方式 | 招聘信息 | 幫助信息

Copyright © 1999 SINA.com, Stone Rich Sight. All Rights Reserved

版權所有    四通利方 新浪網