新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux環(huán)境中使用Ext3文件系統(tǒng)

        Linux環(huán)境中使用Ext3文件系統(tǒng)

        作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        缺省情況下使用的文件系統(tǒng)為Ext2,ext2文件系統(tǒng)的確高效穩(wěn)定。但是,隨著系統(tǒng)在關(guān)鍵業(yè)務(wù)中的應(yīng)用,文件系統(tǒng)的弱點也漸漸顯露出來了;其中系統(tǒng)缺省使用的ext2文件系統(tǒng)是非日志文件系統(tǒng)。這在關(guān)鍵行業(yè)的應(yīng)用是一個致命的弱 點。本文向各位介紹Linux下使用ext3日志文件系統(tǒng)應(yīng)用。

        本文引用地址:http://www.104case.com/article/201609/304100.htm

        是直接從Ext2文件系統(tǒng)發(fā)展而來,目前ext3文件系統(tǒng)已經(jīng)非常穩(wěn)定可靠。它完全兼容ext2文件系統(tǒng)。用戶可以平滑地過渡到一個日志功能健全的文件系統(tǒng)中來。這實際上了也是ext3日志文件系統(tǒng)初始設(shè)計的初衷。

        一、Ext3日志文件系統(tǒng)的特點

        1、高可用性

        系統(tǒng)使用了ext3文件系統(tǒng)后,即使在非正常關(guān)機后,系統(tǒng)也不需要檢查文件系統(tǒng)。宕機發(fā)生后,恢復(fù)ext3文件系統(tǒng)的時間只要數(shù)十秒鐘。

        2、數(shù)據(jù)的完整性:

        ext3文件系統(tǒng)能夠極大地提高文件系統(tǒng)的完整性,避免了意外宕機對文件系統(tǒng)的破壞。在保證數(shù)據(jù)完整性方面,ext3文件系統(tǒng)有2種模式可供選擇。其中之一就是“同時保持文件系統(tǒng)及數(shù)據(jù)的一致性”模式。采用這種方式,你永遠不再會看到由于非正常關(guān)機而存儲在磁盤上的垃圾文件。

        3、文件系統(tǒng)的速度:

        盡管使用ext3文件系統(tǒng)時,有時在存儲數(shù)據(jù)時可能要多次寫數(shù)據(jù),但是,從總體上看來,ext3比ext2的性能還要好一些。這是因為ext3的日志功能對磁盤的驅(qū)動器讀寫頭進行了優(yōu)化。所以,文件系統(tǒng)的讀寫性能較之Ext2文件系統(tǒng)并來說,性能并沒有降低。

        4、數(shù)據(jù)轉(zhuǎn)換

        由ext2文件系統(tǒng)轉(zhuǎn)換成ext3文件系統(tǒng)非常容易,只要簡單地鍵入兩條命令即可完成整個轉(zhuǎn)換過程,用戶不用花時間備份、恢復(fù)、格式化分區(qū)等。用一個ext3文件系統(tǒng)提供的小工具tune2fs,它可以將ext2文件系統(tǒng)輕松轉(zhuǎn)換為ext3日志文件系統(tǒng)。另外,ext3文件系統(tǒng)可以不經(jīng)任何更改,而直接加載成為ext2文件系統(tǒng)。

        5、多種日志模式

        Ext3有多種日志模式,一種工作模式是對所有的文件數(shù)據(jù)及metadata(定義文件系統(tǒng)中數(shù)據(jù)的數(shù)據(jù),即數(shù)據(jù)的數(shù)據(jù))進行日志記錄(data=journal模式);另一種工作模式則是只對metadata記錄日志,而不對數(shù)據(jù)進行日志記錄,也即所謂data=ordered或者data=writeback模式。系統(tǒng)管理人員可以根據(jù)系統(tǒng)的實際工作要求,在系統(tǒng)的工作速度與文件數(shù)據(jù)的一致性之間作出選擇。

        二、使用

        1.下載與編譯核心

        對核心打補丁,補丁下載地址:之后運行:

        #make menuconfig

        在Filesystem菜單中,會多出以下選項,選擇內(nèi)核支持

        *> Ext3 journalling file system support (EXPERIMENTAL)

        JBD (ext3) debugging support

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

        #make bzImage

        #make module

        #make module_install

        #make install

        內(nèi)核編譯安裝完成。使用新的內(nèi)核啟動系統(tǒng)后,就可以創(chuàng)建ext3文件系統(tǒng)了。

        2.實際使用Ext3文件系統(tǒng)

        創(chuàng)建新的ext3文件系統(tǒng),例如要把磁盤上的hda5分區(qū)格式化ext3文件系統(tǒng),并將日志記錄在/dev/hda1分區(qū),那么操作過程如下:

        [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.

        在創(chuàng)建新的文件系統(tǒng)時,可以看到,ext3文件系統(tǒng)執(zhí)行自動檢測的時間為180天或每第31次被mount時,實際上這個參數(shù)可以根據(jù)需要隨意調(diào)節(jié)。

        以下將新的文件系統(tǒng)mount到主分區(qū)ext3目錄下:

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

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

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

        3.將ext2文件系統(tǒng)轉(zhuǎn)換為ext3文件系統(tǒng)

        將linux系統(tǒng)的文件系統(tǒng)由ext2轉(zhuǎn)至ext3,有以下幾處優(yōu)點:第一系統(tǒng)的可用性增強了,第二數(shù)據(jù)集成度提高,第三啟動速度提高了,第四ext2與ext3文件系統(tǒng)之間相互轉(zhuǎn)換容易。

        以轉(zhuǎn)換文件系統(tǒng)為例,將ext2文件系統(tǒng)轉(zhuǎn)換為ext3文件系統(tǒng),命令如下:

        [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文件系統(tǒng)就轉(zhuǎn)換成了ext3文件系統(tǒng)。注意將ext2文件系統(tǒng)轉(zhuǎn)換為ext3文件系統(tǒng)時,不必要將分區(qū)載下來轉(zhuǎn)換。

        轉(zhuǎn)換完成后,不要忘記將/etc/fstab文件中所對應(yīng)分區(qū)的文件系統(tǒng)由原來的ext2更改為ext3。如果你正在轉(zhuǎn)換的分區(qū)為根分區(qū),你還應(yīng)使用initrd啟動系統(tǒng),運行mkinitrd,確保lilo或grub能正常加載initrd。如果你沒有做以上幾步,那么根在下次啟動時仍然會以ext2文件系統(tǒng)的方式加載。要查看根分區(qū)目前的文件系統(tǒng),可以運行“cat /proc/mounts”查看結(jié)果,有關(guān)對根文件系統(tǒng)的轉(zhuǎn)換,可以從隨ext3軟件包的說明手冊中找到詳細說明

        4.日志的存放位置

        可以將日志放置在另外一個存儲設(shè)備上,例如存放到分區(qū)/dev/hda9。例如要在/dev/hda5上創(chuàng)建一個ext3文件系統(tǒng),并將日志存放在外部設(shè)備/dev/hda9上,則運行以下命令:

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

        5.文件系統(tǒng)修復(fù)

        新的e2fsprogs中的e2fsck支持ext3文件系統(tǒng)。當一個ext3文件系統(tǒng)被破壞時,先卸載該設(shè)備,在用e2fsck修復(fù):


        上一頁 1 2 下一頁

        關(guān)鍵詞: Linux Ext3文件系統(tǒng)

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 互助| 弥勒县| 全州县| 泽州县| 卢龙县| 安宁市| 静安区| 普兰县| 江阴市| 新安县| 西峡县| 巫溪县| 鹤庆县| 柳林县| 盐山县| 天津市| 新竹市| 乐都县| 湟中县| 新津县| 宁乡县| 长岛县| 清徐县| 任丘市| 麻栗坡县| 普安县| 襄城县| 观塘区| 枝江市| 肥西县| 巴青县| 宁都县| 西安市| 柳河县| 徐闻县| 土默特左旗| 凤冈县| 健康| 精河县| 张家口市| 望奎县|