<b>3.2.3</b><b> </b><b>提供日志式檔案系統能力</b><b></b>
<b> </b><b>在以後的章節中會講到Linux核心會涉及到cache與buffer以提高讀取磁盤的效率。但cache/buffer卻會導緻一些很嚴重的問題,尤其在RHEL非正常關機時。</b><b></b>
<b> </b><b>在RHEL開機時,會執行fsck以檢查并修複“髒”(dirty)的檔案系統,完成後才會挂載所有需要挂載的檔案系統。RHEL在前一次關機時未能解除安裝所有的檔案系統會造成這些檔案系統的配置全部标注為“髒” 。RHEL在開機時,就得花許多時間來檢查與修複檔案系統。明白了:非正常關機的壞處了吧!其實遠遠不止這些……</b><b></b>
<b> </b><b>對于個人或家用來說,大不了放着,你慢慢的檢查修複吧。但是對企業呢?這可是很嚴重的問題!!!</b><b></b>
<b> </b><b>為了引起大家的重視,我們就一起來看看吧!</b><b></b>
<b> </b><b>如果證券交易所安裝了RHEL,然而在今天早上發生了不正常關機的情況,那麼RHEL可能得花上一整個上午的時間來修複數百GB甚至上TB的檔案系統,所有股票買賣人可能會怎樣???你說嚴重不???</b><b></b>
<b> </b><b>為了解決此問題,日志檔案系統就應運而生了!</b><b></b>
<b> </b><b>日</b><b>志檔案系統的解決之道!!!</b><b></b>
<b> </b><b>上述問題最大的元兇就是:cache/buffer 。cache/buffer是存放在記憶體中,是以系統發生不正常關機時,這些在cache/buffer的資料就來不及存回磁盤中;于是造成了某些檔案系統上的資料毀損。</b><b></b>
<b> </b><b>日志式檔案系統,則把cache/buffer記錄在磁盤中。利用磁盤中某些特殊的扇區存放cache/buffer資料。當資料寫入到記憶體的cache/buffer時,具備日志功能的檔案系統就會立即把cache/buffer的資料同步寫入磁盤中的那引起特殊扇區。這個提供日志功能的扇區,稱之為日志區塊。</b><b></b>
<b> </b><b>就算系統不正常關機,在下次啟動時,fsck隻要發現檔案系統是具備日志功能的,就會利用日志區塊中儲存的資料直接複原成為當機那一刹那的cache/buffer!</b><b></b>
<b>這樣就縮短了fsck檢查與修複檔案系統的時間了。</b><b></b>
<b>ext3</b><b>就是一個提供日志功能的檔案系統。</b><b></b>
<b>思考:關于ext3檔案系統方面的知識,上網google、daidu吧!</b><b></b>
<b>3.2.4</b><b> </b><b>産生ext3檔案系統</b><b></b>
<b> </b><b>為何才能産生ext3檔案系統呢?有2種方式:</b><b></b>
<b> </b><b>⑴ 建立ext3檔案系統</b><b></b>
<b> </b><b>⑵ 從ext</b><b>2更新</b>
<b> </b><b>下面來看看:</b><b></b>
<b> </b><b>⑴ </b><b>建立ext3檔案系統</b><b></b>
<b> </b><b>使用</b><b>mkfs</b><b>指令:</b><b></b>
<b> </b><b>mkfs -t ext3 device</b><b></b>
<b> mkfs.ext3 [options…] device</b><b></b>
<b> </b><b>由于ext3完全相容ext2檔案系統,是以mkfs.ext3也支援“mkfs與mkfs.ext2常用參數表”及下表所示的參數:</b>
<b> </b> <b>mkfs.ext3</b><b>常用參數</b>
<b>參數</b>
<b>說明</b>
<b>-J journal_options</b>
<b>指定ext3的日志功能細節</b>
<b>-R raid_options</b>
<b>指定與磁盤陣列有關的參數</b>
<b>溫馨提醒:建立ext3檔案系統後,原本檔案系統上的所有檔案資料都将全部被清除,故,若采用建立方式産生ext3檔案系統,先備份所有資料!</b>
<b>⑵ 從ext2更新</b>
<b>從ext2更新成為ext3不會破壞原本檔案系統上的内容。</b>
<b>從ext2更新成為ext3,必須使用tune2fs工具:</b>
<b> tune2fs -j device</b>
<b>Device : </b><b>是ext2檔案系統的裝置檔案名稱。</b>
<b>下面來看看執行個體吧:</b>
<b></b>
<b>/dev/hda8檔案系統是ext2 。</b>
<b>② </b>
<b>③ </b>
<b>④ </b>
<b> </b>
<b>① </b><b>再解除安裝/dev/hda8成功了。</b><b></b>
<b>② </b><b>把/dev/hda</b><b>8更新成為ext3 。</b>
<b><b>③</b> </b><b>把/dev/hda8 再次挂載到/mnt/tmp/目錄。</b><b>注:因為尚未更新/etc/fstab中的設定值,避免mount指令</b><b>從/etc/fstab決定/dev/hda8的檔案系統類型,故必須特别</b><b>指定/dev/hda8是一個ext3的檔案系統。</b><b></b>
<b>④ 檢查一下,/dev/hda8是否以ext3的方式挂載的。</b>
<b>⑤ </b><b>檢視可知,原來的檔案都還在,完全沒有破壞。</b><b></b>
<b> </b><b> </b><b>将ext2檔案系統更新成為ext3時,必須注意2件事:</b><b></b>
<b>⑴ 别忘記修改/etc/fstab的設定。</b>
[root@RHEL5 ~]#mkinitrd /boot/initrd -$ (uname) $ (uname -r)
本文轉自
beyondhedefang 51CTO部落格,原文連結:http://blog.51cto.com/beyondhdf/258768 ,如需轉載請自行聯系原作者