Linux環(huán)境中使用Ext3文件系統
Linux缺省情況下使用的文件系統為Ext2,ext2文件系統的確高效穩定。但是,隨著(zhù)Linux系統在關(guān)鍵業(yè)務(wù)中的應用,Linux文件系統的弱點(diǎn)也漸漸顯露出來(lái)了;其中系統缺省使用的ext2文件系統是非日志文件系統。這在關(guān)鍵行業(yè)的應用是一個(gè)致命的弱 點(diǎn)。本文向各位介紹Linux下使用ext3日志文件系統應用。
本文引用地址:http://dyxdggzs.com/article/201609/304100.htmExt3文件系統是直接從Ext2文件系統發(fā)展而來(lái),目前ext3文件系統已經(jīng)非常穩定可靠。它完全兼容ext2文件系統。用戶(hù)可以平滑地過(guò)渡到一個(gè)日志功能健全的文件系統中來(lái)。這實(shí)際上了也是ext3日志文件系統初始設計的初衷。
一、Ext3日志文件系統的特點(diǎn)
1、高可用性
系統使用了ext3文件系統后,即使在非正常關(guān)機后,系統也不需要檢查文件系統。宕機發(fā)生后,恢復ext3文件系統的時(shí)間只要數十秒鐘。
2、數據的完整性:
ext3文件系統能夠極大地提高文件系統的完整性,避免了意外宕機對文件系統的破壞。在保證數據完整性方面,ext3文件系統有2種模式可供選擇。其中之一就是“同時(shí)保持文件系統及數據的一致性”模式。采用這種方式,你永遠不再會(huì )看到由于非正常關(guān)機而存儲在磁盤(pán)上的垃圾文件。
3、文件系統的速度:
盡管使用ext3文件系統時(shí),有時(shí)在存儲數據時(shí)可能要多次寫(xiě)數據,但是,從總體上看來(lái),ext3比ext2的性能還要好一些。這是因為ext3的日志功能對磁盤(pán)的驅動(dòng)器讀寫(xiě)頭進(jìn)行了優(yōu)化。所以,文件系統的讀寫(xiě)性能較之Ext2文件系統并來(lái)說(shuō),性能并沒(méi)有降低。
4、數據轉換
由ext2文件系統轉換成ext3文件系統非常容易,只要簡(jiǎn)單地鍵入兩條命令即可完成整個(gè)轉換過(guò)程,用戶(hù)不用花時(shí)間備份、恢復、格式化分區等。用一個(gè)ext3文件系統提供的小工具tune2fs,它可以將ext2文件系統輕松轉換為ext3日志文件系統。另外,ext3文件系統可以不經(jīng)任何更改,而直接加載成為ext2文件系統。
5、多種日志模式
Ext3有多種日志模式,一種工作模式是對所有的文件數據及metadata(定義文件系統中數據的數據,即數據的數據)進(jìn)行日志記錄(data=journal模式);另一種工作模式則是只對metadata記錄日志,而不對數據進(jìn)行日志記錄,也即所謂data=ordered或者data=writeback模式。系統管理人員可以根據系統的實(shí)際工作要求,在系統的工作速度與文件數據的一致性之間作出選擇。
二、使用Ext3文件系統
1.下載與編譯核心
對核心打補丁,補丁下載地址:之后運行:
#make menuconfig
在Filesystem菜單中,會(huì )多出以下選項,選擇內核支持Ext3文件系統:
*> Ext3 journalling file system support (EXPERIMENTAL)
JBD (ext3) debugging support
選擇支持Ext3文件系統,保存核心配置文件,重新編譯核心。
#make bzImage
#make module
#make module_install
#make install
內核編譯安裝完成。使用新的內核啟動(dòng)系統后,就可以創(chuàng )建ext3文件系統了。
2.實(shí)際使用Ext3文件系統
創(chuàng )建新的ext3文件系統,例如要把磁盤(pán)上的hda5分區格式化ext3文件系統,并將日志記錄在/dev/hda1分區,那么操作過(guò)程如下:
[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 )建新的文件系統時(shí),可以看到,ext3文件系統執行自動(dòng)檢測的時(shí)間為180天或每第31次被mount時(shí),實(shí)際上這個(gè)參數可以根據需要隨意調節。
以下將新的文件系統mount到主分區ext3目錄下:
#[root@test /sbin]# mount -t ext3 /dev/sda5 /ext3
說(shuō)明:以上將已格式化為ext3文件系統的/dev/sda5分區加載到/ext3目錄下。
ext3 基于ext2 的代碼,它的磁盤(pán)格式和 ext2 的相同;這意味著(zhù),一個(gè)干凈卸裝的 ext3 文件系統可以作為 ext2 文件系統重新掛裝。Ext3文件系統仍然能被加載成ext2文件系統來(lái)使用,你可以把一個(gè)文件系統在ext3和ext2自由切換。這時(shí)在ext2文件系統上的ext3日志文件仍然存在,只是ext2不能認出日志而已。
3.將ext2文件系統轉換為ext3文件系統
將linux系統的文件系統由ext2轉至ext3,有以下幾處優(yōu)點(diǎn):第一系統的可用性增強了,第二數據集成度提高,第三啟動(dòng)速度提高了,第四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.
這樣,原來(lái)的ext2文件系統就轉換成了ext3文件系統。注意將ext2文件系統轉換為ext3文件系統時(shí),不必要將分區載下來(lái)轉換。
轉換完成后,不要忘記將/etc/fstab文件中所對應分區的文件系統由原來(lái)的ext2更改為ext3。如果你正在轉換的分區為根分區,你還應使用initrd啟動(dòng)系統,運行mkinitrd,確保lilo或grub能正常加載initrd。如果你沒(méi)有做以上幾步,那么根在下次啟動(dòng)時(shí)仍然會(huì )以ext2文件系統的方式加載。要查看根分區目前的文件系統,可以運行“cat /proc/mounts”查看結果,有關(guān)對根文件系統的轉換,可以從隨ext3軟件包的說(shuō)明手冊中找到詳細說(shuō)明
4.日志的存放位置
可以將日志放置在另外一個(gè)存儲設備上,例如存放到分區/dev/hda9。例如要在/dev/hda5上創(chuàng )建一個(gè)ext3文件系統,并將日志存放在外部設備/dev/hda9上,則運行以下命令:
#mke2fs -J device=/dev/hda9 /dev/hda5
5.文件系統修復
新的e2fsprogs中的e2fsck支持ext3文件系統。當一個(gè)ext3文件系統被破壞時(shí),先卸載該設備,在用e2fsck修復:
評論