Linux ext2/ext3檔案系統詳解

來源:互聯網
上載者:User

Linux 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模式。系統管理人員可以根據系統的實際工作要求,在系統的工作速度與檔案資料的一致性之間作出選擇。

實際使用Ext3檔案系統

建立新的ext3檔案系統,例如要把磁碟上的hda8分區格式化ext3檔案系統,並將日誌記錄在/dev/hda1分區,那麼操作過程如下:

[root@stationxx root]# mke2fs -j /dev/hda8 
mke2fs 1.24a (02-Sep-2001) 
Filesystem label= 
OS type: Linux 
Block size=1024 (log=0) 
.. .. .. 
Creating journal (8192 blocks): done 
Writing superblocks and filesystem accounting information: done 
This filesystem will be automatically checked every 30 mounts or 
180 days, whichever comes first. Use tune2fs -c or -i to override.

在建立新的檔案系統時,可以看到,ext3檔案系統執行自動檢測的時間為180天或每第31次被mount時,實際上這個參數可以根據需要隨意調節。

以下將新的檔案系統mount到主要磁碟分割/data目錄下:

[root@stionxx root]# mount -t ext3 /dev/hda8 /data

說明:以上將已格式化為ext3檔案系統的/dev/hda8分區載入到/data目錄下。

ext3 基於ext2 的代碼,它的磁碟格式和 ext2 的相同;這意味著,一個乾淨卸裝的 ext3 檔案系統可以作為 ext2 檔案系統重新掛裝。Ext3檔案系統仍然能被載入成ext2檔案系統來使用,你可以把一個檔案系統在ext3和ext2自由切換。

這時在ext2檔案系統上的ext3記錄檔仍然存在,只是ext2不能認出日誌而已。

將ext2檔案系統轉換為ext3檔案系統

將linux系統的檔案系統由ext2轉至ext3,有以下幾處優點:第一系統的可用性增強了,第二Data Integration度提高,第三啟動速度提高了,第四ext2與ext3檔案系統之間相互轉換容易。

以轉換檔系統為例,將ext2檔案系統轉換為ext3檔案系統,命令如下:

[root@stationxx root]# tune2fs -j /dev/hda9 
tune2fs 1.24a (02-Sep-2001) 
Creating journal inode: done 
This filesystem will be automatically checked every 31 mounts or 
180 days, whichever comes first. Use tune2fs -c or -i to override.

這樣,原來的ext2檔案系統就轉換成了ext3檔案系統。注意將ext2檔案系統轉換為ext3檔案系統時,不必要將分區缷載下來轉換。

轉換完成後,不要忘記將/etc/fstab檔案中所對應分區的檔案系統由原來的ext2更改為ext3。

ext3日誌的存放位置

可以將日誌放置在另外一個存放裝置上,例如存放到分區/dev/hda8。例如要在/dev/hda8上建立一個ext3檔案系統,並將日誌存放在外部裝置/dev/hda2上,則運行以下命令:

[root @stationxx root]#mke2fs -J device=/dev/hda8 /dev/hda2

ext3檔案系統修複

新的e2fsprogs中的e2fsck支援ext3檔案系統。當一個ext3檔案系統被破壞時,先卸載該裝置,再用e2fsck修複:

[root @stationxx root] # umount /dev/hda8

[root @stationxx root] #e2fsck -fy /dev/hda8

總而言之,ext3記錄檔系統是目前linux系統由ext2檔案系統過度到記錄檔系統最為簡單的一種選擇,實現方式也最為簡潔。由於是直接從ext2檔案系統發展而來,系統由ext2檔案系統過渡到ext3記錄檔系統升級過程平滑,可以最大限度地保證系統資料的安全性。目前linux系統要使用記錄檔系統,最保險的方式就是選擇ext3檔案系統。

註:本文連結自http://www.blueidea.com/computer/system/2008/5536.asp

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.