現在的位置: 首頁 > 綜合 > 正文

ext2格式跟ext3格式區別 inode

2014年10月02日 ⁄ 綜合 ⁄ 共 2377字 ⁄ 字型大小 評論關閉

inux ext2/ext3文件系統使用索引節點來記錄文件信息,作用像windows的文件分配表。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關係、磁碟中的位置等信息。一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一一個元素對應。系統給每個索引節點分配了一個號碼,也就是該節點在數組中的索引號,稱為索引節點號。 linux文件系統將文件索引節點號和文件名同時保存在目錄中。所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。 對於一個文件來說有唯一的索引節點號與之對應,對於一個索引節點號,卻可以有多個文件名與之對應。因此,在磁碟上的同一個文件可以通過不同的路徑去訪問它。
Linux預設情況下使用的文件系統為Ext2,ext2文件系統的確高效穩定。但是,隨著Linux系統在關鍵業務中的應用,Linux文件系統的弱點也漸漸顯露出來了:其中系統預設使用的ext2文件系統是非日誌文件系統。這在關鍵行業的應用是一個致命的弱點。本文向各位介紹Linux下使用ext3日誌文件系統應用。
Ext3文件系統是直接從Ext2文件系統發展而來,目前ext3文件系統已經非常穩定可靠。它完全兼容ext2文件系統。用戶可以平滑地過渡到一個日誌功能健全的文件系統中來。這實際上了也是ext3日誌文件系統初始設計的初衷。

Ext3日誌文件系統的特點
1、高可用性
系統使用了ext3文件系統後,即使在非正常關機後,系統也不需要檢查文件系統。宕機發生後,恢復ext3文件系統的時間只要數十秒鐘。
2、數據的完整性:
ext3文件系統能夠極大地提高文件系統的完整性,避免了意外宕機對文件系統的破壞。在保證數據完整性方面,ext3文件系統有2種模式可供選擇。其中之一就是「同時保持文件系統及數據的一致性」模式。採用這種方式,你永遠不再會看到由於非正常關機而存儲在磁碟上的垃圾文件。
3、文件系統的速度:
儘管使用ext3文件系統時,有時在存儲數據時可能要多次寫數據,但是,從總體上看來,ext3比ext2的性能還要好一些。這是因為ext3的日誌功能對磁碟的驅動器讀寫頭進行了優化。所以,文件系統的讀寫性能較之Ext2文件系統並來說,性能並沒有降低。
4、數據轉換
  由ext2文件系統轉換成ext3文件系統非常容易,只要簡單地鍵入兩條命令即可完成整個轉換過程,用戶不用花時間備份、恢復、格式化分區等。用一個ext3文件系統提供的小工具tune2fs,它可以將ext2文件系統輕鬆轉換為ext3日誌文件系統。另外,ext3文件系統可以不經任何更改,而直接載入成為ext2文件系統。
5、多種日誌模式
  Ext3有多種日誌模式,一種工作模式是對所有的文件數據及metadata(定義文件系統中數據的數據,即數據的數據)進行日誌記錄(data=journal模式);另一種工作模式則是只對metadata記錄日誌,而不對數據進行日誌記錄,也即所謂data=ordered或者data=writeback模式。系統管理人員可以根據系統的實際工作要求,在系統的工作速度與文件數據的一致性之間作出選擇。

inode的定義
  inode譯成中文就是索引節點,它用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及群組等。
  二、inode的分類及其具體涵義
  inode分為內存中的inode和文件系統中的inode,為了避免混淆,我們稱前者為VFS inode, 而後者以EXT2為代表,我們稱為Ext2 inode。下面分別對VFS inodee與Ext2 inode做一下簡單的描述:
  1、VFS inode包含文件訪問許可權、屬主、組、大小、生成時間、訪問時間、最後修改時間等信息。它是linux管理文件系統的最基本單位,也是文件系統連接任何子目錄、文件的橋樑。inode結構中的靜態信息取自物理設備上的文件系統,由文件系統指定的函數填寫,它只存在於內存中,可以通過inode緩存訪問。雖然每個文件都有相應的inode結點,但是只有在需要的時候系統才會在內存中為其建立相應的inode數據結構,建立的inode結構將形成一個鏈表,我們可以通過遍歷這個鏈表去得到我們需要的文件結點,VFS也為已分配的inode構造緩存和哈希表,以提 高系統性能。inode結構中的struct inode_operations *i_op為我們提供了一個inode操作列表,通過這個列表提供的函數我們可以對VFS inode結點進行各種操作。每個inode結構都有一個i結點號i_ino,在同一個文件系統中每個i結點號是唯一的。

  2、EXT2 inode用來定義文件系統的結構以及描述系統中每個文件的管理信息,每個文件都有且只有一個inode,即使文件中沒有數據,其索引結點也是存在的。每個文件用一個單獨的Ext2 inode結構來描述,而且每一個inode都有唯一的標誌號。Ext2 inode為內存中的inode結構提供了文件的基本信息,隨著內存中inode結構的變化,系統也將更新Ext2 inode中相應的內容。Ext2 inode對應的是Ext2_inode結構。

讀取和修改一個文件的時候:
1、我們首先根據文件名,找到這個文件的Inode-no(節點數)。
2、當我們找到個文件的Inode-no時,就會根據這個number數在inodetable中找到對應的條目
3、現在要我們看一看inodetable中的信息: 從左到右依次是:節點數、文件類型、文件的許可權、硬鏈接數、用戶ID、組ID、文件的大小、時間戳記, 最後為指向硬碟上存放數據的數據塊的指針。

參考:
http://space.itpub.net/519536/viewspace-591175

抱歉!評論已關閉.