幾種檔案系統的原理與對比
一、 檔案系統原理
1. 檔案系統特點
檔案系統具有以下特點:
1) 友好的使用者接口,使用者隻對檔案進行操作,而不管檔案結構和存放的實體位置。
2) 對檔案按名存取,對使用者透明。
3) 某些檔案可以被某個使用者或程序所共享。
4) 檔案系統大都使用磁盤、錄音帶、和CD光牒等大容量存儲器作為媒體,是以,可存儲大量資訊。
2. 檔案系統軟體元件
1) 與檔案管理有關的軟體;
2) 被管理的檔案;
3) 實施檔案管理的資料結構。
3. 邏輯檔案結構2種形式
1) 無結構的流式;
2) 有結構的記錄式檔案。
4. 實體結構檔案
1) 連續檔案;
2) 索引檔案;
3) 連結檔案。
5. 檔案系統提供的服務
1) 關于設定和修改使用者對檔案的存取權限的服務;
2) 關于建立健全、改變和删除目錄的服務;
3) 關于檔案共享、設定通路路徑的服務;
4) 建立、打開、讀寫、關閉,以及撤消檔案的服務。
二、 Minix檔案系
引導塊是計算機加電啟動時可由ROMBIOS自動讀入的執行代碼和資料。但并非所有盤都用作引導裝置,是以對于不用于引導的盤片,這一盤塊中可以不含代碼。但任何盤片必須要含有引導塊空間,以保持MINIX檔案系統格式的統一。如果核心檔案放在檔案系統中,那麼就可以在檔案系統所在的裝置的第一個塊(引導塊空間)存放實際的引導程式,并由它來取得和加載檔案系統中的核心映象檔案。
超級塊主要功能是給出檔案系統各個部分的大小,其中包含描叙檔案系統布局的資訊,和引導塊一樣,超級塊的大小也是固定的1024位元組。如果給出塊的大小和i節點數,我們可以很容易地算出i節點位圖的大小和存放i節點所需的快數。
i節點位圖用于說明i節點是否被使用,每個位代表一個i節點,其中第0号i節點為被使用。在記憶體的超級塊表中,有一個字段直接指向第一個空閑的i節點,當新建立的檔案需要i節點時,将第一個空閑節點配置設定出去,修改位圖中相應的位,同時将指針指向下一個空閑節點。當一個節點被釋放時,需要檢查,看這個節點是否位于目前所指向的空閑節點的前面,若是則修改指針,然後将位圖中對應的位清零。
區段位圖用于說明區段的使用情況,同樣是每個位代表一個區段,其中第0号區段未使用。區段是磁盤的一種基本配置設定機關,其大小和塊的大小一樣。使用區段的目的是,確定同一個檔案的磁盤塊位于同一個柱面上,進而提高檔案順序讀取時的性能。區段的配置設定和釋放跟i節點類似。
i節點部分存放着檔案系統中檔案和目錄名的索引節點,每個檔案或目錄名都有一個i節點。每個i節點結構中存放着對應檔案的相關資訊。
檔案中的資料是存放在磁盤塊的資料區中的,而一個檔案名則通過對應的i節點與這些資料磁盤塊相聯系,這些盤塊的号碼就存放在i節點的邏輯塊數組中。
另外,對于/dev/目錄下的裝置檔案來說,它們并不占用磁盤資料區中的資料盤塊,即它們的檔案長度是0。裝置檔案名的i節點僅用于儲存其所定義裝置的屬性和裝置号。裝置号被存放在裝置檔案i節點的邏輯塊數組0中。
三、 Linux檔案系統
1. linux檔案系統組成
1) 虛拟檔案系統;
2) 實際檔案系統。
2. 主要檔案系統類型
1) ext2:非日志檔案系統;
2) ext3:日志檔案系統,metadata中記錄檔案更改資訊。
3. 檔案系統結構圖
四、 Solaris/Open Solaris檔案系統(128位,動态檔案系統,1Z= T 1T=1024G)
傳統檔案系統 ZFS檔案系統
五、 snapshot快照
1. snapshot:線上快照,備份時不需要umount檔案系統,不占用整個檔案系統空間,根據實際占有量配置設定大小;
2. fssnap:UFS,ufsdump,ufsrestore,備份時需要umount檔案系統。
六、 ZFS多優秀的地方
被稱作終極檔案系統的ZFS,相比傳統檔案系統,有許多優秀的地方:
1. 以前,檔案系統被局限于一個裝置,是以檔案系統自身會受到該裝置大小的限制。由于存在大小限制,是以建立和重新建立傳統檔案系統很耗時,有時候還很難。由于 ZFS 檔案系統不局限于特定裝置,是以可以輕松、快捷地建立。在為存儲池配置設定的空間内,ZFS 檔案系統可以自動增長。
2. ZFS 建立在池存儲概念的基礎上。與典型檔案系統映射到實體存儲器不同,池中的所有 ZFS 檔案系統都共享該池中的可用存儲器。是以,即使檔案系統處于非活動狀态,實用程式(例如 df)報告的可用空間也會發生變化,因為池中的其他檔案系統會使用或釋放空間。
3. ZFS 中的所有中繼資料都是動态配置設定的。其他大部分檔案系統都會預配置設定其大量中繼資料。ZFS 是事務性檔案系統。大部分檔案系統修改都捆綁到事務組中,并異步送出至磁盤,進而保證了資料的安全性和完整性。
4. 采用快照進行系統的備份和恢複。檔案系統的快照開銷很小,并且很容易在 ZFS 中建立。在大多數ZFS 環境中,快照很可能是通用的。
具體文檔見附件
<a href="http://down.51cto.com/data/2351698" target="_blank">附件:http://down.51cto.com/data/2351698</a>
本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/128103