Linux環境下幾種常用的檔案系統有ext3
、ext4
、xfs
,centos7.0開始預設檔案系統是xfs,centos6是ext4,centos5是ext3。
ext3:
ext3和ext4的最大區別在於,ext3在fsck時需要耗費大量時間(檔案越多,時間越長),而ext4在fsck時用的時間會少非常多。ext4:
ext4是第四代擴充套件檔案系統(英語:Fourth EXtended filesystem,縮寫為ext4)是linux系統下的日誌檔案系統,是ext3檔案系統的後繼版本
ext4的檔案系統容量達到1EB,而檔案容量則達到16TB,這是一個非常大的數字了。對一般的桌上型電腦和伺服器而言,這可能並不重要,但對於大型磁碟陣列的使用者而言,這就非常重要了。
ext3目前只支援32000個子目錄,而ext4取消了這一限制,理論上支援無限數量的子目錄。xfs:
xfs是一種非常優秀的日誌檔案系統,它是SGI公司設計的。xfs被稱為業界最先進的、最具可升級性的檔案系統技術。
xfs是一個64位檔案系統,最大支援8EB減1位元組的單個檔案系統,實際部署時取決於宿主作業系統的最大塊限制。對於一個32位Linux系統,檔案和檔案系統的大小會被限制在16TB。
xfs在很多方面確實做的比ext4好,ext4受限制於磁碟結構和相容問題,可擴充套件性和scalability確實不如xfs,另外xfs經過很多年發展,各種鎖的細化做的也比較好!
Linux檔案系統是Linux系統相當重要的一部分,首先我們來了解一下Linux的檔案系統目錄結構構成。
/usr/bin
、/bin
:存放所有使用者可以執行的命令user/sbin
、/sbin
:存放只有root使用者可以執行的命令/home
:使用者預設的家目錄或者又可以稱作宿主目錄/proc
:虛擬檔案系統/dev
:存放社保檔案/lib
:存放系統程式執行所需的共享庫/tmp
:存放臨時檔案/etc
:系統配置檔案/var
:包含經常發生變動的檔案、比如日誌檔案、計劃任務等/usr
:存放所有命令、庫、手冊等/mnt
:臨時檔案系統的安裝點/boot
:核心檔案及程式
一、檢視檔案系統硬碟使用情況:df
df 命令,用於檢視Linux系統中各檔案系統的硬碟使用情況,包括檔案系統所在硬碟分割槽的總容量、已使用的容量、剩餘容量等。
df 命令的基本格式為:
$ df [選項] [目錄或檔名]
df命令常用選項及作用如下:
選項 | 作用 |
---|---|
-a | 顯示所有檔案系統資訊,包括系統特有的 /proc、/sysfs 等檔案系統; |
-m | 以 MB 為單位顯示容量; |
-k | 以 KB 為單位顯示容量,預設以 KB 為單位; |
-h | 使用我們習慣的 KB、MB 或 GB 等單位自行顯示容量; |
-T | 顯示該分割槽的檔案系統名稱; |
-i | 不用硬碟容量顯示,而是以含有 inode 的數量來顯示。 |
比如執行命令:
$ df -h
執行命令之後,列印出來的結果個列資訊含義是:
Filesystem
:表示該檔案系統位於哪個分割槽,因此該列顯示的是裝置名稱;Size
:此列表示檔案系統的總大小;Used
:表示用掉的硬碟空間大小;Avail
:表示剩餘的硬碟空間大小;Use%
:硬碟空間使用率。如果使用率高達 90% 以上,就需要額外注意,因為容量不足,會嚴重影響系統的正常執行;Mounted on
:檔案系統的掛載點,也就是硬碟掛載的目錄位置
我們再執行以下這條命令:
$ df -h /etc
這條命令,df 命令後新增了目錄名,在這種情況下,df 命令會自動分析該目錄所在的分割槽,並將所在分割槽的有關資訊顯示出來。由此,我們就可以知道,該目錄下還可以使用多少容量。
二、統計目錄或檔案所佔磁碟空間大小:du
du是統計目錄或檔案所佔磁碟空間大小的命令。du 命令的格式如下:
$du [選項] [目錄或檔名]
選項:
-a
:顯示每個子檔案的磁碟佔用量。預設只統計子目錄的磁碟佔用量-h
:使用習慣單位顯示磁碟佔用量,如 KB、MB 或 GB 等;-s
:統計總磁碟佔用量,而不列出子目錄和子檔案的磁碟佔用量
執行:$du -sh /etc
三、檢測和修復檔案系統:fsck
計算機難免會由於某些系統因素或人為誤操作(突然斷電)出現系統異常,這種情況下非常容易造成檔案系統的崩潰,嚴重時甚至會造成硬體損壞。這也是我們一直在強調的“伺服器一定要先關閉服務再進行重啟”的原因所在。
那麼,如果真出現了檔案系統損壞的情況,有辦法修復嗎?可以的,對於一些小問題,使用 fsck 命令就可以很好地解決。
fsck 命令用於檢查檔案系統並嘗試修復出現的錯誤。該命令的基本格式如下:
$ fsck [選項] 分割槽裝置檔名
選項 | 功能 |
---|---|
-a | 自動修復檔案系統,沒有任何提示資訊。 |
-r | 採取互動的修復模式,在修改檔案前會進行詢問,讓使用者得以確認並決定處理方式。 |
-A(大寫) | 按照 /etc/fstab 配置檔案的內容,檢查檔案內羅列的全部檔案系統。 |
-t | 檔案系統型別 指定要檢查的檔案系統型別。 |
-C(大寫) | 顯示檢查分割槽的進度條。 |
-f | 強制檢測,一般 fsck 命令如果沒有發現分割槽有問題,則是不會檢測的。如果強制檢測,那麼不管是否發現問題,都會檢測。 |
-y | 自動修復,和 -a 作用一致,不過有些檔案系統只支援 -y。 |
此命令通常只有身為 root 使用者且檔案系統出現問題時才會使用,否則,在正常狀況下使用 fsck 命令,很可能損壞系統。另外,如果你懷疑已經格式化成功的硬碟有問題,也可以使用此命令來進行檢查。
使用 fsck 檢查並修復檔案系統是存在風險的,特別是當硬碟錯誤非常嚴重的時候,因此,當一個受損檔案系統中包含了非常有價值的資料時,務必首先進行備份!
需要注意的是,在使用 fsck 命令修改某檔案系統時,這個檔案系統對應的磁碟分割槽一定要處於解除安裝狀態,磁碟分割槽在掛載狀態下進行修復是非常不安全的,資料可能會遭到破壞,也有可能會損壞磁碟。
本作品採用《CC 協議》,轉載必須註明作者和本文連結