歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

教你在Linux環境中使用Ext3文件系統


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文件系統

1.下載與編譯核心

對核心打補丁,補丁下載地址:http://www.zip.com.au/~akpm/ext3-2.4-0.9.9-249ac9.gz。之後運行:

#make menuconfig

在Filesystem菜單中,會多出以下選項,選擇內核支持Ext3文件系統:

Ext3 journalling file system support (EXPERIMENTAL)

JBD (ext3) debugging support

選擇支持Ext3文件系統,保存核心配置文件,重新編譯核心。

#make bzImage #make module #make module_install #make install

內核編譯安裝完成。使用新的內核啟動系統後,就可以創建ext3文件系統了。

2.實際使用Ext3文件系統

創建新的ext3文件系統,例如要把磁盤上的hda5分區格式化ext3文件系統,並將日志記錄在/dev/hda1分區,那麼操作過程如下:

[root@test /sbin]# ./mke2fs -j /dev/sda5 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到主分區ext3目錄下:

#[root@test /sbin]# mount -t ext3 /dev/sda5 /ext3

說明:以上將已格式化為ext3文件系統的/dev/sda5分區加載到/ext3目錄下。

ext3 基於ext2 的代碼,它的磁盤格式和 ext2 的相同;這意味著,一個干淨卸裝的 ext3 文件系統可以作為 ext2 文件系統重新掛裝。Ext3文件系統仍然能被加載成ext2文件系統來使用,你可以把一個文件系統在ext3和ext2自由切換。這時在ext2文件系統上的ext3日志文件仍然存在,只是ext2不能認出日志而已。

3.將ext2文件系統轉換為ext3文件系統

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

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

[root@test /sbin]# ./tune2fs -j /dev/sda6 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。如果你正在轉換的分區為根分區,你還應使用initrd啟動系統,運行mkinitrd,確保lilo或grub能正常加載initrd。如果你沒有做以上幾步,那麼根在下次啟動時仍然會以ext2文件系統的方式加載。要查看根分區目前的文件系統,可以運行“cat /proc/mounts”查看結果,有關對根文件系統的轉換,可以從隨ext3軟件包的說明手冊中找到詳細說明

4.日志的存放位置

可以將日志放置在另外一個存儲設備上,例如存放到分區/dev/hda9。例如要在/dev/hda5上創建一個ext3文件系統,並將日志存放在外部設備/dev/hda9上,則運行以下命令:

#mke2fs -J device=/dev/hda9 /dev/hda5

5.文件系統修復

新的e2fsprogs中的e2fsck支持ext3文件系統。當一個ext3文件系統被破壞時,先卸載該設備,在用e2fsck修復:

#umount /dev/hda6

#e2fsck -fy /dev/hda6

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

Copyright © Linux教程網 All Rights Reserved