亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>論文大全>學科論文>計算機論文>

      淺析在RedHat中使用ReiserFS文件系統(tǒng)論文

      時間: 謝樺657 分享

        日志文件(Log files)是包含系統(tǒng)消息的文件,包括內核、服務、在系統(tǒng)上運行的應用程序等。不同的日志文件記載不同的信息。日志文件系統(tǒng)比傳統(tǒng)的文件系統(tǒng)安全,因為它用獨立的日志文件跟蹤磁盤內容的變化。以下是學習啦小編今天為大家精心準備的:淺析在RedHat中使用ReiserFS文件系統(tǒng)相關論文,內容僅供參考,歡迎閱讀!

        淺析在RedHat中使用ReiserFS文件系統(tǒng)全文如下:

        一、日志式文件系統(tǒng)簡介

        盡管Linux可以支持種類繁多的文件系統(tǒng),但是幾乎所有的Linux發(fā)行版都用ext2作為默認的文件系統(tǒng)。ext2的設計者主要考慮的是文件系統(tǒng)性能方面的問題。ext2在寫入文件內容的同時并沒有同時寫入文件的meta-data(和文件有關的信息,例如:權限、所有者以及創(chuàng)建和訪問時間)。換句話說,Linux先寫入文件的內容,然后等到有空的時候才寫入文件的meta-data。這樣若出現(xiàn)寫入文件內容之后但在寫入文件的meta-data之前系統(tǒng)突然斷電,就可能造成在文件系統(tǒng)就會處于不一致的狀態(tài)。在一個有大量文件操作的系統(tǒng)中出現(xiàn)這種情況會導致很嚴重的后果。因此就導致了新的日志式文件系統(tǒng)的出現(xiàn)以解決這個問題。日志文件系統(tǒng)比傳統(tǒng)的文件系統(tǒng)安全,因為它用獨立的日志文件跟蹤磁盤內容的變化。就像關系型數(shù)據(jù)庫(RDBMS),日志文件系統(tǒng)可以用事務處理的方式,提交或撤消文件系統(tǒng)的變化。Linux系統(tǒng)缺少日志式文件系統(tǒng)是限制推廣其在企業(yè)級應用的一個重要制約因素。因此就出現(xiàn)了多種不同的日志式文件系統(tǒng),當前l(fā)inux環(huán)境下有下面幾種日志文件可供選擇:

        SGI的xfs日志文件系統(tǒng),SGI的xfs是基于Irix(SGI的Unix)上已經實現(xiàn)的xfs。SGI已經宣布xfs為Open Source的軟件。

        Veritas的文件系統(tǒng)和卷管理(volume manager)。

        Reiserfs:Reiserfs應用了一些新的技術,例如,統(tǒng)一名字空間(unified name space)有一些Linux的發(fā)行版已經包括了reiserfs文件系統(tǒng),作為安裝時的可選項。SuSE 6.4 就很容易使用reiserfs文件系統(tǒng)。reiserfs的最新版是ReiserFS 3.6.25,經過測試reiserfs的基準測試的結果是非常令人滿意的。

        IBM的jfs。這兩文件系統(tǒng)都遵循開放源碼版權聲明,且的而且很多有天賦的人在開發(fā)這兩個文件系統(tǒng)。jfs(Journaled File System Technology for Linux)的開發(fā)者包括AIX(IBM的Unix)的jfs的主要開發(fā)者。在AIX上,jfs已經經受住了考驗。它是可靠、快速和容易使用的。

        日志文件系統(tǒng)的另一個選擇是ext2的后繼者ext3fs文件系統(tǒng)。ext3fs文件系統(tǒng)正在Linux內核黑客Stephen Tweedie的領導下開發(fā)。ext3fs還處于beta測試階段,就像reiserfs和jfs,但是它工作得很好。Stephen預計2000年夏天可以正式發(fā)布ext3fs。ext3fs最大的優(yōu)點是向下兼容ext2。而且ext3fs還支持異步的日志,這意味著它的性能可能還比ext2好。

        在上面提到的日志式文件系統(tǒng)中,ReiserFS是目前Linux環(huán)境下最成熟的一種。而IBM的JFS和SGI的XFS則相對于來說要年輕一些,ext3文件系統(tǒng)則仍然需要開發(fā)。因此我們這里選擇ReiserFS。

        二、 為什么叫日志式?

        日志式文件系統(tǒng)在強調數(shù)據(jù)完整性的企業(yè)級服務器中有著重要的需求,是文件系統(tǒng)發(fā)展的方向。日志式文件系統(tǒng)的思想來自于如Oracle等大型數(shù)據(jù)庫。數(shù)據(jù)庫操作往往是由多個相關的、相互依賴的子操作組成,任何一個子操作的失敗都意味著整個操作的無效性,對數(shù)據(jù)庫數(shù)據(jù)的任何修改都要回復到操作以前的狀態(tài)。日志式文件系統(tǒng)采用了類似的技術。

        在分區(qū)中保存有一個日志記錄文件,文件系統(tǒng)寫操作首先是對記錄文件進行操作,若整個寫操作由于某種原因(如系統(tǒng)掉電)而中斷,則在下次系統(tǒng)啟動時就會讀日志記錄文件的內容來恢復沒有完成的寫操作。而這個過程一般只需要幾秒鐘到幾分鐘,而不是ext2文件系統(tǒng)的fsck那樣在大型服務器情況下可能需要幾個小時來完成掃描。

        對日志式文件系統(tǒng)原理的一個更詳細的描述可以參考Journal File Systems

        三、獲得ReiserFS

        Kernel 2.4.1已經包含了ReiserFS的代碼,但是最好使用包含了最新的ReiserFS 3.6.25的kernel 2.4.3,若你不是使用kernel 2.4.3,建議你使用這個版本的ReiserFS。本文將使用kernel 2.4.3來作為示例。

        對于Kernel 2.4.2則需要打補丁:

        # cd /usr/src/linux

        # zcat linux-2.4.2-reiserfs-20010327.patch.gz   patch -p1

        對于2.2版本的內核:

        # bzip2 -dc linux-2.2.18-reiserfs-3.5.32-patch.bz2   patch -p1

        在make config階段需要對"prompt for development and/or incomplete code/drivers"回答Yes。否則系統(tǒng)就不會詢問關于ReiserFS的選項;在編譯內核的文件系統(tǒng)參數(shù)部分,應該選擇支持ReiserFS。若你不希望將root(/)安裝在ReiserFS文件系統(tǒng)下,則只需要將對ReiserFS的支持編譯為模塊即可。本文將討論將root安裝在ReiserFS之上的情況。

        四、編譯內核和模塊

        注:如果你使用的是RedHat7.0,那么就需要首先邊際Makefile并將其中所有的gcc替換為kgcc。首先需要從redhat7.0安裝光盤上安裝kgcc,若沒有采取這一步,那么得到的內核將會顯示kernel panics信息。Redhat7.0帶的gcc2.96有很多的bug。所有的內核編譯都應該使用kgcc來完成。

        gcc vs. kgcc:

        Linux 之父 Linus Torvalds 日前在 Linux核心郵件論壇中,表明了他對 Red Hat 7.0 的看法:『基本上不堪使用』。 節(jié)錄這封信的內容重點:『坦白地說,任何使用 Red Hat 7.0 和他們那壞掉的編譯器都會遇到麻煩?!弧何也恢罏楹?Red Hat 選擇釋出那愚蠢的 gcc-2.96(一定通過沒有任何 gcc 技術人員的批準 - gcc 人員對此也很生氣),而且更令我驚訝的是他們顯然已經知道他們用的這個編譯器是壞的。他們包進了另一個好的編譯器,叫它作 kgcc?!?『kgcc 意思是核心 gcc,顯然因為 (a) 他們了解到核心編譯錯誤比某些應用程序編譯錯誤來得糟糕,和 (b)...』 『... 我認為 Red Hat 7.0 基本上并非一個可用的開發(fā)平臺,而且我希望 Red Hat 將他們的編譯器降級...』 Red Hat 執(zhí)行長 Matthew Szulik 對 Linus Torvalds 這番話的反應是:他不是真正能回應 Linus 這項挑戰(zhàn)的人選,而且他表示 Red Hat 也預料到會遭受這樣的譴責。

        Red Hat 7.0 備受爭議的關鍵在于其中包含了 gcc 發(fā)展分支中的一個非正式的版本 gcc 2.96,gcc 小組曾表示『gcc 2.96 并非 gcc 正式版本』、『而且將來也不會有這個版本』,它只是在到達 gcc 3.0 路上的一站。 Red Hat 技術長 Michael Tiemann 最近曾為 Red Hat 7.0 使用 gcc 2.96 的決定作出辯護,他表示:『沒有技術上更好的決策』、『因為其他的選擇不會比較好 - 對 Red Hat 系列這樣復雜的需求而言 - 比起走回頭路,這項決定還能推動 gcc 3.0 的發(fā)展?!?Tiemann 還說,若批評者的矛頭想要找個目標,對使用 gcc 2.96 的決定『你也可以怪我』。)

        下面我們將編譯ReiserFS工具,相應的代碼是存放在/usr/src/linux/fs/reiserfs/utils目錄中的,首先make編譯程序,然后再make install來安裝程序。2.4內核中并沒有包括這些工具,而需要另外下載。從這里可以下載。

        解壓文件:

        # tar zxvf reiserfsprogs-3.x.0j.tar.gz

        # cd reiserfsprogs-3.x.0j

        # ./configure

        # make

        # make install

        不幸的是,并沒有ext2toreiserfs之類的轉換工具,因此將/從ext2轉換為reiserfs就需要三步才能完成:

        1.創(chuàng)建一個新的分區(qū),并格式化為ReiserFS格式。

        12.將數(shù)據(jù)從ext2分區(qū)拷貝到新分區(qū)。

        13.將新分區(qū)加載為根(/)

        創(chuàng)建新分區(qū),ReiserFS并不需要一個特定的分區(qū)類型,因此就使用83(Linux):

        # fdisk -l /dev/hda

        /dev/hda9 2872 3126 2048256 83 Linux

        /dev/hda10 3127 3381 2048256 83 Linux

        在新分區(qū)上創(chuàng)建ReiserFS文件系統(tǒng):

        # mkreiserfs /dev/hda10

        加載新的分區(qū):

        # mount -t reiserfs /dev/hda10 /mnt/hda10

        拷貝數(shù)據(jù)到新分區(qū):

        # cd /mnt/hda10

        # tar cvlf - /   tar xf -

        編輯fstab來指向新的root:

        /dev/hda10/reiserfs defaults 1 1

        創(chuàng)建指向reiserfsck的一個符號鏈接因為RedHat啟動時將尋找fsck.reiserfs文件來掃描:

        # ln -s /sbin/reiserfsck/sbin/fsck.reiserfs

        保證系統(tǒng)lilo至少為21.6。這是第一個支持ReiserFS的版本,也可以在/boot目錄中使用小容量的ext2文件系統(tǒng)。但是升級lilo更好一些。也推薦使用GRUB來實現(xiàn)引導。

        當在lilo.conf中使用新的內核時需要運行l(wèi)ilo程序。其中l(wèi)ilo.conf中需要將root指向新的內核所在分區(qū)。

      淺析在RedHat中使用ReiserFS文件系統(tǒng)論文

      日志文件(Log files)是包含系統(tǒng)消息的文件,包括內核、服務、在系統(tǒng)上運行的應用程序等。不同的日志文件記載不同的信息。日志文件系統(tǒng)比傳統(tǒng)的文件系統(tǒng)安全,因為它用獨立的日志文件跟蹤磁盤內容的變化。以下是學習啦小編今天為大家精心
      推薦度:
      點擊下載文檔文檔為doc格式
      391856