01.03 linux的文件系統

文件系統

文件系統是什麼?功能是什麼?

文件系統就是用戶發出指令告訴文件系統,由文件系統完成文件的建立、寫入、讀取、存儲、修改、刪除。文件系統的存在就是合理的去規劃硬盤,去保證用戶的合理需求。

Linux支持幾十種文件系統,常見的有這麼幾個

Ext3:是一款日誌文件系統,能夠在系統異常宕機時避免文件系統資料丟失,並能自動修復數據的不一致與錯誤。然而,當硬盤容量較大時,所需的修復時間也會很長,而且也不能百分之百地保證資料不會丟失。它會把整個磁盤的每個寫入動作的細節都預先記錄下來,以便在發生異常宕機後能回溯追蹤到被中斷的部分,然後嘗試進行修復。

XFS:是一種高性能的日誌文件系統,而且是RHEL 7中默認的文件管理系統,它的優勢在發生意外宕機後尤其明顯,即可以快速地恢復可能被破壞的文件,而且強大的日誌功能只用花費極低的計算和存儲性能。並且它最大可支持的存儲容量為18EB,這幾乎滿足了所有需求。

由於日常需要大量的文件寫入和寫出。而在linux中一切都是文件,在大量文件的時候,數據就會特別大。 Linux只是把每個文件的權限與屬性記錄在inode中,而且每個文件佔用一個獨立的inode表格,該表格的大小默認為128字節,裡面記錄著如下信息

linux的文件系統

畫個圖簡單看一下

linux的文件系統

而文件的實際內容則保存在block塊中(大小可以是1KB、2KB或4KB)由指針指向文件得到實際內容 一個inode的默認大小僅為128B(Ext3),記錄一個block則消耗4B。當文件的inode被寫滿後,Linux系統會自動分配出一個block塊,專門用於像inode那樣記錄其他block塊的信息,這樣把各個block塊的內容串到一起,就能夠讓用戶讀到完整的文件內容了。

Vfs 虛擬文件系統

linux的文件系統

用戶的操作都是指派給虛擬文件系統,由虛擬文件系統去完成相應的細化操作和對各種格式的支持


分享到:


相關文章: